Preface¶
Handling complex tasks with DeepSeek Harness (DSH) is rarely a straight line: you might branch into a new session in the second round of questions to try another approach, or switch back and forth between several parallel sessions to find context. The native conversation list can display sessions, but it’s hard to see at a glance “who branched out from which round, which path is still being explored, and where the current focus is.”
dsh-synapse (Synapse) is a client-side web plugin maintained by the community maintainer liangmianya, currently classified as “client-side” in the SkillHub Plugin Library. The directory shows GitHub 184 stars, 24 forks, uses the MIT license, and the current package version is 0.3.0. It does not replace DSH’s models, tools, sessions, or permission logic, but adds a visual workbench to the native conversation interface, presenting sessions, follow-ups, and branches within the same workspace as a draggable, zoomable conversation map.
Please note: SkillHub is a DSH plugin community directory for Chinese users, with no official affiliation to DeepSeek / High-Flyer. DSH itself operates on the principle of “everything is a plugin,” and such directories facilitate discovery and installation, but they do not equate to an official app store.
What Is This¶
In one sentence: dsh-synapse is a visual, non-linear conversation workspace plugin for DeepSeek Harness—allowing you to browse conversation relationships on a single canvas while continuing to use DSH’s native capabilities for opening, following up, branching, and archiving.
The maintainer is liangmianya, and the source code repository is: https://github.com/liangmianya/dsh-synapse. The plugin only injects patches into the Web component of the web profile, reusing DSH’s existing Web services without launching a second application process or creating a second Agent stack.
Core Features & Highlights¶
Conversation Map: One-Click Switch Between Native Dialog and Canvas¶
The top provides a toggle between “Conversation Map” and “Dialog.” Once on the canvas, sessions within the same workspace are presented as card nodes. Clicking “Dialog” at the top or “Open in DSH” on a card returns you to the native chat interface. Complex explorations don’t require sacrificing the familiar DSH dialog experience.
Visible Branches: Real Fork Points Connected¶
Branches are created via DSH’s native session fork, and Synapse connects nodes according to the actual branching rounds, rather than flattening sessions from a list into unrelated cards. When you want to preserve an alternative path, just use the “Branch” operation—the relationship remains on the map.
Continuous Projection & Tool Process Folding¶
User messages and assistant replies are projected onto corresponding cards; streaming replies are continuously updated in the card’s “Details” section. Tool calls and results are paired by callId and folded into the corresponding assistant reply card, no longer occupying a separate card, making the canvas cleaner.
Bidirectional Session Synchronization¶
The native dialog page and conversation map synchronize the current session: switching focus on one side highlights the corresponding item on the other. Clicking a session in the sidebar or a card on the canvas has the same effect.
Canvas Interaction & Workspace Mapping¶
Supports dragging the canvas, zooming the view (up to 4×), moving cards (position is automatically saved), expanding or collapsing subsequent conversation subtrees, and one-click positioning of the current session. Smooth scrolling is possible within cards. The plugin reads the DSH workspace and directory attribution to facilitate creating and browsing sessions in the correct project context.
No Changes to Models & Tool Execution¶
Synapse only reads committed session events and renders the canvas. It does not add system prompts, tool schemas, or request contexts to model requests, nor does it affect KV cache reuse. Session content is still saved and managed by the DSH session log.
Installation & Activation¶
The plugin runs with the permissions of the current dsh process. It is recommended to read the source code and MIT license before installation to confirm acceptance of its data and security boundaries.
Environment Requirements¶
- DeepSeek Harness installed with support for the
dsh pluginprofile plugin mechanism (the official README specifies versions from 2026-08 and later); - Node.js ≥ 22.19 (the
enginesfield inpackage.jsonrequires>=22.19.0); - This plugin only supports the
webprofile.
Installation from GitHub¶
The installation command is consistent with the directory page and README:
corepack pnpm dsh plugin --profile web add github:liangmianya/dsh-synapse
The GitHub installation will execute the package’s prepare script (node --check syntax validation).
If using pnpm ≥ 10, the default may block build scripts for git dependencies. When installation is blocked, write the exact key printed by pnpm (package name plus tarball URL containing the commit, not the bare package name) into the DSH profile’s pnpm-workspace.yaml:
allowBuilds:
"dsh-synapse@https://codeload.github.com/liangmianya/dsh-synapse/tar.gz/<commit>": true
Then re-run the installation command. This key will change after upstream pushes a new commit, so you need to copy the new key printed by pnpm.
For local development, you can use link: to point to a local checkout for immediate effect upon code changes:
corepack pnpm dsh plugin --profile web add link:E:\path\to\dsh-synapse
Starting the Web Service¶
corepack pnpm dsh web # Default http://127.0.0.1:3080
corepack pnpm dsh web --port 0 # Automatically assigns an available port if 3080 is occupied
Open http://127.0.0.1:3080/ and click “Conversation Map” at the top to enter the canvas.
Uninstallation¶
corepack pnpm dsh plugin --profile web remove dsh-synapse
remove only removes the plugin dependency and profile activation layer, it does not delete canvas data ($DSH_HOME\synapse\workspaces.json). After reinstallation, old data will be automatically migrated and restored. For complete cleanup, manually delete the $DSH_HOME\synapse\ directory.
Typical Usage Examples¶
Following the official README’s usage flow, daily operations can be summarized in four steps:
- Select a working directory in DSH, or open an existing session;
- Click “Conversation Map” at the top to enter the canvas;
- Browse cards: click a card or sidebar session to switch the current session (the native page synchronizes accordingly); use “Branch” for alternative paths;
- Click “Details” at the bottom of a card to view the complete dialog; return to the native interface via “Dialog” at the top or “Open in DSH” on the card.
Optional Configuration¶
The plugin is injected via the profile’s cordis.patch.yml, and you can override the config in your own patch using line id synapse (all keys must be restated):
| Key | Default Value | Description |
|---|---|---|
dataFile |
$DSH_HOME/synapse/workspaces.json |
Canvas metadata persistence path |
autoProjection |
true |
Whether to automatically project committed DSH session events as canvas cards |
projectionWorkspaceTitle |
DSH Task |
Title of the projection workspace |
trustedHosts |
[] |
Additional allowed hosts; localhost and 127.0.0.1 are always allowed, add your host for LAN access |
Example:
- id: synapse
config:
dataFile: !!js dshHomePath('synapse/my-workspaces.json')
autoProjection: true
projectionWorkspaceTitle: My Task
Use Cases & Considerations¶
Who is it suitable for:
- Exploring multiple approaches in parallel within the same project, needing to see branching relationships rather than blindly searching in a session list;
- Long-chain debugging or research, wanting to locate “where the branch occurred and which path has been abandoned” on a single screen;
- Already accustomed to DSH Web dialog, wanting to add a layer of visual organization without switching Harness or building a second UI;
- Needing tool call details to stay within the assistant card, preventing the canvas from being overwhelmed by numerous tool nodes.
Please note before use:
- Permissions & Security: The plugin runs with the same process permissions as DSH; check the source code and license before installation. Canvas metadata is saved locally in
$DSH_HOME/synapse/workspaces.json(currently schema v4, with automatic migration from older versions), separate from session content. - Data Boundaries: A single message projection limit of 8000 characters; exceeding this will be truncated with a note “—… (see details for full text)”. Deleting
workspaces.jsonwill lose the canvas layout and branch anchors, but not the DSH session logs. - Single Instance Recommendation: Two
dsh webinstances sharing the same profile will write to the sameworkspaces.json; runtime cross-process write locks and external modification warnings are in place, but the risk of last-write-overwrite remains—please only run a single instance. - Platform Limitations: Only web profile; Headless or other profiles will not load this plugin.
- Community Data: Stars and forks change over time; at the time of writing, the SkillHub directory shows about 184 stars; refer to the real-time data when you open the directory page or GitHub.
Conclusion¶
dsh-synapse takes the most “hard-to-grasp-at-a-glance” non-linear conversation relationships in DSH and places them on an interactive canvas: forking, synchronization, projection, and tool folding are all built around native session capabilities, rather than creating a separate Agent stack. If you often branch out in Harness to try different paths in parallel, this client plugin is worth installing in your web profile for a trial run.
- Plugin directory page: https://www.skillhub.cn/plugins/liangmianya/dsh-synapse
- GitHub repository: https://github.com/liangmianya/dsh-synapse