Back to home@XiaoWind

dsh-btw

DeepSeek Harness plugin: a /btw slash command to add notes without interrupting the agent

Stars
0
Language
JavaScript
Created
Aug 26, 2026
Updated
Aug 26, 2026
GitHub repo

Introduction

dsh-btw

English | 中文

A DeepSeek Harness (DSH) plugin that adds a human-facing /btw ("by the way") slash command for queuing a supplementary note without interrupting the agent.

While the agent is running, you suddenly remember something extra to tell it. Type /btw <note> and keep your train of thought — the note is delivered to the agent after the current turn finishes. The in-progress turn is never interrupted, cancelled, or restarted.

Install

# from GitHub (works immediately — no npm publish required)
dsh plugin --profile web add git+https://github.com/XiaoWind/dsh-btw.git

# or from npm, once published
dsh plugin --profile web add dsh-btw

The dsh plugin command forwards to pnpm inside the web profile directory, then reconciles the profile's dsh.profile.bundles layer list. Because this package declares dsh.bundle.patch, it joins the layer stack automatically. Restart the Web app after installing.

The plugin injects the commands service, so it activates only in profiles that compose a command adapter — the shipped web profile does.

Update

Pull the latest version of the plugin into an installed profile:

dsh plugin --profile web update dsh-btw

dsh plugin forwards to pnpm update dsh-btw inside the profile directory, which re-resolves the github:XiaoWind/dsh-btw dependency to the latest commit on the default branch. The lockfile pins a git dependency by commit hash, so a version bump is not required for the update to land. If pnpm has cached an old git resolution, re-pin it explicitly:

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

Restart the Web app after updating — the bundle layer is composed at boot, so a running Web process does not hot-reload an installed plugin.

Usage

CommandResult
/btw <note>Queue a supplementary note (any language) for the agent.
/btw helpShow help.

The note is added as an ordinary user message, so the model treats it as your own words and folds it into the task it is already working on.

Semantics

  • Never interrupts. /btw appends the note to the agent's next-turn queue. If the agent is mid-turn, the running turn completes exactly as it would have, then the note is handled as the next message. If the agent is idle, the note is picked up immediately.
  • Nothing is cancelled or restarted. The note is a continuation, not a new directive. The current objective stays intact.
  • Order preserved. Multiple /btw notes are delivered in the order they were submitted (FIFO).
  • Stateless. There is no persistence: once delivered, a note leaves nothing behind, so a restart never replays an old note.

Configuration

This plugin has no configuration. The acknowledgement it prints simply reflects whether the agent was busy or idle at the moment the note was queued.

Development

# syntax check
node --check lib/index.js

The plugin is a single-file ESM Cordis function plugin (lib/index.js) with no build step. It exports apply, inject, and name, and the bundle layer cordis.patch.yml inserts it into the profile composition.

License

MIT