DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

dsh-mermaid-comm

Mermaid Comm

让 AI 在开发交流中优先用 Mermaid 图表达:对话输入框勾选按钮控制 prompt 注入 + mermaid_validate 语法校验 + Mermaid 图库。渲染由 dsh-mermaid(MrmoLabs)承担,本插件把它声明为依赖会自动装上(挂载仍需它作为 bundle 安装)。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add dsh-mermaid-comm@0.3.1
README兼容性版本

兼容性与来源证明

Mermaid Comm 以 dsh-mermaid-comm 发布,当前版本为 0.3.1。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
npm
Registry 更新时间
2026/11/5

版本

0.3.1stable
2026/9/22
0.3.0stable
2026/9/22
0.2.0stable
2026/9/12
查看其余 1 个版本收起版本
0.1.6stable
2026/9/12

相关插件

正在加载相关插件…

最新版
0.3.1
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
127.6 kB
文件数
33
Surface
web
许可证
MIT
发布源
npm
GitHub
★ 0
周下载
202
安全扫描
✓ v0.3.1 扫描通过
最近提交
2026/9/12
查看源码 ↗项目主页 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 developer-tools 分类下经过校验的插件。

Cc Safety Netcc-safety-net编码代理 CLI 钩子——阻止破坏性命令和访问机密文件Plugindsh-pluginDeepSeek Harness 社区插件市场,遵循官方插件规范:无需离开应用,即可浏览、搜索并安装 10000+ 个人工精选的社区插件。· DeepSeek Harness 社区插件市场(遵循官方开发规范):10000+ 人工精选社区插件,每日更新。Bailian Kb Dshbailian-kb-dsh面向 DeepSeek Harness 的 Bailian 知识库工具:通过 DashScope RAG API 提供 kb_search 和 kb_chat,以及 bl CLI 管理技能。Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)

README

dsh-mermaid-comm

Make the AI default to Mermaid diagrams in development conversations. Rendering is handled by dsh-mermaid; this plugin focuses on prompt guidance, syntax validation, and output safety.

Features

CapabilityWhat it does
A. Behavior guidanceInjects a systemPrompt.section: architecture, data flow, sequence, state, and dependency topics default to Mermaid — diagram first, then a short explanation. Controlled by a checkbox in the chat input; off by default (see below).
B. Syntax validationRegisters the mermaid_validate tool: dangerous-character scan first, then real parsing via the same-version mermaid-runtime shipped with dsh-mermaid.
C. Output gateListens for assistant message events; auto-fixes Unicode arrows / dangerous labels in Mermaid fences, and removes broken diagrams from the visible surface when they cannot be confirmed.
D. Mermaid VaultPersists validated diagrams to <workspace>/.dsh/mermaid/ as versioned assets: <name>.mmd (current version) + <name>.history.md (evolution history) + INDEX.md. The index is injected into the system prompt so later conversations evolve existing diagrams instead of redrawing from scratch.

The injection switch — a checkbox in the chat input

As of 0.3.0 prompt injection is off by default and driven by a checkbox at the left of the composer tool row:

StateBehavior
Unchecked (default)Neither the guidance nor the vault index is injected — the model sees no Mermaid guidance at all
CheckedInjected from the next turn on; the system prompt is re-assembled every turn, so the change takes effect immediately

The host owns the truth (ctx.settings, namespace mermaid-comm-inject), and it is globally sticky: check it once, every conversation follows, and it survives a restart. The button in the composer is only the switch's remote control — it lives in a per-session slot that the official renderer remounts on every session change (its own rule: component-local state must not leak between sessions), so the state cannot live in the component.

promptLevel has three states: toggle (default, driven by the button) / global (always inject, button hides itself) / off (never inject, button hides itself).

The tools (mermaid_validate and the four vault tools) and the output gate are unaffected by the switch and always available: injection is "nudging the model to draw", the tools are "checking the drawing once it is drawn" — two separate concerns.

Mermaid Vault (diagram persistence)

New in 0.2.0. Diagrams worth keeping — architecture, data models, core flows — are saved to the vault as a same-topic versioned series:

