Introduction¶
Giving a lecture note or a book to AI for organization usually results in a Markdown outline: concepts are broken down into items and placed into hierarchical indentation. Outlines show order, but they cannot reveal the prerequisite, relationship, or contrast relationships between concepts. To find out “what needs to be known before learning this concept,” most of the time you have to rely on search or paging through the table of contents. Synapsis (Analysis Domain) (mathilde1214/dsh-synapsis) is a panel plugin for the DeepSeek Harness (DSH) Web UI that spreads concepts into a map, progressing layer by layer and shrinking cards based on distance. Below is an introduction to what it does, how to install it, and how to use it.
What is it¶
Synapsis (Analysis Domain) is maintained by Mathilde1214. It is a client-side DSH plugin; the current version is 0.20.0, licensed under MIT. It solves the problem that when the volume of material exceeds a few dozen concepts, pure text outlines cannot express the network relationships between concepts. It expands book concepts into a concept map; each layer focuses on a branch. Cards include definitions, formalization, intuition, examples, common pitfalls, and prerequisites and following concepts.
The plugin itself does not perform OCR or parse PDFs; it recognizes the .mindmap.json format. The step of organizing lecture notes and converting PDFs into maps is left to the DSH chat.
Core Features¶
Scrolling enters. The scroll wheel zooms anchored to the cursor; each layer is pinned to a readable font size. Continuing to push forward, the nearest sub-branch under the cursor becomes the new map root, shrinking by half and returning to the previous layer. No new windows are opened, and text does not become blurry.
Each layer is a complete map. After switching focus, the layout rearranges into a full circle. When sub-branches expand, they form a mind map rather than being squeezed into a sector of the parent map. Cards are layered by distance: the focus is the full card, the sub-level is the title plus a summary, further away only the title remains, and even further it condenses to a point.
Sidebar concept card has 5 content columns. The card includes definition, formalization, intuition, examples, and common pitfalls. It also has source, prerequisites, following concepts, mastery, and personal notes. Empty columns display “Click here to write…”; double-click to enter edit mode. The formalization column shows LaTeX source code with a live preview when editing.
Lines are of four types. Dependent is a solid line, Prerequisite is amber dashed, Related is cyan dotted, and Contrast is magenta double lines. Parent-child relationships are expressed by the tree structure, not by relationship edges.
Search and inline editing. ⌘K / Ctrl+K searches titles, English names, body text, and notes. Enter jumps to that concept and centers it. Tab adds a sub-concept, Enter adds a sibling, F2 renames, Delete removes; when deleting a node that has sub-concepts, it asks whether to delete together or lift the sub-concepts. Auto-save occurs 0.6 seconds after editing, and pending changes are flushed to disk before switching views. If saving fails, you cannot switch away. The previous version is saved to .history/ before writing the file.
Learning path and review mode. Select a concept and click “Learning Path”; on the right, it is sorted into an ordered chain by hard prerequisites. Clicking “A → B” provides the shortest mandatory chain from any start point to it. In review mode, up to 15 concepts with body text are drawn at a time. It first shows the title, flips to reveal the content for recall, and then rates “No memory / Vague / Got it.” The score is written back to mastery, and vague ones are placed at the front of the next round.
Export and Outline. The top bar export exports the current layer: PNG, SVG vector graphics, or Markdown outline. SVG scales without blurring, and the Markdown is an indented outline suitable for pasting into note-taking software. The Outline view replaces the canvas with a tree; double-clicking a row jumps to that layer, which is faster than zooming when searching for items in a book of 200 concepts.
Two sets of paper and font. Light beige paper, dark night paper, both with paper textures. The top bar “Settings” allows changing the paper (Beige / Gray-white / Pale Green), font (KaiTi / Songti / Heiti), font size, and brightness. The choice is remembered. Formulas are rendered by the built-in KaTeX, recognizing $$...$$, $...$, \(...\), \[...\], and does not depend on the network.
Installation and Enabling¶
Installation commands come from the repository README. Pinning the commit hash is recommended to avoid silent replacement by upstream new code during reinstallation.
-
First, confirm Desktop prerequisites. Launch Desktop normally once to initialize the profile; completely exit Desktop (not just close the window). Use Desktop’s built-in CLI to install, not the globally installed
dshvia npm:<install directory>/resources/runtime/cli/bin/dsh(Windows isdsh.cmd). -
Install from GitHub:
dsh plugin --profile desktop add github:Mathilde1214/dsh-synapsis#<commit-hash>
Pick the commit hash from the repository’s commit list. The repository is pure JavaScript, and the build artifact client.js is included with the repository commits, so no prepare build is needed, and pnpm’s allowBuilds does not need to be enabled.
- Install from a tarball (offline, intranet):
pnpm pack # Execute in the repository root to get dsh-synapsis-<version>.tgz
dsh plugin --profile desktop add ./dsh-synapsis-<version>.tgz
- Install from a local directory (use when modifying code):
dsh plugin --profile desktop add /absolute/path/to/this/repo
You can also install from the panel: plugin_manager: install_bundle, fill in the absolute path of this directory. After installation, refresh the host page (Desktop: Ctrl/Cmd+R).
- Uninstall:
dsh plugin --profile desktop remove dsh-synapsis
-
Compatibility.
engines.dshis>=0.2.0 <0.3.0. DSH validates this on installation and when starting the profile. If it is not met, it will be rejected with an explanation. The plugin only uses theslots,webServer,connection,tools, andsystemPromptextension points. -
Install from plugin index. The repository includes
plugin-market/index.json. First, open “Custom plugin indexes” in “Plugins -> Experimental Plugins”, then go to “Plugins -> Discover -> Add index source” and fill in:
https://raw.githubusercontent.com/Mathilde1214/dsh-synapsis/main/plugin-market/index.json
Typical Usage¶
After installation, click “Synapsis” in the sidebar, and a map opens. On the first installation or when there is no map in the library, it displays a sample “Example · Start Here” with five nodes. It will not be regenerated after deletion.
Start with browsing. Scroll forward to enter sub-branches, scroll halfway back to return to the previous layer. Dragging on the empty canvas pans. Click a relationship line to select it; the top bar displays “A → B” and three type buttons to change the type or delete it; ⌘Z to undo; Delete removes the line; Esc cancels.
Next, try organizing. Tab adds a sub-concept, Enter adds a sibling, double-click the body to enter edit mode for that layer. Hold Shift and drag from one card to another to create a prereq. Dragging the same pair again changes it to related, the third time to contrast, and the fourth time deletes the line. Dragging in reverse changes the direction and resets to prereq. Dragging a card directly onto another card can change ownership; dragging into one’s own descendant is rejected.
Want to start from a lecture note. The plugin does not parse PDFs itself; it only recognizes .mindmap.json. The top bar “Import” will prompt you to drag the PDF into the chat on the left, send the specific sentence to it, and specify which library directory the map will fall into (there is a one-click copy button there). After generation, switch the panel or press ↻ to see. This way, you don’t need to configure the model key in the plugin, and OCR is not duplicated.
Maps are stored in the library directory, and the plugin is installed in the DSH profile; the two are independent. Upgrading or uninstalling/reinstalling only affects the code copy under the profile; the library directory is not touched.
Applicable Scenarios and Notes¶
Suitable for people who want to organize lecture notes, books, or courses into concept maps and are already working in the DSH Web UI. It handles the prerequisite, relationship, and contrast relationships between dozens to hundreds of concepts, rather than performing full-text search or note synchronization.
Pay attention to three points. First, the plugin runs with the permissions of the current dsh process and reads the data directory configured by it. You should check the source code and the MIT license before installing. Second, the security model: the plugin runs on 127.0.0.1 and provides a set of /synapsis-api/* routes via DSH’s own web server; there is no independent port. Write operations (/save, /create, /delete) must pass DSH’s connection check. Requests initiated by non-DSH pages are rejected (401) and must include content-type: application/json (otherwise 415). The request body limit is 8 MB. Do not expose the DSH port to the LAN or the public internet using methods like --host 0.0.0.0; remote access should go through an authenticated reverse proxy. Third, saving includes version numbers. When there is a conflict, it only prompts to select “Reload” or “Overwrite with mine”. When multiple tabs edit the same map simultaneously, they do not overwrite each other.
Ending¶
Synapsis (Analysis Domain) puts concept maps into the DSH Web UI: scrolling for progression, layering by distance, inline editing, prerequisite chains, and review. It is suitable for those who need to maintain a lecture knowledge structure for a long time. The directory page is at https://www.skillhub.cn/plugins/Mathilde1214/dsh-synapsis , and the source code is at https://github.com/Mathilde1214/dsh-synapsis .