DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

Mermaid2aichat Dsh — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

mermaid2aichat-dsh

Mermaid2aichat Dsh

mermaid2aichat-dsh — Mermaid 可视化编辑器,DeepSeek Harness 浏览器插件:右侧可关闭面板 + 画布/Mermaid 代码双向同步 + Agent 工具通道(flowchart / sequenceDiagram / classDiagram / erDiagram)

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

npx -y @deepseek-ai/dsh plugin --profile web add mermaid2aichat-dsh@0.1.5
README兼容性版本
screenshot

兼容性与来源证明

Mermaid2aichat Dsh 以 mermaid2aichat-dsh 发布,当前版本为 0.1.5。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

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

版本

0.2.2stable
2026/8/15
0.2.1stable
2026/8/15
0.2.0stable
2026/8/15
0.1.5stable
2026/8/15
查看其余 5 个版本收起版本
0.1.4stable
2026/8/15
0.1.3stable
2026/8/15
0.1.2stable
2026/8/15
0.1.1stable
2026/8/15
0.1.0stable
2026/8/15

相关插件

正在加载相关插件…

最新版
0.1.5
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
6.2 MB
文件数
8
Surface
web
许可证
MIT
发布源
npm
GitHub
★ 2
周下载
66
最近提交
2026/8/15
查看源码 ↗项目主页 ↗
README Badge

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

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

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

认领这个 Plugin →
报告问题

相关插件

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

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Sdk Minimal@deepseek-ai/dsh-sdk-minimal独立的最小 SDK 配置包:JSON-RPC、一个 DeepSeek 适配器、持久化 Shell 和 JSONL 会话Sdk App@deepseek-ai/dsh-sdk-appdsh SDK 配置包:基于 dsh-base 提供 stdio JSON-RPC 服务和进程生命周期管理Subagent Codex@deepseek-ai/dsh-subagent-codex基于官方 app-server 协议的一次性 Codex 子代理提供程序

README

mermaid2aichat-dsh

Mermaid visual editor — a DeepSeek Harness (dsh) browser plugin. A closable right-side panel that keeps the canvas and the Mermaid code in sync, and works directly with the agent.

中文 · GitHub · npm

screenshot

Supports four diagram types: flowchart, sequenceDiagram, classDiagram, erDiagram. The editor UI is the core — no MCP, no server, no VS Code extension; the plugin talks to dsh directly and touches zero dsh source code.

Features

Panel & layout

  • Toggle from the "Mermaid 编辑器" button at the bottom of the sidebar; in-page fullscreen (⧉) when the canvas needs room
  • Chat area yields + resizable width: a DOM layout controller appends an editor column to the shell grid — the chat auto-shrinks and is never occluded; drag the handle to resize (300–1200px, chat always keeps ≥400px), double-click to reset
  • Coexists with the dsh sidebar, the session details column, and dsh-web-ui's right panels (see "Coexistence protocol")
  • Responsive compact mode: below 420px the side panels hide, leaving only the canvas; "▥ 紧凑" toggles it manually
  • Independent dark mode (title-bar toggle, panel-scoped only)

Editor

  • Two-way sync between the visual canvas and the Mermaid code (canvas edits → code; code edits → canvas, committed on blur or Ctrl+Enter)
  • Diagram type switcher lives in the code section (flowchart / sequenceDiagram / classDiagram / erDiagram) with a confirm dialog, plus flowchart direction (TB/TD/BT/RL/LR) and connection mode (按方向/就近) selects and a copy-to-clipboard button
  • Node library drag-and-drop, connections, property panel, and dedicated editors for subgraphs / namespaces / entities / participants
  • Session isolation + multi-tabs: the panel follows the current session, tabs are stored per session; create / switch / close (confirm dialog) / rename on double-click / drag to reorder; each tab owns its canvas, code and viewport
  • Canvas and code persist to localStorage and restore on reload

