Open-source project
liangmianya/dsh-synapse avatar
liangmianya/dsh-synapse

dsh-synapse: A Canvas-Based Conversation Map Plugin for DeepSeek Harness

A visual, non-linear conversation workspace plugin for DeepSeek Harness ; A canvas-based session explorer and branching workspace for DeepSeek Harness.

460 stars48 forksJavaScriptMIT

At a glance

What is it?
dsh-synapse is a plugin for DeepSeek Harness that organises sessions, follow-up questions, and conversation branches into a draggable, zoomable canvas. It targets developers who use DeepSeek Harness and want a visual overview of multi-branch conversations without creating a separate session history.
Who is it for?
dsh-synapse is the right addition for developers who use DeepSeek Harness's web profile and find themselves losing track of branching conversations. It adds a canvas view without replacing or duplicating the session data that DSH already stores.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 36 days ago.
What is it written in?
Mainly JavaScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What dsh-synapse Solves in Multi-Branch Conversations

DeepSeek Harness (DSH) manages AI conversations as sessions, and its native fork mechanism creates branches when a user starts a new line of inquiry from an earlier point. In a linear conversation this is easy to follow, but when the same topic spawns multiple branches with follow-up questions and sub-threads, the standard conversation list view loses the relationships between sessions.

dsh-synapse addresses this by rendering sessions, follow-up questions, and branches as cards on a shared, pannable, zoomable canvas. Each card connects to others based on DSH's native fork relationships, so the visual structure reflects the actual branching of the conversation rather than an arbitrary layout the user has to maintain. The README describes the plugin as a visual, non-linear conversation workspace built on top of DSH.

The target users are developers who already use DSH and want to orient themselves in a complex multi-branch exploration without switching to a different tool. The plugin does not replace DSH's native conversation view: switching back to the Conversations tab in DSH returns to the standard interface, with the same session context preserved.

The README lists four capabilities: a conversation map that puts follow-ups, branches, and separate sessions on a single operable canvas; native fork relationships preserved as card connections rather than a separate history; a text-selection shortcut that carries selected text into a new follow-up; and bidirectional sync so that switching sessions in either the canvas or the native view keeps the context consistent.

How the Canvas Plugin Works with DSH's Session Data

The plugin reuses the existing DSH Web Server rather than starting a new process or proxy. When users switch to the Session Map tab in DSH's top navigation, Synapse renders the canvas in the same browser context. When they switch back to Conversations, nothing in the session state changes.

DSH session logs remain the source of truth. Synapse reads committed session events and projects them onto the canvas; it does not write to DSH's session storage. The canvas layout, node positions, and visual state are stored separately in $DSH_HOME/synapse/. Deleting that directory removes the canvas layout but does not touch DSH session data.

The README describes bidirectional synchronisation: switching to a session in the canvas updates the active DSH session, and returning to DSH's native conversation view keeps the same context. The plugin also supports selecting text within a response to carry it forward as the starting point for a new follow-up question. A set of configurable quick-append words can be added to the follow-up.

Installing dsh-synapse in a DeepSeek Harness Web Profile

The plugin requires Node.js 22.19.0 or newer, a DeepSeek Harness installation that supports the profile plugin mechanism, and the web profile enabled. Install the plugin and start DSH with:

powershell
corepack pnpm dsh plugin --profile web add dsh-synapse
corepack pnpm dsh web

After starting, switch to the Session Map tab in DSH's top navigation. The canvas loads in the same browser window without any additional server.

For development, the repository provides a standard build and test cycle:

powershell
corepack pnpm install --frozen-lockfile
corepack pnpm run build
corepack pnpm test

The build step checks the three entry point files (index.js, client.js, app.js) with Node's syntax checker and runs the test suite in test/. The package.json version is 0.4.1.

What the Plugin Does Not Touch

The README explicitly documents the plugin's boundary with DSH. The plugin does not modify prompts, model requests, tool schemas, provider routing, or reusable KV-cache prefixes. These are DSH concerns that remain entirely outside the plugin's scope.

The internal patch mechanism uses the cordis.patch.yml file to integrate the plugin into DSH's plugin host. This patch is limited to the web profile. DSH profiles other than web are not affected and the plugin does not load for them.

The README notes that the canvas layout data in $DSH_HOME/synapse/ is independent of DSH session storage. A user can delete the synapse directory to reset the canvas without affecting any conversation history. This separation means the plugin does not create a risk of data loss for session content, only for canvas layout preferences.

The plugin is published as a versioned npm package (0.4.1 at the time of the last push) and lists its entry points explicitly in package.json: index.js, client.js, and app.js. The cordis.patch.yml file contains the Cordis framework patch that integrates the plugin into DSH's host. These files are all included in the npm package files list, meaning a fresh install from npm pulls the complete runtime without requiring a separate build step from source.

Limitations and When dsh-synapse Is Not the Right Choice

The plugin is specific to DeepSeek Harness's web profile. Developers who use DSH with a different profile, or who do not use DSH at all, cannot use dsh-synapse. It is not a general-purpose conversation canvas for arbitrary AI APIs.

The canvas projects already-committed events; it does not show in-progress conversations until they produce a committed event in DSH's session log. The README does not document the exact timing of when new events become visible on the canvas.

The documentation directory docs/ contains four documents described in the README: a Chinese guide covering installation, startup, configuration, usage, uninstall, and limitations; an English guide covering the same topics; a development and release guide covering local verification, GitHub Actions, version tags, and npm publishing; and an architecture and boundary document covering session ownership, projection, data storage, and model influence. The architecture document is the most relevant for developers who want to understand exactly what the plugin reads and does not read from DSH's internals.

For comparison, conversation mapping tools like Kialo or mind-mapping applications offer visual conversation structuring but operate as standalone tools disconnected from AI session history. The key difference is that dsh-synapse reads directly from DSH's native fork relationships, so the visual structure matches the actual session tree rather than a manually drawn diagram. The trade-off is that dsh-synapse is only available inside DSH.

dsh-synapse is MIT licensed. The repository had its last push on 2026-08-26.

Editorial conclusion

dsh-synapse is the right addition for developers who use DeepSeek Harness's web profile and find themselves losing track of branching conversations. It adds a canvas view without replacing or duplicating the session data that DSH already stores. It is not compatible with DSH profiles other than web, and it does not work with DeepSeek Harness installations that do not support the plugin mechanism. The canvas layout is stored in $DSH_HOME/synapse/, separate from session data, so removing the plugin's data does not affect the DSH conversation history.

Frequently asked questions

Does dsh-synapse start a separate server alongside DSH?

No. The README states that the plugin reuses the existing DSH Web Server and does not start a second application or proxy system.

Does dsh-synapse store or modify conversation content?

No. DSH's session log stores conversation content. Synapse only projects already-committed events onto the canvas. The canvas layout data is stored separately in $DSH_HOME/synapse/ and is not conversation content.

Which DSH profile does dsh-synapse require?

dsh-synapse requires the web profile. The README states the built-in patch only supports DSH's web profile, and the install command uses the --profile web flag.

Official sources

  1. Issues
  2. liangmianya/dsh-synapse on GitHub
  3. License: MIT
  4. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/liangmianya-dsh-synapse.svg)](https://hysenlabs.com/projects/liangmianya-dsh-synapse)