前言¶
在 DeepSeek Harness(DSH)里用智能体做长任务时,主会话往往已经堆了上下文:当前任务、刚改的文件、刚出现的报错。此时若临时想问一句「这个错误什么意思」「这个函数是干什么的」,常见做法只有两种:新开一个会话(要重新讲一遍背景),或在主线程里直接问(问答会写进即将交接的 transcript,还容易把 agent 带偏)。
dsh-assist-chat 提供第三种方式:在右侧 dock 打开一条与当前主会话 fork 出来的旁支对话,旁支继承打开瞬间的全部上下文,且与主线程 transcript 完全隔离。思路与 ZCode 的 side chat 类似——右侧标签页、真实并行会话,而不是模态框,也不占用主区域。
这是什么¶
dsh-assist-chat 是 DSH 的客户端插件(仅 client API,无 host 侧代码、不 patch DSH 本体文件),由维护者 sleep123937 发布,源码与说明见 GitHub 仓库,社区目录页:skillhub.cn/plugins/sleep123937/dsh-assist-chat。插件在会话标题栏提供 Side chat 入口,在右侧 dock 挂载产品自带的 Conversation 界面(流式输出、Markdown、工具卡片、审批、Stop、输入框等与主会话一致),而不是自绘一套聊天 UI。
核心功能¶
下面介绍 README 中已说明、且与实现一致的能力。
分支而非空白会话¶
每次打开 Side chat,都会对当前屏幕上的主会话做一次 fork(sessions.fork),旁支里已有 fork 之前的全部消息,无需从零复述任务背景。
与主线程隔离¶
旁支是独立的 Session、独立的 agent、独立的 transcript;你在旁支里的提问与回答不会写入主会话。主线程在字节级别上保持不变。fork 是快照:旁支不会自动同步你之后在主线程里新发的内容;若需要更新后的上下文,应关闭标签页后重新打开 Side chat。
原生对话表面¶
面板通过 renderFactorySlot("conversation.content", …) 挂载 DSH 内置对话组件(variant: "embedded"),行为与主区域一致。
与会话绑定的生命周期¶
- 每个主会话对应自己的旁支:在看会话 A 时,不会出现会话 B 的 Side chat。
- 标签页打开期间旁支保持(切换标签或折叠 dock 仍存活);关闭标签页后释放并归档旁支。
- 旁支在左侧会话列表中故意隐藏(仍是有写权限的真实 Session);关闭标签后归档。FAQ 说明:若旁支已被归档但标签仍开着,DSH 可能静默拒绝 model step,此时可重新打开标签。
多标签¶
右侧 dock 支持多标签与分屏;每个旁支与其 fork 来源的主会话绑定。
安装与启用¶
插件以当前 DSH 进程权限运行;安装前建议浏览仓库源码与 MIT 许可证。兼容 DeepSeek Harness >= 0.2.0(package.json 中 engines.dsh);README 写明在 0.2.1-rc.3、desktop profile 上测试过。Node 需 >= 20(开发/校验脚本用,普通用户按 DSH 文档使用即可)。
官方安装方式如下(三选一):
# from npm (recommended)
dsh plugin --profile desktop add dsh-assist-chat
# or straight from the repository
dsh plugin --profile desktop add github:sleep123937/dsh-assist-chat
# or point at a local checkout
dsh plugin --profile desktop add link:/absolute/path/to/dsh-assist-chat
若使用浏览器构建,将 --profile desktop 换成 --profile web。安装后需重启 DeepSeek Harness,Side chat 按钮才会出现在会话标题栏。
当前 npm 包版本为 0.1.1(以 package.json 为准)。
典型用法¶
- 在主会话中照常与 agent 协作,积累任务与上下文。
- 点击会话标题栏中的 Side chat 按钮。
- 右侧 dock 打开 Side chat 标签,其中已是当前主会话的 fork 副本。
- 在旁支中提问(例如解释报错、评估某思路是否可行);回答基于 fork 时刻的完整上下文。
- 用完后关闭该标签;主会话 transcript 不受影响。
适用场景与注意¶
适合:长任务中需要临时追问、又不想污染主 transcript 或打断主 agent 流程的 DSH 用户;习惯 ZCode 式右侧辅助对话的开发者。
注意:
- 旁支不会跟踪主线程后续消息;需要新上下文时请关闭后重新打开 Side chat。
- 左侧列表里找不到旁支 Session 是设计行为,不是安装失败。
- 社区目录(skillhub.cn)为独立站点,与 DeepSeek / 幻方无官方从属关系;插件亦非 DSH 官方内置功能,属社区「一切皆插件」生态中的客户端扩展。
问题反馈可通过 GitHub Issues(含 bug / feature 模板),或邮件 zousleep@163.com。
结尾¶
dsh-assist-chat 把「有上下文、又不弄脏主线程」的追问收进右侧 dock:fork 当前会话、独立 Session、原生聊天界面。若你在 DSH desktop 或 web 上需要 Side chat,可按上文命令安装并重启客户端。