dsh-web
zhu1090093659
DeepSeek Harness (DSH) Web 插件聚合生态 · 万物皆插件,通过创意工坊分发||DeepSeek Harness (DSH) Web Plugin Aggregation Ecosystem · Everything is a plugin, distributed via the Creative Workshop
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:guhanfei-ai/dsh-mindmap
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
A DeepSeek Harness plugin that turns a plain Markdown file into a live mindmap. The working directory is the document: the chat is the editor, the AI edits the .md step by step, and the right-side floating panel re-renders the mindmap in real time.
Project status: pre-1.0. The current feature set (see CHANGELOG) is implemented and covered by unit tests, but cross-version compatibility beyond the development environment is not yet certified.
.md one step, the panel follows instantly.mindmap_create / mindmap_open / mindmap_get / mindmap_update) — plain Markdown files in the session working directory; the root node title is the filename and stays in sync both ways (renameRoot renames the file, collisions are rejected).mindmap_* tool results), so every AI edit re-renders immediately..md first reads it through the local read-only route, while AI fallback loading still recovers from case-only path mismatches, inline tool errors, and a ~30s watchdog timeout with one-click retry.dsh-better-sidebar is installed, the mindmap registers as a native single-instance tab (dsh-mindmap:mindmap) inside Better Sidebar, with a compact one-row toolbar (mindmap list, current mindmap, and export on the same line); the header 思维脑图 button opens or focuses that tab. When Better Sidebar is absent, the panel falls back to a standalone floating right panel toggled by the 思维脑图 button — drag-resizable (280px ~ 80% viewport), persisted, and pushing the chat left (layout-push) so the two never overlap. AI create/open/view intents always open or focus the panel/tab and switch to the target document, including when it is currently closed or the same document is opened again. The mode switch is fully reversible: if Better Sidebar is unloaded mid-session, the standalone panel and layout-push CSS are restored automatically..md renders it through the read-only route first, then hands it to the AI for editing when the draft is empty. Labeled 目录 in standalone mode and 脑图列表 in sidebar mode..md replaces the previous one.#/- source. The button shows 已复制 ✓ for about two seconds on success; failures reuse the export error slot.mindmap_update calls for that document in the same session do not interrupt the flow. The settings page also offers “every write” and “disable ordinary confirmations”. Renames, deletes, and broad rewrites still require a separate confirmation; the current workspace shows and can revoke the current-session grant. Trusted automation can explicitly set requireApproval: false to skip ordinary confirmations; high-risk writes remain gated. The client has no write path to the filesystem — every edit goes through the AI tools.Inside Better Sidebar, the mindmap list uses the host's 14px body typography. Markdown files carry a compact M badge; folders and other files use 14px outline icons. Other file formats are display-only, without hover feedback, opening, dragging, or context menus; folders remain expandable. Tabs, actions, and hints use the host's 12px typography role. Standalone mode retains its original appearance, and mindmap node typography, zoom, and image export are unchanged.
The embedded M badge uses a transparent background and inherits the filename's theme color for both its bold letter and outline, so it follows light/dark themes and custom skins without relying on accent-color contrast.
When you ask for a mindmap without naming a location — "创建一个脑图", "把刚才的讨论整理成脑图", "盘点一下这个问题" — the file lands in .mindmaps/, the mindmap inbox:
.mindmaps/20260918-155230-项目盘点.md
YYYYMMDD-HHmmss stamp is read by the host from the real clock; the model only supplies the short description (cleaned and truncated to 24 characters). Two captures in the same second get -2, -3, … suffixes — an existing file is never overwritten, and the write-confirmation names the exact file it is about to create..mindmaps/ is created on first use, not at install time. The directory tree shows it as 脑图收件箱(.mindmaps), because a dotted folder otherwise reads as tool residue..gitignore for you. A mindmap stays an ordinary Markdown file: review it, diff it, commit it, or move it somewhere permanent.docs/架构脑图.md, planning/迭代计划.md, or right-click a folder in the tree and choose 在此目录新建 Markdown 脑图. An explicit directory is never rewritten into the inbox (and still has to stay inside the session working directory).| Component | Baseline |
|---|---|
| Node.js | 20.11 or newer |
| DeepSeek Harness | tested against 0.1.1-rc.2, 0.1.2-rc.1, and 0.1.5-rc.1 |
Development (link install, live source):
dsh plugin --profile web add link:/path/to/dsh-mindmap
Released tag:
dsh plugin --profile <profile> add <pkg>#v<version>
| Tool | Description |
|---|---|
mindmap_create(name? \| description, directory?) |
Create a mindmap and show it in the panel (fails if the file already exists). With name, the file is <name>.md; without it, pass a short description and the host names the file YYYYMMDD-HHmmss-<description>.md inside the .mindmaps/ inbox. Pass directory only when the user chose a location. |
mindmap_open(path) |
Open an existing .md as a mindmap in the panel. |
mindmap_get(path) |
Read the current Markdown content and revision of a mindmap document. |
mindmap_update(path, content, renameRoot?, expectedRevision?) |
Write the full Markdown; pass the read revision to reject stale writes; optionally rename the root node (renames the file, collisions rejected). |
npm run build:client # assemble the runtime client.js from src/client fragments
npm run verify # rebuild + syntax check + node --test
npm pack --dry-run # inspect the files that will enter the npm package
The browser implementation is maintained under src/client/ and assembled into the single client.js entry required by DeepSeek Harness. Edit the source fragments, then run npm run build:client; do not hand-edit the generated entry.
MIT License. See LICENSE for details.
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: knowledge、markdown、visualization。