Skip to content
dsh.fish
Bundle

dsh-btw-side

Ask a quick side question without interrupting the main conversation - a Claude Code /btw port for DeepSeek Harness (dsh). Type /btw <question> while the agent is working.

Source
kezboardpj
stars
1 stars
License
MIT
Updated
Updated yesterday

Readme

# dsh-btw

**在智能体干活的时候,用 `/btw <问题>` 快速问个小问题,完全不打断主线任务。**

为 [DeepSeek Harness(dsh)](https://github.com/deepseek-ai/deepseek-harness) 打造的插件——把 Claude Code 的 `/btw` 搬进 dsh web:旁路用一次性子代理回答,**只能看**(继承主对话上下文)、**不能用任何工具**、单轮流式输出;你的问题永远不落盘,记录只显示「提问 + 回答」。

## 安装

要求:安装了 [DeepSeek Harness(dsh)](https://github.com/deepseek-ai/deepseek-harness)(≥ `0.1.1-rc.2`,装有 web UI 的常规安装)。

```sh

dsh plugin --profile web add dsh-btw-side
```

> profile 名按你的实际配置替换(`web` / `tui` / 自定义)。
> 安装后**重启 dsh**(插件不支持热加载)。

## 用法

在主输入框输入完整一行,回车:

```
/btw 刚才那个 config 文件叫什么名字?
```

输入框上方会弹出悬浮面板,问题自动带进去并**立即开始回答**(流式输出):

- 主智能体继续干活,旁路子代理**并发**回答,全程不打断主任务
- 子代理**只能看**:完整继承主对话上下文(无截断、无 48KB 上限),**不能动任何工具**
- 单轮回答;面板只显示**提问 + 回答**(不显示思维链;模型幻觉出的工具调用标记会被截掉)
- 按 **Esc** 或点 **×** 关闭面板;回答中可点「停止」取消
- 发送按钮旁的 **btw 小胶囊**也能打开面板(空面板手动输入)
- **你的问题永远不落盘**;旁路子会话以**一次性子代理记录**保留:子代理面板只读查看,不能继续对话
- 后续 `/btw` 会回放最近 20 条旁路问答作为上下文(线程记忆)

## 与 Claude Code 的差异

| 维度 | Claude Code | dsh-btw(本插件) |
|---|---|---|
| 启动前提 | 需已完成第一轮对话 | **无**——第一轮就能 /btw |
| 进行中 turn 的事件 | 能看到"除正在写的回复外的一切" | 能看到(派生历史含已提交事件,正在流式写的不含) |
| 问题落盘 | 不落盘(内存线程) | 不落盘 |
| 答案显示 | 浮层(Esc/←/x) | 悬浮面板(流式 + Esc/×/停止) |
| 答案持久化 | 内存线程,退出即没 | 面板即看即走 + 一次性子代理记录(面板只读可回溯) |
| 线程上下文 | 回放最新 20 条 | 回放最新 20 条 |
| 子代理记录 | 不显示(除非 f 转正) | 只读记录:**只显示提问+回答**,不含主对话历史 |

## 工作原理

```
/btw <q> + Enter
  → web 端拦截:主输入框清空,悬浮面板弹出并自动提问(不走命令、不经模型)
  → client → host RPC(插件自有 /btw 路由,loopback 专用)btw/ask
  → fork 一次性子代理(空种子 + subagent/descriptor 身份)
      - 主对话派生历史 = 运行时上下文注入(模型可见,不进子会话日志)
      - 线程回放 = 运行时上下文注入(同上)
      - 工具全部滤空 + 显式"无工具"指令 + 禁止输出工具调用语法
  → 单轮回答;client 250ms 轮询 btw/poll 流式取回文本
  → btw/cancel 可中止;主输入框零痕迹,问题不落盘
```

## License

MIT

Install

dsh plugin --profile web add github:kezboardpj/dsh-btw#30b042ca3526225ffab29f85cd53a60ce8ad5f59

Profile: web

Source