前言¶
DSH 的插件生态强调「一切皆插件」。在 DSH Web 使用中,常见需求是:主任务正在推进,但临时想问一个与当前上下文相关、又不想影响主模型上下文的问题。
dsh-btw 提供 /btw 命令和居中弹窗面板,把这类旁路问答放到独立会话分支中回答。它对齐 Claude Code 的 /btw 语义,并支持多轮对话、主对话增量同步、清空分支和每会话独立面板。
这是什么¶
dsh-btw 是 DSH 旁路问答插件,仓库路径为:
loster12520/dsh-btw
许可证为 MIT。
它解决的问题是:在 DSH 主对话旁边进行一次只读问答。分支可以查看主对话历史,但问答内容不进入主对话 LLM 上下文。
核心功能¶
/btw 命令¶
在主输入框输入:
/btw <问题>
命令会旁路提问,并自动打开居中 BTW 面板展示回答。
输入无参命令:
/btw
只打开面板并聚焦输入框。
面板没有常驻入口,只能通过 /btw 命令打开。
居中弹窗面板¶
面板支持多轮对话,使用问题/答案气泡展示内容。
可以通过快捷键:
Ctrl+Shift+K
或点击面板上的「清空」按钮,重置当前会话分支。
只读分支¶
分支以只读方式回答。工具白名单如下:
read
glob
grep
read_image
web_search
写文件、编辑、命令执行、SSH 等全局工具对分支不可见,并且会被拒绝执行。
查看主对话历史¶
分支创建时,以主对话已完成 turn 为 seed。
之后每次提问,会注入主对话自上次同步水位之后的增量,因此主对话的进展会持续同步到分支。
不污染主上下文¶
分支是独立 Session,主对话的 LLM 上下文不包含 btw 问答。
分支不注册进 subagent registry,GUI 中不会显示为子代理,也不会出现在子代理目录。
每会话独立维护¶
每个主会话独立维护 btw 分支、历史、同步水位和串行队列。不同主会话的 btw 问答隔离,互不污染。
Host 维护问答历史:
{id, role, text}
面板通过轮询以下接口增量同步:
btw/state
安装与启用¶
前置要求:
本机已安装 dsh CLI
pnpm 在 PATH 上
安装命令:
dsh plugin --profile web add git+https://github.com/loster12520/dsh-btw.git
安装后,由于 Host 半区改动需要重启以下进程:
dsh web
之后如果只有 Client 半区改动,浏览器硬刷新即可。
安装前建议检查源码和许可证。插件运行在 DSH 的 dsh 进程中,安装前需要检查源码与许可证;其能力受当前 dsh 配置和权限约束。
典型用法¶
在 DSH Web 主输入框中:
/btw 当前任务中某个变量为什么这样处理
该操作会旁路提问,并自动打开居中面板展示回答。
/btw
该操作只打开面板并聚焦输入框。
重置当前会话分支:
Ctrl+Shift+K
也可以点击面板上的「清空」按钮。
适用场景与注意¶
适合 DSH Web 使用者在任务过程中进行旁路提问,尤其是希望保留只读检索能力、但不要让问答进入主上下文的场景。
注意:
- 项目 README 标注仍在开发中(WIP),尚未发布稳定版本,API、命令行为、RPC 契约和面板 UI 可能随时变化。
- 请勿用于生产环境。
- 分支只读,不能执行写文件、编辑、命令执行、SSH 等全局工具。
- 分支不显示为子代理,不出现在子代理目录。
- 面板只能通过
/btw命令打开,没有常驻入口。
结尾¶
dsh-btw 的价值是把「旁路提问」做成一个独立、只读、按会话隔离的面板流程:可以查主对话历史,可以追问,也可以随时清空当前分支,同时不改变主对话上下文。
DSH 社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系,不是官方应用商店。本文已核实的直接仓库地址为:
https://github.com/loster12520/dsh-btw