DeepSeek Harness plugin

dsh-btw-13615533

/btw slash command for DeepSeek Harness: ask a context-aware side question without touching the main conversation

Jump to install

Source facts

Repository
136155330/dsh-btw
Latest update
Aug 19, 2026
Category
Tools & Capabilities
GitHub stars
0
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/136155330/dsh-btw
Plugin: dsh-btw-13615533
Author: 136155330

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only

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
keydefaultmeaning
providerforkfork seeds the child with the main session's completed-turn prefix (context-aware answers); spawn starts a fully isolated child.
personaOptional persona applied to the child (supported by the in-process fork/spawn providers).

How it works

1. The dsh commands registry dispatches /btw in the human-only command plane — zero model tokens by construction. 2. The handler starts a one-shot subagent via ctx.subagents.start(provider, …) with the exact receiving agent as parent and the UI's AbortSignal. 3. The run's result is awaited and the child is always disposed (allSettled settlement — a dispose failure is reported, never swallowed). 4. 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](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