What Is dsh-synapse? A Visual Conversation Map for DSH

GuidePublished 2026-09-02Author: DeepSeek Plugin Market
dsh-synapseconversation mapDeepSeek HarnessDSH Pluginbranching
dsh-synapse is a conversation map plugin for DeepSeek Harness (DSH). Sessions and branches live on a zoomable canvas; DSH sessions stay the source of truth.

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:

bash
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:

bash
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:

bash
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:

bash
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:

bash
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:

bash
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:

yaml
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.

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

Does dsh-synapse modify my model requests or prompts?

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.

Where does dsh-synapse store canvas data? Will deleting it lose DSH sessions?

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.

Which DeepSeek Harness profiles does dsh-synapse support, and what are the requirements?

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.

How do I fix a blocked dsh-synapse install under pnpm 10 or later?

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.

Why don't I see any session cards in the dsh-synapse map?

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.

How do I open the dsh-synapse map from another device on my LAN?

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

Sources

View all articles