Working with the agent (two-way Mermaid transfer)

  • AI → editor: registers the model tool mermaid_load (host-global layer, no preset change) — when the AI calls it, the diagram is auto-imported as a new tab and the panel opens to show it
  • Conversation → editor: scans the current session for ```mermaid blocks (AI messages, user messages, tool results); the sidebar badge shows unseen count, and "从对话导入" parses one into a new tab
  • Editor → conversation: "发送到对话" sends the active tab's code into the current session
  • Input-box reference: type / and the "mermaid" group lists the current session's tabs — pick one to insert its code block into the draft

Install

Option 1: npm (recommended)

dsh plugin --profile web add mermaid2aichat-dsh

Option 2: GitHub

dsh plugin --profile web add github:supergameboy/mermaid2aichat-dsh

Option 3: local directory (development)

dsh plugin --profile web add <path-to-this-repo>

lib/ build artifacts are committed, so git/npm installs work without a build step. If pnpm blocks the build, allow the package in $DSH_HOME/profiles/web/pnpm-workspace.yaml (allowBuilds) or use option 1.

After installing, restart dsh web (the mermaid_load tool registers at host startup), then refresh the page — the "Mermaid 编辑器" button appears at the bottom of the sidebar.

Recommended setup: working with archify & dsh-web-ui

Positioning

The value of mermaid2aichat-dsh is not "one more diagram tool" — it turns diagrams into an editable loop that feeds the agent:

AI analyzes / draws ──mermaid_load──▶ editor (editable) ──send to chat──▶ AI continues
user draws / edits ──editor──▶ Mermaid code ──send to chat──▶ AI analyzes / implements from the diagram

One-shot generators such as archify own the "analysis + polished HTML artifact" end; this plugin owns the "Mermaid workbench + two-way agent feed" end. The two complement each other without overlap.

Recommended installs

# this plugin (npm)
dsh plugin --profile web add mermaid2aichat-dsh

# dsh-web-ui family (right-side file tree / preview / task board, coexists on the same grid)
dsh plugin --profile web add @linxin666/dsh-web-ui-all

# archify: an agent skill (Claude Code / npx skills — see its README)
npx skills add tt-a1i/archify -g

How to work with them

  • Need a diagram you will keep editing and feed back to the agent (flowchart / sequenceDiagram / classDiagram / erDiagram)? Ask the agent to call mermaid_load into this editor, tweak it, then "发送到对话".
  • Need a one-shot polished artifact (architecture / data-flow / lifecycle, for docs / PRs / READMEs)? Ask the agent to generate a self-contained HTML with archify.
  • Both can coexist in the same session: dsh-web-ui's right panels and this plugin's editor column share the shell grid via the coexistence protocol.

Related projects

  • archify — agent skill: natural language to beautiful, self-contained HTML technical diagrams
  • dsh-web-ui — a family of dsh plugins (right-side file tree / preview, task board, etc.)

Working with the agent

Tell the agent:

Draw the flow of XXX as a flowchart and send it to the editor.

The agent calls mermaid_load, and the diagram appears in a new editor tab (the panel opens automatically). Adjust it in the editor and click "发送到对话" to send the updated code back; or type / in the input box to reference any tab's code block.

Architecture

One npm package plays three roles:

  1. bundle (patch layer): dsh.bundle.patch → cordis.patch.yml registers the plugin as a dsh.client row;
  2. host plugin (Node side): registers the model tool mermaid_load (global layer, visible to every session's agent);
  3. client plugin (browser side): registers the launcher (sidebar.footer.action), the panel entry (shell.overlay), the input trigger (inputTriggers) and the DOM layout controller (client/layout.ts).

Data flow (no MCP, no server):

canvas ──onCanvasChange──▶ state.ts (localStorage, per-session)
state ──「发送到对话」──▶ SessionFace.prompt('queue')
mermaid_load tool ──result──▶ blocks source ──▶ auto-import
session ──blocks source──▶「从对话导入」──▶ new tab
input '/' ──trigger「mermaid」──▶ current-session tabs ──▶ insert code block
src/
  index.ts              host half (registers the mermaid_load tool)
  client/               dsh plugin (state, panel, launcher, trigger, block scan, layout controller)
  editor/               editor UI (canvas, node library, property panel, code editor)
  serializer/           parser/serializer (jison parsers + serializers for the 4 types)
cordis.patch.yml        bundle patch layer
lib/                    build artifacts (committed; installs work out of the box)

The editor and serializer are bundled into lib/client.js (@xyflow/react, dagre-cluster-fix, js-yaml inlined; react and friends come from the dsh shell's module table).

Layout & coexistence protocol (no dsh changes needed)

The editor column is a grid track the layout controller appends at the DOM level: it mirrors the shell's inline grid-template-columns (2/3-track tolerant) and appends its own track, fully decoupled from the sidebar, chat and details column — no ctx.layout dependency, no slot shadowing, no host-version requirement.

dsh-web-ui (aionui-panel) uses the same technique for its file-tree/preview panels. When their columns are detected, the controller switches to a cooperative protocol: it writes 6 tracks (shell 3 + editor + their preview + their file tree), keeps the editor column before theirs, re-appends on their 5-track writes in the same frame, nudges with a bare shell 3-track write to converge after their HMR/late attach, and carries a write-burst guard so observer cascades can never freeze the page. Both panels show side by side.

Development

pnpm install      # install dependencies
pnpm run build    # builds lib/index.js (host) + lib/client.js (browser)
pnpm run typecheck
pnpm run watch    # tsdown watch rebuild

After changing source, re-run pnpm run build; host-side changes (tool registration) need a dsh web restart, browser-side changes only a page refresh.

Known limitations

  • Only flowchart / sequenceDiagram / classDiagram / erDiagram are supported; parsing other types reports "unsupported"
  • "从对话导入" scans only the loaded message window of the current session; older pages need scrolling into view first
  • The client bundle is large (React Flow and all editor deps inlined); it is fetched on first panel open
  • The / input-trigger replaces the draft with the code block (setDraft semantics) and cannot append to existing draft text
  • Editor column width persists only on drag-end, double-click reset and window resize; sidebar/details toggles affect the current display width only, never the preference (matches dsh's own layout-preference semantics)

Acknowledgments

The DOM layout controller (mirroring the shell's grid, appending its own column track, and drawing custom drag handles) is inspired by the aionui-panel package in dsh-web-ui. Thanks to its author for sharing the approach — this plugin's coexistence protocol is built around that behavior so both can run side by side in the same GUI.

License

MIT