核心优势
- 会话生命周期管理:统一完成归档、归档视图、恢复、收藏和标题跳转,减少在长会话列表中的重复查找。
- 多标签组织:为一个 Session 添加多个标签,复用已有标签,并按标题、路径或标签检索。
- 严格标签关系图:仅以完全相同的标签建立“标签—会话”连接;归档和无标签会话不进入图谱,避免无依据的关系推断。
- 安全删除:永久删除要求会话已经归档、停止运行并完成二次确认;仅清理 Session 内容和关联投影,不删除 MemOS、Agent 记忆、Skill 或模型配置。
- 完整长对话导航:补全当前 Session 的历史窗口,使 DSH 原生 Compact 过程折叠、用户输入轮次标记和右侧 Turn Rail 基于完整轮次渲染。
- 多模型自然标题:改善 GLM 等非 DeepSeek 辅助模型在标题 Token 预算内只输出推理、没有标题正文的问题;普通 Agent 请求不受影响。
界面预览
会话归档与标签管理
集中管理标签、收藏和归档状态。点击会话标题可直接跳转;归档会话可以恢复,符合删除条件后才能永久删除。
标签关系图
标签作为根节点连接包含该标签的未归档会话。图谱支持缩放、拖动画布、重置视图和点击会话节点跳转。
长对话折叠与轮次导航
插件通过 DSH 公开的 Session.loadOlder() 串行加载当前会话的更早历史页。完整历史窗口让原生“工具调用 · 消息”过程区块稳定折叠,并使右侧用户输入轮次标记能够定位到对应输入。
安装
要求已经安装 DeepSeek Harness,并使用 Node.js ^22.19.0 || >=24。
dsh plugin --profile web add github:6jeffr3y/dsh-session-manager#v0.1.0
重启 Web profile 后生效:
dsh web
卸载插件:
dsh plugin --profile web remove dsh-plugin-session-manager
GitHub 安装直接使用 Release 中提交的
lib/,不执行安装期构建脚本。需要固定供应链内容时,可以把版本标签替换为具体 commit SHA。
配置
默认配置位于 cordis.patch.yml:
| 配置项 | 默认值 | 说明 |
|---|---|---|
stateDir |
'' |
插件状态目录;空值使用 $DSH_HOME/session-manager |
improveNonDeepSeekTitles |
true |
为支持该能力的标题模型关闭推理输出 |
autoLoadFullHistory |
true |
自动加载当前会话的更早历史页 |
数据与删除范围
永久删除仅支持已经归档、当前未运行且使用独立 JSONL 制品的 Session。仍由 Host 挂载但已经停止的会话会进入待删除队列,并在下次 DSH 启动、恢复该会话之前完成删除。正在生成回复的会话会被明确拒绝删除。
删除范围包括 Session JSONL、对应的投影缓存、Workspace 成员关系、归档记录以及本插件保存的标签和收藏。插件不会删除:
- MemOS 数据库或
~/.dsh/memos-plugin/ - Agent 记忆与 Skill
- 其他 Session
- 插件与模型配置
- 跨 Session 共享的附件对象
兼容性
当前版本针对 DeepSeek Harness 0.1.2-alpha.1 开发和测试。DSH 仍处于预发布阶段;Workspace 或 Session 内部接口发生变化时,本插件会明确失败,不直接修改未知格式的数据。
本地开发
git clone https://github.com/6jeffr3y/dsh-session-manager.git
cd dsh-session-manager
npm install --ignore-scripts
npm run check
npm run pack:check
安装本地 checkout:
dsh plugin --profile web add link:$PWD
No comments yet. Be the first to write one.