前言¶
在 DeepSeek Harness(DSH)里做长时间任务时,主 Agent 的上下文和 token 预算往往要留给当前工作流。若临时想弄清「这个 flag 干什么」「缓存为什么冷」之类与任务相关、又不想打断主线的追问,常见做法是把问题写进主对话——这样会拉长主线程、混入旁路问答,也可能挤占委派额度。
dsh-plugin-btw 提供 /btw 斜杠命令:在右侧栏打开独立的 durable 旁路线程,继承当前会话已完成的轮次,主对话只保留一条仅作日志的 /btw 行,不接收旁路里的问题与回答。下面介绍插件定位、能力与安装验证方式。
这是什么¶
- 名称:
dsh-plugin-btw(仓库 Dynesshely/dsh-plugin-btw) - 维护者:Dynesshely
- 分类:客户端(
package.json中dsh.client.platform为web) - 版本:0.1.0(以
package.json为准) - 许可证:MIT
- 目录页:skillhub.cn 插件条目
一句话定位:DeepSeek Harness 插件,通过 /btw 在右侧栏旁路线程里提问,尽量不触碰主对话的上下文与聊天流。
社区目录 skillhub.cn 是独立站点,与 DeepSeek / 幻方无官方从属关系;DSH 生态理念是「一切皆插件」,安装第三方 bundle 前宜自行查看源码与许可证。
核心功能¶
命令行为¶
| 命令 | 行为 |
|---|---|
/btw <question> |
继续本会话中最新一条 idle 的 /btw 线程,或新建一条 |
/btw new <question> |
始终新建旁路线程 |
/btw |
仅打印用法提示,不发送内容 |
旁路目标线程会在右侧栏自动打开并停靠;可用该线程自己的 composer 跟进或 Stop。关闭标签后仍可从会话头部的 subagent 目录重新打开。
主对话如何保持「干净」¶
README 中说明了三点机制(事实以仓库文档为准):
- 模型上下文:旁路首 turn 以
callerdelivery 投递,主 Agent 不收 completion 通知;后续 turn 对 durable child 做 cold-resume,插件会从父收件箱过滤 runtime 的 settlement 通知。 - 聊天流:主对话只增加一条 log-only 的
/btw命令行,不出现旁路的问题或答案正文。 - 容量:旁路线程在 turn settle 后释放 subagent 激活,idle 线程不占用主 Agent 的委派预算。
旁路线程未与工作区沙箱隔离:继承会话 preset、模型、权限根与工作目录,因此 /btw 也可做小规模操作;其发起的 approvals 在旁路标签页展示。
使用上需要知道的限制¶
- 仅继承已完成的 turn;主 Agent 当前未结束的 turn 对旁路不可见。
- 续问以 adjacent-Agent 消息进入,旁路记录里会归因到父 Agent 而非用户键入。
- 右侧栏布局在内存中:页面刷新后标签会消失(线程仍在,可从 subagent 目录或再次
/btw打开)。 - 被抑制的 settlement 通知可能在主 log 留下一个空 turn 边界(无 step、无模型调用、无内容)。
安装与启用¶
环境要求¶
- 带 Web 界面的 DeepSeek Harness:
dsh web,或 Desktop(同一 Web 表面)。 - 已组装的
subagents服务,且包含forkprovider(@deepseek-ai/dsh-subagent-fork-in-process,providerName: fork);@deepseek-ai/dsh-base默认会挂载。 - 需要 session 持久化(旁路线程是 durable child Session)。
在 Harness UI 中安装¶
- 在 Harness UI 打开 Plugins。
- 将该插件包目录以 local bundle 形式安装(需本机已有插件源码或发布目录的绝对路径)。
- bundle 会插入一条 Host 行(
btw),浏览器端脚本同包提供。 - 刷新页面一次 以加载浏览器模块,然后在任意会话中输入
/btw。
通过 plugin_manager(Agent 或自动化)¶
plugin_manager install_bundle target=/absolute/path/to/dsh-plugin-btw
成功时报告 application: applied 表示 host 行已激活;浏览器半区在下次页面加载后生效。README 写明:首次安装新 bundle 不需要重启 Harness 进程。
验证¶
/btw 应出现在 / 命令菜单及描述中。可发送:
/btw what is this repository's license?
预期:右侧栏出现 BTW · what is this repository's license? 标签并流式输出答案;主对话仅显示 btw · Side thread opened. 一行。
典型用法¶
旁路适合「与工作相关但不属于当前主线」的追问,例如 README 举例:why is this cache cold?、what does this flag do?、can you check whether that file is still generated?。
在同一旁路线程里连续追问:
/btw what does this flag do?
若希望强制新开线程而非复用 idle 线程:
/btw new can you check whether that file is still generated?
v0.1 刻意未声明 Config schema,暂无在线配置表单。
适用场景与注意¶
适合谁:长期在 DSH Web / Desktop 上跑主任务、又需要偶尔查文档、读配置、做小检查的开发者;希望主 transcript 保持可读、token 留给主线的人。
权限与安全:旁路线程以当前 DSH 会话的 preset、模型、权限根与工作目录运行,能力接近主 Agent 侧链路,并非只读沙箱。安装前应阅读 仓库源码 与 LICENSE,确认符合你的合规要求。
开发与迭代(维护者路径,需 Node.js >= 20):在已有工作树上用 profile 挂载,例如:
dsh plugin --profile <profile> add /absolute/path/to/dsh-plugin-btw
Host 代码(src/)在 Plugins 页开关插件行即可重载;浏览器代码(client.js)刷新页面即可。架构说明见仓库 docs/DESIGN.md。
结尾¶
dsh-plugin-btw 用 /btw 把旁路问答放进右侧栏 durable 线程,并在设计上尽量隔离主 Agent 的上下文、聊天流与委派预算;安装以 local bundle 或 plugin_manager install_bundle 为准,装后记得刷新页面再试命令。
- 目录页:https://www.skillhub.cn/plugins/Dynesshely/dsh-plugin-btw
- GitHub:https://github.com/Dynesshely/dsh-plugin-btw