What Is dsh-synapse? A Visual Conversation Map for DSH
dsh-synapse is a visual conversation workspace plugin for DeepSeek Harness (DSH) that solves the problem of hard-to-trace linear chats and messy branch management by laying sessions, follow-ups, and branches out on a browsable, draggable, zoomable map. This article covers what dsh-synapse is, its core features, complete install/update/uninstall commands, typical usage, and common troubleshooting, so you can finally spread long conversations out on a canvas.
What Is dsh-synapse?
dsh-synapse answers the question of how to trace long conversations and manage branches: it turns sessions, follow-ups, and forks into a visual canvas where working with a chat feels like working with a map. The following positioning and facts come from the official README and Chinese guide (source):
dsh-synapse is maintained by liangmianya and open-sourced under the MIT license; it belongs to the conversation-visualization category within the DSH Plugin ecosystem. It does not replace DSH's models, tools, sessions, permissions, or web service — all conversation operations are still handled by DSH. Synapse does exactly one thing: it projects already-committed session events into cards on the canvas. That means no matter how you rearrange the canvas, real sessions stay untouched: the DSH session log stores the true content and is the single source of truth, while canvas layout data lives separately under $DSH_HOME/synapse/ and can be deleted without losing any session. The plugin also promises not to modify model requests, system prompts, tool schemas, provider routing, or reusable KV-cache prefixes, so installing it never alters model behavior.
What Are the Core Features of dsh-synapse?
Its core capabilities revolve around four points: a conversation map, preserved real branches, smoother follow-ups, and two-way sync, connecting cards along DSH's native fork relationships instead of inventing a second session history. These features come from the official README and Chinese guide (source):
- Conversation map: sessions, consecutive follow-ups, and branches from the same workspace live on one operable canvas, with canvas panning, zoom up to 4x, and one-click focus on the current session.
- Real branches preserved: cards are connected along DSH's native fork relationships, so you can create alternative paths from a finished answer without maintaining a separate history.
- Smoother follow-ups: select text inside an answer to carry it directly into a new follow-up, with editable common phrases that reduce manual copy-paste.
- Two-way sync: switching sessions between the map and native DSH chat keeps the current context consistent, so no second history ever confuses you.
- Cards and details: cards support smooth in-card scrolling and Markdown table rendering, and the Details button at the bottom of a card opens the full session record.
- Tool-call folding: tool calls and their results are folded into the matching assistant answer by
callId, so the canvas shows conclusions instead of a wall of intermediate output.
How to Install and Enable dsh-synapse?
Installing dsh-synapse requires a DeepSeek Harness from 2026-08 or later with profile plugin support, Node.js ≥ 22.19.0, and the web profile; the npm package ships prebuilt artifacts, so you only start dsh web after installing. Prerequisites and commands come from the official Chinese guide (source):
1. Install from npm — the npm package ships prebuilt output with no build authorization needed and is the simplest path:
corepack pnpm dsh plugin --profile web add dsh-synapse
2. Install from GitHub (for source auditing) — a GitHub install runs the package's prepare script, which validates JavaScript syntax with node --check:
corepack pnpm dsh plugin --profile web add github:liangmianya/dsh-synapse
3. Start the Web UI and open the conversation map — start the DSH web server, open the default address in your browser, then click Conversation Map in the top bar:
corepack pnpm dsh web
The default address is http://127.0.0.1:3080/.
4. Pick a free port when 3080 is taken — let DSH choose an available port automatically:
corepack pnpm dsh web --port 0
Never run two dsh web instances sharing the same profile at the same time.
5. Update (update) the plugin — to update dsh-synapse, re-run the install command so it follows the latest npm registry version:
corepack pnpm dsh plugin --profile web add dsh-synapse
6. Uninstall the plugin — remove only deactivates the plugin dependency and profile layer without deleting canvas data; for a full cleanup, manually delete the $DSH_HOME/synapse/ directory as well:
corepack pnpm dsh plugin --profile web remove dsh-synapse
Any leftover allowBuilds entry in pnpm-workspace.yaml is harmless and can be removed too.
Typical dsh-synapse Usage
dsh-synapse works out of the box: send a message so the session enters workspace history, switch to the Conversation Map, and click cards to move back and forth between the map and native chat. The usage steps come from the official Chinese guide (source):
1. Open a workspace and produce history — in DSH, pick a working directory or open an existing session, then send at least one message so the session enters workspace history; this is the precondition for generating cards.
2. Enter the conversation map — click Conversation Map in the top bar; committed session events are automatically projected into cards (autoProjection defaults to true and groups them under the workspace titled DSH Tasks).
3. Browse and sync sessions — click a canvas card or a session in the sidebar to sync the current session between the map and native DSH chat; both views keep the same context.
4. Branch and inspect details — use Branch on a finished answer to create an alternative path; click Details at the bottom of a card to review the full session record; use Open DSH or the top-bar Chat button to return to the native interface, still in the same DSH session.
5. Tune configuration when needed — the plugin is injected through the profile's cordis.patch.yml; override keys such as dataFile, autoProjection, projectionWorkspaceTitle, and trustedHosts in your own patch under the line id synapse. Because a DSH patch replaces that line's entire config, restate every key you want to keep.
dsh-synapse Troubleshooting
The most frequent dsh-synapse problems are pnpm blocking the install, an empty map, and LAN access failures; fix them with a full allowBuilds key, a sent message, and the trustedHosts whitelist respectively. Guidance comes from the official Chinese guide (source):
1. Install blocked under pnpm 10 or later — symptom: building scripts for Git dependencies are blocked with an allowBuilds error. Cause: pnpm 10+ blocks Git dependencies from running build scripts by default. Fix: copy the full key printed by pnpm into the allowBuilds section of the web profile's pnpm-workspace.yaml, for example:
allowBuilds:
"dsh-synapse@https://codeload.github.com/liangmianya/dsh-synapse/tar.gz/<commit>": true
The key must include the codeload tarball URL and commit rather than the bare package name; it changes when the upstream commit changes, so use whatever pnpm prints next time.
2. No cards visible on the map — symptom: entering Conversation Map shows an empty canvas. Cause: Synapse only projects committed session events, so sessions without any message produce no cards. Fix: send at least one message before opening the map, or check that autoProjection has not been overridden to false, then look inside the DSH Tasks auto-projected workspace.
3. /synapse page unreachable from the LAN — symptom: accessing the map from another host on the LAN is rejected. Cause: /synapse runs a Host check that only allows localhost and 127.0.0.1 by default. Fix: add the actual hostname or host:port to the trustedHosts array (empty by default) and restart.
4. Canvas layout intermittently overwritten — symptom: two windows open the map at once and layouts fight each other. Cause: two DSH web instances sharing one profile write the same workspaces.json, and despite a cross-process write lock, last-write-wins can still occur. Fix: always run exactly one dsh web instance for a given profile.
Use Cases and Notes
dsh-synapse suits heavy DSH users with long sessions, many follow-ups, and a habit of revisiting or forking conversations — but separate the canvas from the real session in your mind, and respect the web-profile and LAN-configuration boundaries. Use cases and limits come from the official Chinese guide (source):
Typical scenarios include: tracing long sessions — spread dozens of follow-ups across the canvas to locate a point quickly; branch exploration — create several alternative paths from one answer and compare them side by side; and session overview — browse multiple sessions on a single map and switch between them fast. Limitations worth noting: the built-in patch supports only the web profile; a single message is projected up to 8000 characters, and longer content is truncated on the card with an ellipsis note while the full text stays available in session details; the plugin reuses the existing DSH Web Server and neither launches a second web service nor creates a second set of agents, and it never modifies prompts or model requests; and before using it over a LAN, configure trustedHosts first or other devices cannot open the map page.
Project Links
dsh-synapse is an MIT-licensed open-source project maintained by liangmianya, evolving continuously as a visual conversation-map workspace for DeepSeek Harness. For the full feature list, screenshots, and plugin details, visit the dsh-synapse plugin page on this site: dsh-synapse.
This page is an independent guide rewritten from the plugin's official README — for the authoritative documentation and the latest changes, defer to the source: liangmianya/dsh-synapse. A plugin is third-party code that runs on your machine once installed; inclusion is not an endorsement — review the source before installing.
FAQ
dsh-synapse only projects committed DSH session events and never modifies model requests, system prompts, tool schemas, provider routing, or KV-cache prefixes. The DSH session log remains the single source of truth, so the canvas cannot alter real conversations or model behavior.
dsh-synapse stores canvas layout data in $DSH_HOME/synapse/ (workspaces.json by default), so deleting it only removes layout and branch anchors, never DSH sessions. Real conversation content always lives in the DSH session log; reinstallation reuses and migrates the old data.
dsh-synapse's built-in patch supports only the web profile of DeepSeek Harness, on a recent release that includes profile plugin support and a recent Node.js version. It reuses the existing DSH Web Server, launches no second app or proxy, and the npm package needs no build authorization.
dsh-synapse installs can be blocked when pnpm 10 or later refuses to run build scripts for Git dependencies. Copy the full key that pnpm prints into the allowBuilds section of the web profile's pnpm-workspace.yaml; the key must include the codeload tarball URL and commit, not the bare package name.
dsh-synapse only projects committed session events, so send at least one message to move the session into workspace history before cards appear on the map. autoProjection defaults to true and places results in the auto-projected workspace titled DSH Tasks; check that workspace for generated cards.
The dsh-synapse /synapse page runs a Host check that allows only localhost and the local loopback address by default, which blocks access from other LAN hosts. Add the hostname or host:port you actually use to the trustedHosts array, overridden in cordis.patch.yml under the line id synapse.
Related Terms
- dsh-synapse
- dsh-synapse is a visual conversation workspace plugin for DeepSeek Harness (DSH) that organizes sessions, follow-ups, and branches in the same workspace into a browsable, draggable, zoomable canvas map while keeping the native DSH session as the single source of truth.— dsh-synapse README
- Conversation map (Synapse)
- Conversation map (Synapse) is dsh-synapse's core interface: a draggable, zoomable (up to 4x) canvas where sessions, follow-ups, and branches are laid out as cards, and clicking a card syncs the current session between the map and native DSH chat.— dsh-synapse Chinese guide
- Projection
- Projection is how dsh-synapse reads committed DSH session events and renders them as canvas cards; Synapse only projects committed events and never modifies prompts, model requests, tool schemas, or KV-cache prefixes.— dsh-synapse Chinese guide
- autoProjection
- autoProjection is a dsh-synapse config key (default true) that automatically projects committed DSH session events into map cards and groups them under the workspace named by projectionWorkspaceTitle.— dsh-synapse Chinese guide
- Native fork relationship
- A native fork relationship is how DSH describes session branching; dsh-synapse connects canvas cards along these relationships to preserve real branches without creating a second session history.— dsh-synapse README