- Startseite
- Plugins
- Sitzungen & Nachrichten
- dsh-session-manager
dsh-session-manager
huajuan2024/dsh-session-manager
Sitzungsverwaltungs-Panel unter Einstellungen → Plugins: listet alle Sitzungen mit Titel, cwd, Agent-Voreinstellung, Aktualisierungszeit, Turns und Steps auf, eine Zeile lässt sich erweitern, um den Nachrichtenverlauf anzuzeigen, nicht laufende Sitzungen lassen sich löschen, und eine Sitzung lässt sich als JSON oder Markdown über eine Browser-Blob-URL exportieren.
Installation
dsh plugin --profile web add github:huajuan2024/dsh-session-managerREADME
dsh-session-manager
DeepSeek Harness (DSH) 插件:在 Web UI 的「设置 → 插件」里提供一个会话管理面板, 支持查看历史消息、删除会话、导出单条会话(JSON 或 Markdown)。
架构
src/index.ts:Cordis Host 服务ctx.sessionManager,通过 rc.7 正式ctx.sessionQuery服务读取会话,负责删除、格式转换,以及 4 个 Remote API (list / readHistory / delete / export)。src/client.ts:Web 客户端插件,通过标准/apiRPC 调用 Host,注册settings.plugins.tabslot,在「设置 → 插件」里渲染会话列表与详情面板。src/types.ts:Host 对浏览器公开的白名单 DTO。lib/:由 TypeScript 生成的发布产物,不要手工修改。
安全模型
- 本插件不向模型请求注入内容,因此不会新增 session event。
- 文件操作只发生在 Host 进程,token 或文件绝对路径不会进入 Remote 返回值。
sessionId必须是裸 UUID 或匹配session-<uuid>,分别兼容新版子代理会话和 传统根会话;其它格式会被拒绝,避免路径穿越。- 正在运行的会话(
running状态)不可删除,需要先结束会话。
功能
- 列出所有已知会话(含 title / cwd / updatedAt / turns / steps / agentPreset)。
- 点击单个会话查看其消息历史。
- 删除单条会话(运行中的会话会被拒绝;删除不可恢复)。
- 导出单条会话为 JSON 或 Markdown,走浏览器 Blob URL 触发下载。
前置要求
- Node.js 22.19 或更高版本
- DeepSeek Harness
0.1.0-rc.7兼容版本
构建
pnpm install
pnpm run typecheck
pnpm run build
pnpm run test
安装
从插件目录生成 tarball:
pnpm pack
dsh plugin --profile web add ../../plugin-releases/dsh-session-manager-0.1.5.tgz
Profile 配置
通过 dsh plugin --profile web add 安装 bundle 后,包内 cordis.patch.yml 提供默认
配置。需要覆盖时,在 ~/.dsh/profiles/web/cordis.patch.yml 中使用同一个 id:
- insert:
- id: sessionManager
name: dsh-session-manager
config:
sessionsRoot: ~/.dsh/sessions
maxExportBytes: 10485760
previewMessageLimit: 200
如果文件当前内容只有 [],必须用上面的列表替换 [],不能把列表追加在 [] 后面。
Harness 的后置 patch 会按 id 替换整份 config,因此覆盖时需要写出希望保留的全部字段。
检查最终组合结果:
dsh --profile web --dump-config
配置项
| 字段 | 默认值 | 说明 |
|---|---|---|
sessionsRoot | ~/.dsh/sessions | DSH 会话存档根目录 |
maxExportBytes | 10485760 | 单次导出的字节上限(10 MiB),超过返回 too-large |
previewMessageLimit | 200 | readHistory 单次返回的最大消息条数 |
验证
启动 Web profile 后检查:
- 「设置 → 插件」tab 中出现「会话管理」面板,列出所有会话。
- 点击行展开,显示消息历史(前 200 条)。
- 删除按钮在 running 会话上不可点击,其它会话二次确认后可删除。
- 导出 JSON / Markdown 触发浏览器下载,文件内容与本地
session.jsonl.zstd解码后内容一致。
故障排查
session-running:会话正在运行中,无法删除;请先结束该会话。not-found:会话目录已不存在,可能已被其他进程清理。invalid-session-id:sessionId 既不是裸 UUID,也不符合session-<uuid>,请求被拒绝。permission-denied:Host 进程没有删除或读取该目录的权限。upstream-error:zstd 解压或 JSONL 解析失败,文件可能损坏。too-large:会话存档超过maxExportBytes,已拒绝导出。
Ähnliche Plugins
dsh-web-ui (dsh-chat-recovery)
zhu1090093659/dsh-web-ui
billion-context
ranxianglei/billion-context
dsh-synapse
liangmianya/dsh-synapse
dsh-chat-import
nwflower/dsh-chat-import