Ask side questions using current conversation context while the main task continues.
Install
# from a prebuilt release tarball
dsh plugin --profile web add "https://github.com/gulagala001/dsh-btw/releases/download/v0.1.2-dsh.0.2.1-rc.2/gulagala001-dsh-btw-0.1.2-dsh.0.2.1-rc.2.tgz"
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:gulagala001/dsh-btw
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
Quick start
Required environment: DSH 0.2.1-rc.2, Node.js 22.19+.
Side chat uses your existing model service and incurs normal usage. It does not execute tools. History stays in window memory and is lost on refresh.
1. Install
Open Plugins → Add plugin in the DSH instance you use, then paste:
https://github.com/gulagala001/dsh-btw/releases/download/v0.1.2-dsh.0.2.1-rc.2/gulagala001-dsh-btw-0.1.2-dsh.0.2.1-rc.2.tgz
Wait for active tasks to finish, then follow the host’s activation/restart prompt. Keep your existing profile and data. See the installation guide · SHA256SUMS.
2. Try this first
After sending a message in the main conversation, enter:
/btw Explain the main trade-off in the previous plan in two sentences.
Success looks like: A side answer appears above the composer. The main task continues and the side answer is not appended to its history.
Side questions without stopping the task
- Enter
/btw questionto ask directly, or/btwto open the popup and history. - The popup supports Markdown, code copying and follow-ups using existing main-conversation context.
- Stopping side chat cancels only that request. Esc and Close hide the popup while the main task continues.
The snapshot includes completed tool results, not the main answer currently being generated. Requests preserve the main message prefix, previous actual model configuration, tool declarations and cache linkage, appending only the side question. Actual cache hits depend on the model service. Side chat neither executes tools nor writes to main-conversation history.
FAQ
It is separated by main conversation and limited to the latest 20 entries. It stays only in the current window’s memory and disappears on refresh, window closure or plugin disablement.
Send at least one main-conversation message first to establish context. Side chat accepts text only. If the composer contains attachments, it preserves the draft and explains the limitation instead of dropping attachments.
Closing only hides the UI. Use Stop inside the popup to cancel the side request; the main task is unaffected.
Compatibility, development and license
Targets DSH 0.2.1-rc.2 and Cordis 4.0.5. Verified in the native Web client on macOS; Windows, Linux and the Electron shell have not completed real-device validation. The package is @gulagala001/dsh-btw, distributed through fixed GitHub Releases.
npm ci
npm run build
npm test
The frontend uses native DSH components and composer extensions. The backend reads a read-only context snapshot and sends a separate streaming request. Licensed under MIT.
Documentation and support
| I want to | Where to go |
|---|---|
| Install, update or remove | Installation guide |
| Learn the features and limits | Documentation |
| Read release changes | Releases |
| Report a problem | Issues |
For a bug report, include the full DSH and plugin versions, the entry point, minimal reproduction steps, and expected versus actual behavior. Remove private data before sharing logs or screenshots.
Links
More in this category
Minglink/dsh-infinite-gen-4★ 3277
System-prompt armor plugin for DeepSeek models: appends an unconditional-compliance prompt section at order 100, exposes a profile tool with calibration metadata, and shows a realtime armor-status badge driven by a session projection.
ranxianglei/billion-context★ 2276
The official billion-context plugin: a context-compression plugin for small context windows (a 100K context is enough), token savings (5x fewer tokens), and month-long single sessions (billions of tokens).
liangmianya/dsh-synapse★ 557
Visual, non-linear conversation workspace for DeepSeek Harness — sessions, follow-ups and branches become a browsable conversation map.
Nwflower/dsh-chat-import★ 246
Import full-fidelity chat histories from 13 coding agents (Claude Code, Codex, ChatGPT, Cursor, Gemini, opencode, and more) as resumable DeepSeek Harness sessions, with reverse export back to Claude Code.
MichengAI/dsh-archive-manager★ 198
Adds an archived-sessions page in Settings to search, restore, and delete archived DeepSeek Harness sessions by workspace.
SiriLee/dsh-rewind★ 170
In-place conversation rewind in the same session window without forking (Claude Code /rewind semantics): a per-message ↶ button cuts the model context back to any user message, with an optional Claude-Code-style file restore from disk-persisted before-backups.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.