🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

Drawio 画板 jean3690/dsh-drawio

DeepSeek Harnessv0.1.0
jean369057 天前有提交已提供中文文档扫描:含敏感能力

让 AI 画流程图并在侧栏实时预览编辑

38/100
综合分
6
GitHub 星标
401
npm 周下载
—/5
用户评分

数据截至 2026/9/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-drawio
npm 源 · dsh-drawio 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · ui
装得上吗
静态安装检查通过
未做真实安装
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 57 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-drawio @ 0.1.0
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/1 00:47:58

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 34 处,展示前 29 条)
  • 读取本地文件
    lib/index.js:1155
    canonical = await realpath(root);
  • 读取本地文件
    lib/index.js:1212
    handle = await readdir(abs, { withFileTypes: true });
  • 读取本地文件
    lib/index.js:1231
    const info = await stat(childAbs);
  • 读取本地文件
    lib/index.js:1273
    info = await stat(target);
  • 读取本地文件
    lib/index.js:1301
    content: await readFile(target, "utf8"),
  • 写入本地文件
    lib/index.js:1359
    await mkdir(dirname(target), { recursive: true });
  • 写入本地文件
    lib/index.js:1361
    await writeFile(target, content, "utf8");
  • 读取本地文件
    lib/index.js:1362
    const info = await stat(target);
  • 写入本地文件
    lib/index.js:2420
    await mkdir(dirname(target), { recursive: true });
  • 写入本地文件
    lib/index.js:2421
    await writeFile(target, content);
  • 写入本地文件
    lib/index.js:2855
    await mkdir(dirname(source.absPath), { recursive: true });
  • 写入本地文件
    lib/index.js:2856
    await writeFile(source.absPath, edited.xml, "utf8");
  • 发起网络请求
    src/client/api.ts:23
    response = await fetch(path, {
  • 读取本地文件
    src/service.ts:62
    canonical = await realpath(root)
  • 读取本地文件
    src/service.ts:112
    handle = await readdir(abs, { withFileTypes: true })
  • 读取本地文件
    src/service.ts:132
    const info = await stat(childAbs)
  • 读取本地文件
    src/service.ts:155
    info = await stat(target)
  • 读取本地文件
    src/service.ts:164
    const content = await readFile(target, 'utf8')
  • 写入本地文件
    src/service.ts:198
    await mkdir(dirname(target), { recursive: true })
  • 写入本地文件
    src/service.ts:200
    await writeFile(target, content, 'utf8')
  • 读取本地文件
    src/service.ts:201
    const info = await stat(target)
  • 读取本地文件
    src/static.ts:95
    info = await stat(target)
  • 读取本地文件
    src/static.ts:116
    const stream = createReadStream(target)
  • 写入本地文件
    src/tools.ts:184
    await mkdir(dirname(target), { recursive: true })
  • 写入本地文件
    src/tools.ts:185
    await writeFile(target, content)
  • 写入本地文件
    src/tools.ts:510
    await mkdir(dirname(source.absPath), { recursive: true })
  • 写入本地文件
    src/tools.ts:511
    await writeFile(source.absPath, edited.xml, 'utf8')
  • 读取本地文件
    src/watch.ts:73
    entries = await readdir(abs, { withFileTypes: true })
  • 读取本地文件
    src/watch.ts:89
    const info = await stat(childAbs)
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/cordis-plugin-loader@deepseek-ai/dsh-attachment@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-session@deepseek-ai/dsh-tools@deepseek-ai/dsh-workspace
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • AI驱动画流程图
  • 侧栏实时预览编辑
  • 内嵌官方编辑器

DSH drawio 插件:AI 驱动画图(validate/render/edit/template 工具)+ 侧栏实时 SVG 画板,内嵌 diagrams.net 官方编辑器

README

由 DeepSeek 最新模型翻译生成
dsh-drawio DSH(DeepSeek Harness)Web GUI 的 diagrams.net(drawio)插件:agent 画图工具 + 侧边栏「Drawio 画板」,工作区 .drawio 文件所见即所得。 用户/模型 → drawio XML (mxfile) → 纯 TS 翻译器 → SVG → PNG(对话内联预览 / 画板实时渲染 / 导出) 能力(AI 驱动 drawio) Agent 工具(默认开启,可配置关闭) | 工具 | 作用 | | drawio_template | 生成 4 类图的 mxfile 骨架:flowchart / architecture / network / orgchart | | drawio_edit | 结构化改图:upsert/delete/move/resize/restyle/relabel 节点与连线,改完写回 + 渲染预览。
展开完整文档(README 剩余 1 节)
dsh-drawio

DSH(DeepSeek Harness)Web GUI 的 diagrams.net(drawio)插件:agent 画图工具 + 侧边栏「Drawio 画板」,工作区 .drawio 文件所见即所得。

用户/模型 → drawio XML (mxfile) → 纯 TS 翻译器 → SVG → PNG(对话内联预览 / 画板实时渲染 / 导出)

能力(AI 驱动 drawio)

Agent 工具(默认开启,可配置关闭)

| 工具 | 作用 |
| drawio_template | 生成 4 类图的 mxfile 骨架:flowchart / architecture / network / orgchart |
| drawio_edit | 结构化改图:upsert/delete/move/resize/restyle/relabel 节点与连线,改完写回 + 渲染预览。模型绝不手改 XML |
| drawio_validate | 解析校验工作区 .drawio 文件或内联 XML,报告节点/连线/结构问题 |
| drawio_render | 渲染为 SVG(+PNG),写入工作区,并在对话中内联 PNG 预览 |

配套 skill skills/drawio/SKILL.md:模型按受支持样式子集产出 XML、用 drawio_edit 改图,保证渲染一致。

画板(右侧并排栏)

- 边对话边看图:画板是 frame grid 的最右侧隐式列(宽度可拖 300~1000px 并持久化),打开时对话自动缩窄但始终可见,不再占用/隐藏会话区
- 列出工作区所有 .drawio 文件(递归扫描,深度与条数受限)
- 官方 drawio 编辑器嵌入:选中文件 → 「在编辑器中打开」→ 内置 diagrams.net webapp(本地 assets,离线可用)→ 拖拽节点/连线/样式,File → Save 经 postMessage 桥自动写回工作区(保存后画板 XML/预览即时同步)
- AI 联动:agent 用 drawio_edit 改文件后,已打开的编辑器自动重载刷新
- 缩放看图:工具栏 − % + 适应 缩放,或 Ctrl/⌘ + 滚轮在光标处缩放(放大后可滚动平移);文件列表默认隐藏、图占满画板,点「文件」再展开
- 独立页面 + 弹回:「独立页面」在新标签页打开全屏官方编辑器;独立页的「保存」写回工作区、「弹回画板」保存并在侧栏画板显示后自动关闭标签页
- 备用的 XML 源码 + SVG 预览分屏编辑、导出 PNG、复制 SVG
- 支持泳道/分组/富文本标签/正交连线/虚线/箭头等常见特性

渲染覆盖范围(纯 TS 零依赖翻译器,宿主与浏览器共用)

- 形状:矩形、圆角、椭圆、菱形、六边形、三角、圆柱、泳道、纯文本、图片占位
- 样式:填色/描边/线宽/虚线/透明度/字号/颜色/粗斜下划线/对齐/间距/自动换行
- HTML 标签: 及实体
- 连线:显式 waypoints、orthogonalEdgeStyle 自动布线、curved 平滑、起止箭头(classic/block/open/oval/diamond)、边标签与 exitX/exitY/entryX/entryY 锚点
- 分组/泳道子节点坐标偏移、dx/dy 页偏移、压缩 mxfile(需 inflater)

安装

dsh plugin --profile web add https://github.com/jean3690/dsh-drawio

重启 dsh web 后生效:侧边栏出现「Drawio 画板」入口,四个 drawio_ 工具进入模型工具集,skill 自动可加载,内置 drawio webapp 挂在 /drawio/。

AI 驱动用法

我要一张登录流程图 → agent: drawio_template 骨架 → 写 docs/登录流程.drawio → drawio_render(对话内预览)你在画板里点开该文件「在编辑器中打开」→ 官方编辑器拖拽精修 → Save 写回刚才那张图把「校验通过?」改成菱形,并加一条「验证码校验」分支 → agent: read 现有 .drawio(记住 cell id)→ drawio_edit(结构化 ops) → 预览画板里开着的编辑器自动刷新

配置(cordis.patch.yml → dsh plugin 后编辑 profile 的 cordis.yml 或补丁)

- insert:
- id: dsh-drawio
name: dsh-drawio
config:
agentTools: ['drawio_validate', 'drawio_render', 'drawio_template'] # 或 '*' / []
pngScale: 2 # PNG 预览倍率 fontFamily: "Helvetica, Arial, 'PingFang SC', sans-serif"

开发

npm install --cache .npm-cache # 本机 ~/.npm 只读时用本地缓存
npm run build # tsc 类型检查 + tsdown 双端打包 + 产物自检
node test/smoke.mjs # 冒烟:样例流程图 → SVG → PNG
node test/edge.mjs # 边界:泳道/分组/富文本/压缩 mxfile
node test/edit.mjs # drawio_edit 结构化增删改

src/translate.ts 是核心翻译器:零依赖、无 DOM、无 Node 内置模块,同时打进宿主(lib/index.js)与浏览器(lib/client.js)两个包。宿主用 @resvg/resvg-js 做 PNG 栅格化(唯一原生依赖)。assets/drawio-webapp/ 是官方 draw.io v31.1.8 静态资源(从 GitHub release 解包,去掉 WAR 的 Java 部分)——本地上游离线可用。
src/translate.ts 是核心翻译器:零依赖、无 DOM、无 Node 内置模块,同时打进宿主(lib/index.js)与浏览器(lib/client.js)两个包。宿主用 @resvg/resvg-js 做 PNG 栅格化(唯一原生依赖)。

已知限制

- shape=image 与复杂表格/专用 UML 形状渲染为占位(虚线框 + 标签)
- 无显式 waypoints 的折线只做基础正交布线(直连 + 中点折),与 drawio 的完整路由算法有差异——agent 生成时按 skill 规范写 points 即可完全一致
- 画板是 DOM 级注入(会话中心栏),与 task-board / ssh / toolbox 面板互斥共存

License

Apache-2.0
预览分享卡片长什么样 ↓jean3690/dsh-drawio
分享 · DeepSeek Harness Hub
jean3690/dsh-drawio

让 AI 画流程图并在侧栏实时预览编辑

这是你的仓库?认领条目

回到顶部