dsh-visio:在 DSH Web 界面里查看与编辑 Visio 图纸

前言

在 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 面板

  1. 侧栏进入 Visio 图纸 打开面板;可用浮动画布按钮把同一张图放进可拖动的独立窗口。
  2. 选择目录后点击某个 .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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