Skip to content

iyllyt/dsh-btw

60Last commit Aug 14, 2026

dsh-btw DSH plugin

dsh-btw brings the `/btw` command from Claude Code to DeepSeek Harness. It allows you to ask a one-off question related to the current context without polluting the main conversation history or interrupting the ongoing task. The answer appears in a temporary dock panel above the input box.

How to install the dsh-btw DSH plugin

dsh plugin --profile web add github:iyllyt/dsh-btw

Copying does not run this command. Review the repository and version before installing the dsh-btw DSH plugin.

dsh-btw DSH plugin data source

dsh-btw DSH plugin snapshot date: Aug 16, 2026

discovered

What the dsh-btw DSH plugin can do

  • Submit `/btw` questions while the main agent is busy without pausing its work
  • Reuse the parent session's model configuration, system prompt, tool schemas, and message prefix for context
  • One-shot generation: no tool execution, no follow-up rounds, isolated from main session history
  • Temporary Markdown result panel with keyboard navigation (↑/↓/Enter/Space/Esc) and cancel support
  • Three sidechain storage modes: private-jsonl (default), memory, or none, with configurable retention
  • Cache boundary protection for Anthropic pi-ai route to avoid writing cache on tail blocks

Where the dsh-btw DSH plugin fits

  • Quickly confirm a filename or parameter mentioned earlier in the conversation
  • Ask why a particular code decision was made without derailing the main task
  • Check if an error message relates to recent changes without adding extra context to the session
  • Verify a caching strategy decision while the agent is still running a long operation
  • Retrieve a decision from context that the user already knows but needs a quick reminder

Who the dsh-btw DSH plugin is for

  • Developers using DeepSeek Harness (DSH) for long-running AI-assisted tasks
  • Users who frequently need to ask context-dependent questions without interrupting the main agent workflow

dsh-btw DSH plugin limitations

  • No tool access: cannot read unread files, execute commands, or perform web searches
  • Only one-shot: no follow-up rounds or multi-turn discussion, answers are final
  • Requires DeepSeek Harness 0.1.0-rc.6 and Node.js 22.19+ with a running `web` profile
  • Cache optimization only works on the pi-ai Anthropic route; other providers rely on provider-managed caching
  • Sidechain audit records are stored in $DSH_HOME/btw-sidechains/v1 – shared machine users must choose appropriate mode

dsh-btw DSH plugin: from the repository README

Quoted from the iyllyt/dsh-btw README, the upstream source of the dsh-btw DSH plugin. Copyright remains with the original authors.

为 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) 复刻的 `/btw` 旁路提问插件。 > 个人很喜欢 Claude Code 里的 `/btw` 指令,于是为 DeepSeek Harness(DSH)做了一个复刻插件。 `/btw` 用来在不打断主 Agent 的情况下快速问一个与当前上下文有关的问题。问题由独立的一次性模型请求回答,结果显示在输入框上方的临时面板中;它不会成为主对话消息,也不会写入 DSH 的普通会话目录。 本项目是非官方社区插件,与 Anthropic、Claude Code 或 DeepSeek AI 没有关联。 ## `/btw` 是做什么的? `/btw` 可以理解成在主会话旁边“顺手问一句”。当 Agent 正在执行一个较长任务时,你经常会临时想确认一个细节:刚才提到的配置文件叫什么、某段已经读过的代码为什么这样写、之前决定采用哪个方案。直接发送普通消息会改变主会话的走向并增加后续上下文,而另开会话又会失去当前任务已经积累的信息。 BTW 解决的正是这个夹缝问题:它读取截至提交时父会话可安全复用的上下文,独立生成一次回答,然后把结果放进可关闭的临时面板。主 Agent 继续原来的任务,问题和回答也不会进入普通会话历史。 它的核心价值是: - **不打断主任务**:主 Agent 正在思考或调用工具时仍可提问,BTW 在旁路独立运行。 - **不污染主上下文**:临时问题不会改变主任务方向,也不会占用后续对话历史。 - **不用重新交代背景**:它知道父会话已经讨论过的代码、结论和决策。 - **快速确认细节**:适合答案已经存在于当前上下文中的短问题。 典型用法: ```text /btw 刚才说的配置文件叫什么? /btw 为什么这里选择队列而不是直接执行? /btw 我们最终决定使用哪种缓存策略? /btw 这个报错和刚才修改的代码有关吗? ``` ### 什么时候不该用 `/btw`? | 需求 | 应该选择 | | --- | --- | | 询问当前会话已经知道的内容,只需要一次快速回答 | `/btw` | | 需要读取尚未看过的文件、执行命令或联网搜索 | 普通消息或 subagent | | 需要连续追问、共同讨论或改变实现方案 | 普通消息 | | 需要真正修改文件或执行操作 | 普通消息或带工具的 subagent | BTW 没有工具权限,也没有后续轮次。它不是免费的本地查询,而是额外的一次模型请求;插件会尽可能复用父请求的共享 prompt/cache 前缀,以降低重复上下文的成本。 这一交互定位参考了 [Claude Code 官方 `/btw` 文档](https://code.cl

Read the full READMERepository license: MIT

dsh-btw DSH plugin questions

How do I install dsh-btw?

You can install directly from GitHub using `dsh plugin --profile web add github:iyllyt/dsh-btw`. If you don't have the global `dsh` command, replace it with `npx @deepseek-ai/dsh`. The repository includes prebuilt files so no build step is needed. For production, consider locking a specific commit with `#<commit-sha>`.

Does /btw use the same context as the main session?

Yes, it reuses the parent session's current model configuration, system prompt, tool schemas, and the balanced message prefix. This means you don't have to re-explain background. However, the question and answer are completely isolated from the main conversation history – they do not appear in the session log or side panel.

Can I use /btw while the main agent is running a tool or thinking?

Yes. The plugin is designed to work in parallel with the main agent. You can type `/btw` and press Enter while the agent is busy. The main task is not paused. The BTW answer will appear in a temporary panel above the input box once the model finishes generating.

Where are the BTW sidechain logs stored?

By default, they are stored as private JSONL files in `$DSH_HOME/btw-sidechains/v1` with directory permissions 0700 and file permissions 0600. You can change the mode to `memory` (kept only in process memory) or `none` (no logging) via the plugin config. The retention is configurable (default 7 days, max 500 sessions).

What if the BTW model returns a tool call instead of text?

The plugin does not register tool executors, so if the model returns only a tool call, the interface will display a readable fallback message explaining that the BTW request could not produce a text answer. This is a safety measure to prevent unexpected tool execution in a side channel.