dsh-btw:DSH 旁路问答插件

前言

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
羽毛球分组比赛记分
小程序二维码

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

小夜