The design philosophy of DeepSeek Harness (DSH) is “everything is a plugin.” During use, developers often need to ask quick questions without interrupting the main conversation, or temporarily record contextual information. Official built-in commands cannot directly meet these needs. The dsh-btw plugin provides Claude Code-style /btw side-question commands and /remember session memo commands, addressing these two pain points.

Core Features

This plugin is a zero-dependency bundle that registers two slash commands for the profile:

  • /btw <question>: Side question. Forks a lightweight subagent with tools disabled, answers using the current session context, displays the answer as command results, and does not enter main conversation history or persist to disk.
  • /remember <note>: Session memo. Records a by-the-way note, ensures the model remembers it throughout the current session, and supports persistence to disk.

Installation and Activation

Run in the dsh source repository root:

cd D:\dsh\deepseek-harness
pnpm dsh plugin --profile web add "link:D:\dsh\btw"
  • link: is linked install: changes in the source directory take effect immediately, suitable for iteration.
  • This command adds a dependency to the profile’s package.json and automatically merges it into dsh.profile.bundles.

Verify configuration:

pnpm dsh --profile web --dump-config

After restarting the client, type / in the input box; btw and remember should appear in the command menu.

Usage Examples

/btw What was that config file called again?
→ The subagent answers in the background without interrupting the main flow

/remember The user's surname is Zhang; address them as "Engineer Zhang"
→ Records the memo, and the model will keep it in mind for the rest of the session

/remember
→ Lists memos recorded in this session

/remember clear
→ Clears memos in this session

/remember forget 2
→ Deletes the 2nd memo

Technical Details

/btw Side Question

The working principle of /btw is to fork a subagent:
1. Parses input and truncates it if it exceeds 2000 characters.
2. Retrieves the service via ctx.get('subagents').
3. Sets toolFilter: { allow: [] } when forking the subagent to disable all tools.
4. Returns the result as a log-only event, does not enter model context, and does not persist to disk.

/remember Session Memo

The purpose of /remember is to inject memory:
1. Immediate response: injects the note into the session as a user message.
2. Session memory: injects the note into the remember:notes section of the system prompt, effective for every request.
3. Persistence: writes to $DSH_HOME/btw/notes.json, bucketed by session id.

Notes

  • Dependency requirements: /btw requires the profile to provide the subagents service + fork provider (included with the dsh-base bundle); if missing, the command reports an error; /remember is not affected.
  • Version range: peerDependencies range is >=0.1.0-rc.5 <0.2.0.
  • Limitations:
  • /btw input limit is 2000 characters.
  • /remember is limited to 20 entries, with 500 characters per entry.

Uninstallation

pnpm dsh plugin --profile web remove dsh-btw

(It will also remove this layer from dsh.profile.bundles; to clean up data, delete the C:\Users\hukou\.dsh\btw\ directory.)

Ecosystem Information

  • Maintainer: wensincai
  • Category: Client
  • License: MIT
  • Directory page: https://www.skillhub.cn/plugins/wensincai/btw4DeepseekHarness
  • Source code: https://github.com/wensincai/btw4DeepseekHarness