dsh-btw
Manifest valid/btw side-question command for DeepSeek Harness (dsh) — ask a context-aware question, never touch the main conversation
dsh-btw
/btw for DeepSeek Harness (dsh) — a
Claude-Code-style side question command.
Ask something in the middle of a task, get the answer rendered directly in the
UI, and keep working. Neither the question nor the answer becomes a model
message in the main conversation: your session log records only the log-only
command/run / command/done pair, the token usage stays zero, and the prefix
cache is untouched.
/btw what's the difference between Drop and DropImpl again?
The answer comes from a one-shot subagent (the fork provider by default),
so it is aware of the ongoing conversation — but the conversation never sees
the exchange.
Install
Requires Node.js ≥ 20 and a dsh installation (npx @deepseek-ai/dsh).
From npm (prebuilt, no build permission needed)
dsh plugin --profile web add dsh-btw
From GitHub
dsh plugin --profile web add github:<your-github-name>/dsh-btw
A git install runs the package's prepare build script, so allow it once in
the profile's pnpm-workspace.yaml (pnpm ≥10 policy):
allowBuilds:
dsh-btw: true
Re-run the add after adding the allowance. Pin a commit
(github:<you>/dsh-btw#<sha>) if you want reproducibility.
Try it from a checkout without installing
dsh --profile web --patch ./smoke/btw.yml
# btw.yml:
# - insert:
# - id: btw
# name: '/absolute/path/to/dsh-btw/src/index.ts'
Verify: dsh --profile web --dump-config shows a btw row; the Web UI's
slash-command catalog lists btw beside plan and compact.
Configuration
The plugin row in cordis.patch.yml accepts a config block (fail-loud:
unknown keys abort plugin load):
- insert:
- id: btw
name: dsh-btw
config:
provider: fork # fork (default) | spawn
persona: terse # optional child persona
| key | default | meaning |
|---|---|---|
provider | fork | fork seeds the child with the main session's completed-turn prefix (context-aware answers); spawn starts a fully isolated child. |
persona | — | Optional persona applied to the child (supported by the in-process fork/spawn providers). |
How it works
- The dsh commands registry dispatches
/btwin the human-only command plane — zero model tokens by construction. - The handler starts a one-shot subagent via
ctx.subagents.start(provider, …)with the exact receivingagentas parent and the UI'sAbortSignal. - The run's result is awaited and the child is always disposed
(
allSettledsettlement — a dispose failure is reported, never swallowed). - The child's visible text blocks are joined and returned as the direct
CommandResult; failure paths map stop reasons to readable errors and preserve partial output.
Full requirements analysis, alternatives considered, and the TDD plan live in docs/DESIGN.md.
Compatibility
Targets the dsh 0.1.0-rc.x line (peer ranges >=0.1.0-rc.1 <0.2). dsh is a
developer preview; expect API movement across rc versions.
Develop
pnpm install
pnpm test # vitest, 30 cases
pnpm typecheck
pnpm build # tsdown → lib/
License
MIT
Compatibility
Versions
| Latest version | Published | Size |
|---|---|---|
| 0.0.1 | — | — |
| 0.0.2 | — | — |
| 0.0.3 | — | — |
Comments
Loading…
Similar plugins
by JasonQQ
Codex-style /btw command for DeepSeek Harness: side questions answered in a conversation-seeded subagent context, without polluting the main context
★ 3
JavaScript
Oct 1, 2026
dsh plugin --profile web add @jasonqq/dsh-btw-pluginby gulagala001
Context-aware side questions for DeepSeek Harness, with prompt cache reuse and a native composer popover.
★ 1
MIT
JavaScript
Oct 24, 2026
dsh plugin --profile web add @gulagala001/dsh-btwby MichengAI
Adds /btw for one-off, context-aware side questions without tool execution, with independent answer bubbles that can be copied, collapsed, or closed without adding answers to the main conversation.
★ 44
Apache-2.0
TypeScript
Oct 27, 2026
dsh plugin --profile web add @michengai/dsh-btwby iyllyt
个人很喜欢 Claude Code 的 /btw,于是为 DSH 做了复刻:共享当前上下文快速旁路提问,不中断主任务,也不写入主会话历史。
★ 10
↓ 44/wk
MIT
TypeScript
Oct 17, 2026
dsh plugin --profile web add dsh-btwAdds /btw and /side slash commands that answer ephemeral side questions in an isolated forked sub-session without polluting the main conversation context.
★ 0
dsh plugin --profile web add dsh-plugin-btwby AHGGG
Codex-style Side Chat for DeepSeek Harness — select text, ask follow-up questions in a focused side conversation, and keep the main chat uninterrupted.
★ 14
↓ 178/wk
MIT
JavaScript
Oct 26, 2026
dsh plugin --profile web add @ahggg/dsh-side-chat