插件目录 / Developer / dsh-plugin-mindmap
dsh-plugin-mindmap
未验证 ImCabbage
功能简介
MindMap: a DeepSeek Harness plugin that distills conversations into persistent storylines with an interactive map tab.
未验证 — 尚未实测
MindMap: a DeepSeek Harness plugin that distills conversations into persistent storylines with an interactive map tab. 尚未验证——请自行安装测试。
「未验证」表示我们的自动化 CI 尚未安装过该插件。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
dsh-plugin-mindmap
MindMap — a DeepSeek Harness plugin that distills a conversation into persistent storylines and renders them as an interactive map.
中文文档 | English

Highlights
- Auto-organizes conversation logic and identifies key forks in thinking. Every storyline is one independent topic; rule-first, LLM-fallback classification runs incrementally — each new message is decided once (append / fork / new), never re-clustered in bulk.
- Click a node to revisit any past Q&A — efficiently distilled. Each node opens a detail card with the question, one-line summaries of tool calls, and the answer. Long storylines fold into multiple rows at semantic breakpoints, with bold labels marking the turns.
- Auto-distilled, persisted development memory. The classification is stored in
DEV_LOG.jsonat the workspace root. Restart the project or switch agents — the map reloads instantly with 0 LLM calls and keeps its memory.
Features
- Storyline map tab (
MindMapin the session view): one row per topic, bezier gradient ribbons, six node shapes (question / decision / feature / bugfix / refactor / research). - Status badges under every title:
进行中(ongoing, green) /有阻塞(blocked, amber) /已完成(done, blue) /讨论结束(discussion ended, gray), followed by a one-line description. - Instant open:
DEV_LOG.jsonexists and its format version matches → no rebuild, 0 LLM; new messages sync in the background and refresh automatically. - Background progress: full rebuilds show a progress bar; incremental syncs show a small hint.
Install
Prerequisite: DeepSeek Harness installed (dsh command available), a web profile in use, and pnpm on PATH (dsh plugin forwards to pnpm; install it with npm install -g pnpm if missing).
dsh plugin --profile web add github:ImCabbage/dsh-plugin-mindmap
The command installs the package into the profile with pnpm and adds it to the profile's bundle list automatically (the package declares
dsh.bundle). The host and browser bundles are prebuilt and shipped in this repo — no build step and no build-script allowlist are needed. The install writes into$DSH_HOME/profiles/<name>, so that directory must be writable.Restart the web process: stop the running
dsh weband start it again. Refreshing the browser page is not enough — the composition is fixed at boot.Verify the row is mounted:
dsh --profile web --dump-config | grep mindmapYou should see
- id: mindmapnext toname: dsh-plugin-mindmap.Open any session — a MindMap tab appears in the view tab bar.
The plugin creates
DEV_LOG.jsonin the workspace root of every project you use it with — that file is the distilled memory itself. Add it to the project's.gitignoreif you don't want to commit it.
Troubleshooting
dsh: pnpm not found on PATH— install pnpm first:npm install -g pnpm.- Permission /
EROFS/ read-only errors — the install writes into$DSH_HOME/profiles/<name>; run it from an environment where that directory is writable. - An
allowBuildshint printed bydshafter a pnpm failure — this plugin has no build script (prebuiltlib/ships in the repo), so that hint does not apply and can be ignored; check the real pnpm error above it. - The first open keeps showing "梳理新消息 / syncing" for a long time — the first full distillation needs working model credentials (LLM calls). The tab shows a warning line when LLM calls fail; check your model credentials and network.
Local development
dsh plugin --profile mindmap-test add .
(A separate test profile keeps your daily web profile untouched.)
Usage
- Chat normally; MindMap classifies in the background (progress is shown inside the tab).
- Open the MindMap tab:
- each colored ribbon is one independent topic, nodes ordered left-to-right by time;
- click a node: focus its storyline and open the detail card (question / tool-call summaries / answer);
- click empty space: clear focus;
- the small line under each title is its current status (badge + description).
- The first open (or a
DEV_LOGformat upgrade) runs one full distillation with a progress bar; after that every open is instant.
How it works
- Host half (
src/host): theMindMapGatewayservice (Typert remotesmindmap/graphandmindmap/progress) reads the session log, classifies incrementally (rules + LLM), reads/writesDEV_LOG.json, and runs background sync tasks with progress. - Client half (
src/client): registers theMindMaptab in theconversation.viewslot; fetches the graph throughctx.remote, renders instantly fromDEV_LOG, and polls background progress for auto-refresh. - RPC: Typert protocol, with manifests hand-written in
src/host/typert.host.js(host side) andsrc/host/typert.remote-client.js(client mount side), strict zod codecs.
Develop
npm install
npm run build # esbuild: lib/index.js (host) + lib/client.js (browser bundle)
Rebuild after changes, then restart the test profile's dsh web. Note: the built lib/ is committed to this repo — git installs use it directly — so commit it together with the source changes.
License
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-plugin-mindmap」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
该插件是 GitHub 源码(未发 npm)——直接从仓库装:
Web profile:
dsh plugin --profile web add github:ImCabbage/dsh-plugin-mindmap Headless(CLI)profile:
dsh plugin --profile headless add github:ImCabbage/dsh-plugin-mindmap 实测报告
尚未 L3 验证——若已跑过,见下方失败备注。
备注:尚无失败备注——排队中或尚未跑过。 浏览全部待验证失败 →