前言¶
在 DeepSeek Harness(DSH)里做流程图、架构图或业务建模时,团队往往仍依赖 .vsdx 这类 Visio 原生格式:方便归档、给别人看,也容易和现有文档库对齐。常见做法是本机装 Visio 或 Office,改完再传到协作环境;Agent 侧则多半只能「口述」改图,或把图拆成别的格式,和图纸文件脱节。
dsh-visio(维护者 SamyiHu)是 DSH 的客户端类插件:在 Harness Web UI 里直接打开 .vsdx,用 SVG 实时预览并就地改形状与连接线,同时把同一套能力以 visio 工具暴露给模型。引擎为纯 Python 标准库实现,README 明确说明不需要安装 Visio,也不依赖 Office。当前仓库状态为 beta,许可证 MIT;社区目录页见 skillhub.cn,源码见 GitHub。
这是什么¶
一句话:面向 DSH Web 界面的 Visio(.vsdx)查看器/编辑器,带实时 SVG 预览、形状与连接线编辑、关系检查,以及供 Agent 调用的 visio 工具。
插件以 @local/dsh-visio 形式打包(package.json 版本 1.22.1),通过 cordis.patch.yml 注入 Harness;Host 侧提供工具与路由,Client 侧提供面板与浮窗 UI,Python 子进程负责读写与渲染核心。
核心功能¶
下面按 README 已列能力归纳,不超出文档范围。
预览与编辑¶
- 实时预览:面板将
.vsdx页面渲染为 SVG,改动后即时重绘。 - 就地编辑:支持移动/缩放、文字、填充、线条、逐行文字颜色、形状数据等。
- 多页与画布:多页、缩放、平移、网格、撤销/重做;文件被外部修改时可自动检测。
形状库与连接线¶
- 形状库:内置 16 种图形(流程、判定、起止等);可导入
.vssx/.vstx模具,图形按 Visio 母版几何绘制,而非简单线段拼凑。 - 连接线:新增、加标签、删除;保留线颜色、线宽、箭头;标签从 1-D 形状文字读取。
关系检查与 Agent 工具¶
- 关系检查:
validate可找出空连接(无Connect行的线)、悬空 ID、漂移端点、零尺寸形状等。 - Agent 工具:模型可通过
visio工具使用同一套能力,并包含模具发现(stencil_info、stencil_sheet)、整图快照(snapshot)与自描述capabilities等。
文档列出的工具动作包括:open、text、get_shape、list、create、add_shape、move、set_text、set_cell、set_prop、connect、delete、validate、kinds、stencils、stencil_info、stencil_sheet、stencil_add、snapshot、capabilities、undo、redo、normalize、export。测试模具示例为 examples/basic-shapes.vssx(三母版)。
安装与启用¶
插件与正在运行的 Harness 同机安装;安装后以 DSH 当前进程权限访问本机路径与 Python,安装前建议阅读仓库源码与 MIT 许可。
官方 README 步骤如下。
# 1. 克隆到你的本地 bundle 目录旁
git clone https://github.com/SamyiHu/dsh-visio.git
# 2. 装进正在运行的 Harness(之后重载一次 DSH)
dsh plugin install /absolute/path/to/dsh-visio
手动等价做法:在 profile 的 package.json 中增加 "@local/dsh-visio": "link:/absolute/path/to/dsh-visio",执行 pnpm install,再重载应用。README 注明插件自带 cordis.patch.yml,会自动插入。
运行时依赖:PATH 中需有 Python 3.9+;也可在插件配置里设 pythonPath,或设置环境变量 DSH_VISIO_PYTHON。
配置项¶
| 键 | 默认值 | 含义 |
|---|---|---|
pythonPath |
python |
引擎使用的解释器 |
defaultFolder |
工作目录 | 文件浏览器起始目录 |
典型用法¶
Web 面板¶
- 侧栏进入 Visio 图纸 打开面板;可用浮动画布按钮把同一张图放进可拖动的独立窗口。
- 选择目录后点击某个
.vsdx:左侧树列出页面与形状,右侧编辑选中形状属性。
与 Agent 协作¶
在 Agent 侧用自然语言描述改图需求即可,由模型调用 visio 工具完成打开、改字、连线、validate 等操作。需要了解能力边界时,可让模型查询 capabilities。
架构与开发自测(可选阅读)¶
README 给出的主要结构:
index.js Host 侧:visio 工具 + 同源路由、引擎进程池
client.js Client 侧:面板、浮窗、属性检查器、i18n
engine/vsdx_core.py 读写渲染核心(OPC + XML,纯标准库)
engine/visio_bridge.py Host 调用的 JSON 行协议
...
Host 按解释器保留引擎子进程;任意 engine/*.py 变更时会按 mtime + size 指纹重启子进程,避免仍跑旧代码。
本地测试命令(来自 README):
python tests/test_engine.py
node tests/test_client_render.mjs
node tests/test_client_contract.mjs
node tests/test_host_contract.mjs
适用场景与已知限制¶
适合:在 DSH 里维护流程图/架构图 .vsdx、希望人与 Agent 共用同一文件与同一套编辑 API 的团队;无法或不愿在本机安装 Visio 的环境。
需注意:
- SVG 预览对排版为近似(按宽度估换行),与 Visio 不保证逐像素一致。
- 主题/母版对部分几何和颜色有处理,但并非每条样式继承规则都已实现。
.vsdm宏不执行。- 插件状态为 beta,CI 在 Linux 与 Windows 双矩阵跑测试;发版要求 tag 与
package.json版本一致。
DSH 生态遵循「一切皆插件」;skillhub.cn 为社区目录,与 DeepSeek / 幻方无官方从属关系,本文仅以公开 README 与仓库元数据为准。
结尾¶
dsh-visio 把 .vsdx 的预览、编辑、连线和 validate 收进 Harness Web UI,并用 visio 工具接到 Agent 工作流里,且引擎不依赖 Office。若你已在用 DSH 管理智能体与本地工程文件,可按官方命令安装、配置 Python 路径后从侧栏 Visio 图纸 试用。
- 目录页:https://www.skillhub.cn/plugins/SamyiHu/dsh-visio
- 仓库:https://github.com/SamyiHu/dsh-visio