前言¶
在 DeepSeek Harness(DSH)里做长对话时,常见做法是开新会话或从某轮「分支」,主聊天区会不断变长,追问某一条回答的上下文也容易和整段历史混在一起。若希望像 Slack 那样「在某条消息下开一条子讨论」,又不离开当前会话,就需要宿主支持会话分叉,并在界面上提供独立的线程面板。
下面介绍社区插件 DeepSeek Harness Threads(包名 dsh-threads,维护者 LeoAndJellyfish)。它在 DSH Web 界面(含官方桌面端内置 Web)加载,为每一轮已完成的回答提供「回复」入口,在右侧栏展开线程;并支持文字草稿持久化、线程列表导航,以及可选的 Slack 风格消息行。
这是什么¶
DeepSeek Harness Threads 是 DSH 的客户端类插件:声明平台为 web,通过 Cordis patch 注入会话分叉、右侧栏、聊天节点插槽和 Markdown 等宿主能力。Host 侧提供 /dsh-threads/store 路由,把线程索引、草稿和界面偏好写入 $DSH_HOME/dsh-threads/store.json。
与「整页新开一个会话」相比,线程是从锚定那一轮 fork 出的子会话(parentSession 指向主会话),继承到该轮为止的上下文;主界面仍保留原对话流,线程内容主要在右侧「线程」页签中查看与继续。
- 目录页:SkillHub - DeepSeek Harness Threads
- 源码与说明:GitHub - LeoAndJellyfish/DeepSeek-Harness-Threads
- 当前资料中的版本:0.13.9(许可证 MIT)
核心功能¶
独立线程面板¶
- 从任意已完成回答分叉子会话;面板顶部引用被回复的那轮,下方为回复流与输入框。
- 支持归档恢复:子会话在左侧栏被归档后,面板会禁用输入并提示,可一键恢复;草稿保留。
- 工具审批与主界面共用
PendingApproval状态,面板底部出现「允许一次 / 拒绝」卡片。 - 助手回复使用宿主同一套 Markdown 渲染(CommonMark、KaTeX、代码高亮等)。
线程导航与状态¶
- 锚定轮下方常驻「N 条回复」入口;标题栏「线程」按钮打开本会话线程列表(按最近更新排序)。
- 列表与卡片展示回复条数、运行中/未读提示、最后更新时间;页签标题取被回复回答前 18 个字,便于多线程并行。
消息输入与草稿¶
- 文字草稿在 Host 侧持久化,发送成功后清空;浏览器
localStorage仅作同一次运行内的兜底。 - 支持粘贴与拖拽图片(宿主默认:最多 20 张、单张 20 MB;过大图会在浏览器内缩放后以 WebP 发送)。
- 可勾选「同时发到主对话」,线程消息带
[来自线程]前缀写入父会话(会触发父 Agent 回复)。 - 「带回主对话」把线程最后一条回答以引用块写入主对话输入框草稿,不自动发送。
可选 Slack 样式¶
对话标题栏提供 Slack 开关(role="switch")。开启后,user、assistant-step、steering 等节点改为头像 + 作者 + 时间的行样式;支持按天日期分隔、悬停操作条(复制、回复进线程、从该回答分支)、插话折叠行,以及 /goal 命令输入与结果卡片等。可随时切回宿主原生行样式。
与 Slack 概念的对应¶
| Slack | DSH |
|---|---|
| Channel | 会话(Session) |
| 一条消息 | 一轮对话(用户提问 + 助手回答) |
| Thread | 从该轮 fork 的子会话 |
| Thread 面板 | 右侧栏 thread 页签 |
发往线程的消息会带 <dsh-thread> 前缀,告知分叉 Agent 当前在侧边线程;面板展示时会剥除该前缀。
安装与启用¶
插件以当前 DSH 进程权限运行,安装前建议阅读仓库源码与 MIT 许可证。以下命令均来自项目 README。
Web 版(dsh web)¶
固定版本 v0.13.9:
dsh plugin --profile web add github:LeoAndJellyfish/DeepSeek-Harness-Threads#v0.13.9
安装开发分支当前版本:
dsh plugin --profile web add github:LeoAndJellyfish/DeepSeek-Harness-Threads
完成后重启 dsh web 并刷新浏览器。在一轮已完成回答下确认「回复」入口,在对话标题栏确认「线程」按钮及 Slack 样式开关。
官方桌面客户端¶
在桌面端会话中让宿主通过内置 plugin_manager 安装同一 GitHub 来源(README 提供了完整自然语言指令模板,目标版本 #v0.13.9)。桌面端使用 desktop profile;--profile web 仅用于独立 Web 版。按宿主提示重启后检查回复入口。
离线资源包¶
在 Release 下载 dsh-threads-0.13.9.tgz 后,于文件所在目录执行:
dsh plugin --profile web add ./dsh-threads-0.13.9.tgz
也可解压 ZIP,对含 package.json 的目录使用 file: 路径安装。Release 附带 SHA256SUMS 可供校验。
更新与卸载¶
更新时沿用原安装来源与目标版本,优先使用宿主插件管理界面的更新入口。线程与文字草稿位于 $DSH_HOME/dsh-threads/store.json,迁移前可备份。
Web 版卸载:
dsh plugin --profile web remove dsh-threads
早期本地包名 @local/dsh-threads 迁移到公开包 dsh-threads 前,应先通过对应 profile 移除旧注册再安装。
典型用法¶
经过安装并刷新页面后,可按 README 中的步骤操作:
- 将鼠标移到任意一条已完成回答底部的动作行,点击气泡图标「回复」。
- 右侧栏出现「线程」页签:顶部为被回复回答的引用,下方为回复流与输入框。
- 第一次发送时才真正创建线程——即从该轮分叉的子会话。
- 线程创建后,该轮下方会显示「N 条回复」,点击可回到对应线程页签。
- 需要总览时,使用对话标题栏的「线程」按钮打开列表并跳转。
若启用 Slack 样式,可在主对话区使用悬停操作条快速「回复进线程」或「从这个回答分支」。
适用场景与注意¶
适合谁: 需要在同一 DSH 会话里对单轮回答做多次追问、又不想把主聊天区拉得很长的开发者;习惯 Slack 线程交互、希望可选皮肤但不改宿主核心 UI 的用户。
运行条件: 插件依赖 DSH 的会话分叉、右侧栏、聊天插槽与 Markdown 模块;宿主大版本若调整这些接口或静态模块表(如 @deepseek-ai/dsh-client-ui-primitives),插件可能需要同步更新。
已知边界(摘自 README):
- 线程继承锚点之前的完整上下文,连续回复时输入 token 会增大。
- 线程面板主要渲染用户/助手文本;工具调用在面板中折叠为一行,不展示完整工具卡与轨迹。
- 图片仅支持图片类型、暂存于内存,切换或重载后需重新粘贴;不支持通用文件上传。
- Slack 皮肤替换了部分消息行,被替换行暂未提供宿主原有的编辑/重发交互(复制、回复、分支已补)。
- 审批卡片仅支持「允许一次 / 拒绝」;持久权限策略仍由宿主处理。
社区插件目录 SkillHub 与 DeepSeek / 幻方无官方从属关系;DSH 生态强调「一切皆插件」,本插件是其中的客户端扩展之一。
结尾¶
DeepSeek Harness Threads 把「按轮分叉 + 右侧线程面板 + 草稿持久化」落到 DSH 上,并可选 Slack 风格界面,适合在主会话旁做聚焦追问。安装与问题反馈见 GitHub 仓库 与 v0.13.9 Release;目录介绍见 SkillHub 插件页。