Preface¶
The DSH plugin ecosystem emphasizes that “everything is a plugin.” In DSH Web usage, a common need is: the main task is progressing, but you want to temporarily ask a question related to the current context without affecting the main model’s context.
dsh-btw provides the /btw command and a centered modal panel, routing such side-channel Q&A into an independent conversation branch. It aligns with Claude Code’s /btw semantics and supports multi-turn conversations, incremental sync from the main conversation, branch reset, and per-session independent panels.
What This Is¶
dsh-btw is a DSH side-channel Q&A plugin, with the repository path:
loster12520/dsh-btw
The license is MIT.
The problem it solves is: performing a read-only Q&A alongside the main DSH conversation. The branch can view the main conversation history, but the Q&A content does not enter the main conversation’s LLM context.
Core Features¶
/btw Command¶
In the main input box, type:
/btw <question>
This sends a side-channel question and automatically opens the centered BTW panel to display the answer.
Entering the command without arguments:
/btw
Only opens the panel and focuses the input box.
The panel has no persistent entry point; it can only be opened via the /btw command.
Centered Modal Panel¶
The panel supports multi-turn conversations, displaying content in question/answer bubbles.
Use the keyboard shortcut:
Ctrl+Shift+K
Or click the “Clear” button on the panel to reset the current conversation branch.
Read-Only Branch¶
The branch responds in a read-only manner. The tool whitelist is as follows:
read
glob
grep
read_image
web_search
Global tools such as file writing, editing, command execution, and SSH are not visible to the branch and will be rejected.
Viewing Main Conversation History¶
When the branch is created, it uses the completed turns of the main conversation as its seed.
After each question, the incremental changes in the main conversation since the last sync watermark are injected, so the main conversation’s progress is continuously synced to the branch.
No Pollution of the Main Context¶
The branch is an independent Session; the main conversation’s LLM context does not include BTW Q&A.
The branch is not registered in the subagent registry, is not displayed as a sub-agent in the GUI, and does not appear in the sub-agent directory.
Independent Per-Session Maintenance¶
Each main session independently maintains its BTW branch, history, sync watermark, and serial queue. BTW Q&A from different main sessions is isolated and does not pollute each other.
The Host maintains Q&A history:
{id, role, text}
The panel incrementally syncs by polling the following interface:
btw/state
Installation and Activation¶
Prerequisites:
dsh CLI is installed locally
pnpm is on the PATH
Installation command:
dsh plugin --profile web add git+https://github.com/loster12520/dsh-btw.git
After installation, due to changes in the Host half, the following process needs to be restarted:
dsh web
If only the Client half has changed afterward, a hard refresh of the browser is sufficient.
Before installation, it is recommended to inspect the source code and license. The plugin runs in DSH’s dsh process; verify the source code and license before installation; its capabilities are constrained by the current dsh configuration and permissions.
Typical Usage¶
In the DSH Web main input box:
/btw Why is a certain variable handled this way in the current task
This sends a side-channel question and automatically opens the centered panel to display the answer.
/btw
This only opens the panel and focuses the input box.
To reset the current conversation branch:
Ctrl+Shift+K
You can also click the “Clear” button on the panel.
Suitable Scenarios and Notes¶
It is suitable for DSH Web users to ask side-channel questions during their tasks, especially in scenarios where they want to retain read-only retrieval capability without letting the Q&A enter the main context.
Notes:
- The project README indicates it is still under development (WIP) and has not released a stable version; the API, command behavior, RPC contract, and panel UI may change at any time.
- Do not use in production environments.
- The branch is read-only and cannot execute global tools such as file writing, editing, command execution, or SSH.
- The branch is not displayed as a sub-agent and does not appear in the sub-agent directory.
- The panel can only be opened via the
/btwcommand; there is no persistent entry point.
Conclusion¶
The value of dsh-btw lies in turning “side-channel Q&A” into an independent, read-only, per-session isolated panel flow: you can view the main conversation history, ask follow-up questions, and clear the current branch at any time, all without altering the main conversation context.
The DSH community directory is an independent site and has no official affiliation with DeepSeek / High-Flyer, and is not an official app store. The directly verified repository address in this article is:
https://github.com/loster12520/dsh-btw