DeepSeek Harness (DSH) 采用插件化架构。在实际使用中,常会遇到需要将一个对话中的特定消息提取出来,放入另一个对话继续,或者需要将某个工作区的对话整理归档的情况。dsh-baize-session (Baize) 专门解决这类跨对话上下文迁移与工作区管理问题。
这是一个用于 DeepSeek Harness (DSH) 的插件。它的核心功能是从当前对话中提取消息,并将其移动到另一个对话中(可以是当前工作区的现有对话,也可以是不同工作区的新对话)。同时,它也提供了一个工作区对话管理面板,支持归档、恢复、移动和删除对话。
核心功能¶
- 跨对话移动上下文:支持从当前对话提取消息,追加到新对话或现有对话。
- 跨工作区支持:可以在不同工作区之间移动上下文。
- 对话管理:提供一个工作区面板,管理所有对话(包括归档),支持批量操作。
- 灵活的选择方式:可以在对话列表中勾选,也可以在回复旁的
+按钮直接抓取内容。 - 命名与标识:选择目标对话时显示名称而非 ID;消息行按作者(USER/ASSISTANT/CONTEXT/TOOL)标记。
- Token 预算:在写入前估算 Token 数,超过限制会拒绝写入。
安装¶
通过 npm 安装到 web profile:
dsh plugin --profile web add dsh-baize-session@0.1.2
安装完成后需要重启 DSH 进程以加载插件。
使用方法¶
- 打开任意一个对话。
- 点击聊天视图旁边的 Tidy 标签页。
- 在该面板中,选择目标工作区和目标对话(可以是“New conversation”)。
- 勾选需要迁移的消息行。
- 点击 Relocate 按钮。
注意事项¶
- 消息重写:选中的消息会被重写为一段文本插入到目标对话的开头,而不是作为事件重放。
- 必须选中:如果不做任何选择,插件不会写入任何内容。
- 删除限制:对话必须先归档才能被删除,且已归档的对话无法被移动。
- 无本地状态:插件自身不维护磁盘上的状态文件,所有数据操作均由 DSH 处理。
总结¶
Baize(白泽)寓意通晓万物。对于需要频繁整理上下文、跨工作区复用内容的场景,这个插件提供了一个轻量且可控的方案。更多细节可参考 GitHub 源码:https://github.com/bvcvb/dsh-baize-session