<workspace>/.dsh/mermaid/
├── INDEX.md                 # vault index (topic/type/version/updatedAt)
├── payment-flow.mmd         # current active version (always renderable)
└── payment-flow.history.md  # v1/v2/... with per-version change notes

Four model-visible tools:

  • mermaid_vault_list — list the vault index (optional type filter)
  • mermaid_vault_read — read a topic: current code + evolution history
  • mermaid_vault_save — save/update a diagram (forced real-parser validation; syntax errors are rejected, so the vault only ever holds renderable diagrams)
  • mermaid_vault_delete — delete a topic (main file + history + index entry)

The vault index is injected into the system prompt (lightweight table only — diagram contents are read on demand via mermaid_vault_read). When a topic already exists, the model is guided to read its history and evolve it with save (creating v2/v3/...) rather than redrawing from zero — that is how later conversations see the diagram's continuous change and stay consistent with earlier work.

Safety: topic names are sanitized to [a-zA-Z0-9-_] (no path traversal), writes are locked inside the vault directory, files are written atomically, and size/version limits prevent unbounded growth.

Installation

dsh plugin --profile web add dsh-mermaid-comm dsh-mermaid

One command, two packages. They split the work, and both are needed:

PackageResponsibilityWhy it must be installed separately
dsh-mermaid-commprompt injection, mermaid_validate, the vault, the output gatethis plugin
dsh-mermaidrenders mermaid fences in the chat transcriptit is only mounted if it is in dsh.profile.bundles

dsh-mermaid is also declared as a regular dependency of this plugin, so installing this plugin alone does pull its code into node_modules — but "installed" is not "mounted": dsh only applies the cordis.patch.yml of packages listed in dsh.profile.bundles, so a package outside the roster is never mounted and nothing gets rendered. Hence the two-package command.

Why doesn't this plugin mount dsh-mermaid for you? It tried (the v0.3.0 CARRIER approach) and it cannot boot: dsh-mermaid ships its own dsh.bundle.patch, so the moment it becomes a profile-level dependency it is auto-promoted into dsh.profile.bundles, where its patch and this plugin's carrier row insert the same entry id ui-mermaid. Cordis hard-fails on a duplicate loader entry id (the whole tree refuses to start, and the error names neither plugin): duplicate loader entry id "ui-mermaid". That is not a boundary documentation can avoid — it is a design conflict, so v0.3.1 dropped it in favour of the two-package command above.

Restart dsh web (both the plugin roster and the client bundle load at startup). To self-check the composition: dsh --profile web --dump-config should show ui-mermaid and mermaid-comm exactly once each.

Usage

The model defaults to Mermaid output for:

  • Architecture / module relationships → flowchart or classDiagram
  • Call chains / request sequences → sequenceDiagram
  • State / lifecycle → stateDiagram-v2
  • Data models / table relationships → erDiagram
  • Branching strategy / Git history → gitGraph
  • Plans / schedules → gantt

Validation rules

mermaid_validate returns:

  • ok: whether the current code passes;
  • built: the code after rule-based fixes;
  • fixes: the fixes applied;
  • errors: dangerous characters, missing runtime, or parse errors;
  • mode: "true-runtime": mode marker for backward compatibility with older callers.

The output gate supports both ```mermaid and ```mermaidd fences. Each broken block is independently re-evaluated; a fixed version that passes the same runtime parser replaces the original block, and blocks that still fail are replaced with a safe notice instead of being handed to the renderer.

Safety boundary

  • Unicode arrows, unpaired quotes, and subgraph special characters are scanned/fixed first;
  • Real parsing uses dsh-mermaid's lib/mermaid-runtime.js directly — no reliance on the error-prone .hash field;
  • Original events stay in the transcript; the fixed version overrides the visible message via a surface replace;
  • The output gate only handles assistant/message append events and uses a gateFixed marker to prevent reprocessing.

Development

pnpm install
pnpm --filter dsh-mermaid-comm build
pnpm --filter dsh-mermaid-comm typecheck

Install from a checkout:

dsh plugin --profile web add file:/path/to/packages/dsh-mermaid-comm

License

MIT