Preface

When working on long tasks in DeepSeek Harness (DSH), it’s common to switch tool presets midway, such as from “code” to “writing,” or from one toolset to another. Switching presets directly within the original session leaves traces of old tool invocations in the history, making the new preset prone to reading incompatible context.

Common practices include manually copying the conversation, restating the objectives, or starting a new session from scratch. Both approaches are time-consuming and risk missing key decisions, file paths, or unprocessed images.

Below, we introduce dsh-plugin-bridge (GitHub: Totoro-qaq/dsh-plugin-bridge). It folds the current session into a fixed five-part handover summary, allowing for preview before migration. This enables continuing work in a clean target preset without altering the original session.

What is it

dsh-plugin-bridge is a workflow plugin for DSH, maintained by Totoro-qaq. The project has 112 stars and 4 forks on GitHub, with the npm package currently at version v0.3.0 under the MIT license.

The plugin is positioned as “previewable cross-preset session migration”: it transfers the source session’s state, source model intent, and unprocessed images via a fixed-schema five-part handover to the target preset. Migration can be previewed and edited beforehand; after execution, the original session remains unchanged.

It is not a model tool or skill and does not inject prompt tokens into regular sessions. It only works when the /bridge slash command is invoked.

Core Features

Fixed Five-Part Handover

Bridge folds the history into five fixed fields:

  1. Goal
  2. Current state
  3. Key decisions and conventions
  4. Key files
  5. Next step

The handover content is bounded and structurally fixed, facilitating pre-migration checks and context reiteration in the target preset.

Preview First, Then Execute

/bridge <preset> only performs a preview, without creating a target session or modifying the source session. After confirming the content is correct, execute the migration with --go.

Migrate State, Not Tool Traces

Decisions, paths, current state, and next steps are carried into the clean target preset; incompatible calls from old tool setups are not transferred.

Fail Closed

The target session pauses the goal before starting. If this cannot be guaranteed, Bridge clears or cancels the target and does not send a model request.

Image Handling

  • Images already analyzed by the assistant: The original response is copied; the original image is not resent by default.
  • Unprocessed images and target supports images: The original image is copied via the attachment gateway, preserving the source VLM.
  • Unprocessed images and target is text-only: Images are rejected during the prompt admission phase, with a visible text fallback sent instead of hidden local VLM calls.

Official WebUI Native Card

In the official WebUI of DSH 0.1.1-rc.2 and later, /bridge renders as a native card. Text mode flattens the five parts into plain fields and list lines; Markdown mode retains full editing freedom; Preview mode renders Markdown or a complete JSON tree. Long content scrolls within the card, with the action bar always accessible. Clicking “Confirm migration” opens the created target session.

Custom UIs implementing the official conversation.chat.commandview slot will automatically receive the same card. Other clients can still use full server results, summary file workflows, and target title/session ID fallbacks.

Installation and Enabling

Requires Node.js ≥ 22. Install via npm:

dsh plugin --profile web add dsh-plugin-bridge
# Restart dsh web once after installation

To pin a GitHub version, use:

dsh plugin --profile web add github:Totoro-qaq/dsh-plugin-bridge#v0.3.0

Uninstall:

dsh plugin --profile web remove dsh-plugin-bridge

Restart dsh web after uninstallation as well.

After installation, it’s recommended to run /bridge --doctor to check if the host contract is complete after DSH upgrades; it lists missing required gateway methods instead of vague errors.

Typical Usage

Enter the following commands in the official WebUI.

List migratable target presets:

/bridge

Check host contract (recommended after DSH upgrades):

/bridge --doctor

Preview the handover content without creating a target or modifying the source session (using the code preset as an example):

/bridge code

Execute migration, with the target reiterating and awaiting confirmation:

/bridge code --go

Execute migration, with the target reiterating and starting work in the same request (saving one confirmation request):

/bridge code --go --continue

On older or non-native card clients, you can first correct the printed summary file and then execute:

/bridge code --go --file <path>

The workflow roughly is: Fold history → Generate five-part handover → Preview/Edit → Create clean target session → Pause and inject goal → Reiterate → Wait or continue. If unsatisfied with the handover, archive the target session and return to the source session to retry.

Use Cases and Notes

Who It’s For

  • Those who need to switch presets midway during long tasks without manually restating context.
  • Users who need to review the handover content before migration or fine-tune the five-part summary before execution.
  • Sessions with key decisions, file paths, or unprocessed images that need to be carried over to a new preset.
  • Developers who want the original session to remain intact and reversible as a pre-migration reference.

Migration Mode Comparison

Scenario Behavior Cost
Installed but /bridge not invoked No prompt injection 0 Bridge tokens
/bridge code (preview only) One bounded summary worker No target session created
--go (default) Target reiterates and waits One additional explicit confirmation request
--go --continue Reiterates and starts work immediately Fewer requests

Compatibility

DSH Baseline Server-side Handover Native Card
0.1.0-rc.6 Supported Not supported
0.1.0-rc.7 / rc.8 Supported Contract check
0.1.1-rc.2 Supported Supported (doctor 13/13)

CI covers Node.js 22 and 24. It’s recommended to run /bridge --doctor after each Harness upgrade.

Current known limitations:

  • A WebUI restart is required after installation.
  • Native cards automatically open the target via the official Session runtime; older clients fall back to title and session ID.
  • During worker execution, progress indicators are shown; fixed three-run sample time is approximately 7.4–12.8 seconds, with previewTimeoutMs as a hard limit.
  • Pure text models cannot check unprocessed images.
  • Native card duplicate gating currently only includes fixed three-run samples, serving as release evidence rather than statistical assurance.

Security and Permissions

The plugin runs with the permissions of the current dsh process, accessing files and network accessible to that process. Before installation, please read the source code and confirm the MIT license terms. Verify the actual behavior in cordis.patch.yml and under lib/ in the GitHub repository. The community directory SkillHub is not officially affiliated with DeepSeek / High-Flyer, and the plugin is independently released by community maintainers.

Conclusion

dsh-plugin-bridge addresses the context migration issue when switching presets midway in long DSH tasks: fixed five-part handover, previewable and editable, original session untouched, and target session starting cleanly. For developers who need to switch between toolsets without losing decision and file context, this is a practical slash command workflow ready for implementation.