dsh-plugin-btw:在主对话外开右侧栏旁路提问

前言

在 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 中说明了三点机制(事实以仓库文档为准):

  1. 模型上下文:旁路首 turn 以 caller delivery 投递,主 Agent 不收 completion 通知;后续 turn 对 durable child 做 cold-resume,插件会从父收件箱过滤 runtime 的 settlement 通知。
  2. 聊天流:主对话只增加一条 log-only 的 /btw 命令行,不出现旁路的问题或答案正文。
  3. 容量:旁路线程在 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 服务,且包含 fork provider(@deepseek-ai/dsh-subagent-fork-in-process,providerName: fork);@deepseek-ai/dsh-base 默认会挂载。
  • 需要 session 持久化(旁路线程是 durable child Session)。

在 Harness UI 中安装

  1. 在 Harness UI 打开 Plugins。
  2. 将该插件包目录以 local bundle 形式安装(需本机已有插件源码或发布目录的绝对路径)。
  3. bundle 会插入一条 Host 行(btw),浏览器端脚本同包提供。
  4. 刷新页面一次 以加载浏览器模块,然后在任意会话中输入 /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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