qschen86 / dsh-plantuml

已收录

DSH web plugin: render PlantUML fenced blocks in conversation messages as SVG

main其他 查看源代码

安装

npx -y @deepseek-ai/dsh plugin --profile web add github:qschen86/dsh-plantuml

此安装命令根据 GitHub 仓库地址生成,是未经验证的安装起点。

README

维护者编写的文档快照。

在 GitHub 查看 ↗
提交版本 1003d83同步于 2026年8月17日

dsh-plantuml

DeepSeek Harness Web 插件:在会话消息中直接渲染 PlantUML 图表。

功能

  • 识别助手消息里的 ```plantuml / ```puml 围栏代码块
  • 自动通过 PlantUML 服务(默认公共服务器,可配置)渲染为 SVG
  • 支持架构图、流程图、时序图、用例图、类图等 PlantUML 支持的图形
  • 渲染失败时显示错误信息,不阻塞消息中的其他 Markdown 内容

安装

dsh plugin --profile web add dsh-plantuml
# 或使用 GitHub Release tarball:
# dsh plugin --profile web add https://github.com/qschen86/dsh-plantuml/releases/download/v0.1.0/dsh-plantuml-0.1.0.tgz
dsh --profile web --dump-config   # 验证条目已加入 bundles
# 重启 dsh web(host 半生效),刷新页面(client 半生效)

卸载

dsh plugin --profile web remove dsh-plantuml

注意:本插件使用 assistant-step-5 优先级。若同时安装了 dsh-llm-codex-app-server 的浏览器渲染器(优先级 -10),后者会优先接管助手消息;此时如需 PlantUML 渲染,建议将两套渲染合并或二选一。

配置

通过环境变量配置:

变量默认值说明
DSH_PLANTUML_SERVERhttps://www.plantuml.com/plantumlPlantUML 服务地址,例如自建 http://127.0.0.1:8080/plantuml
DSH_PLANTUML_COMMAND如果设置为本机 plantuml 命令(或可执行文件路径),则优先用本机命令渲染,不访问网络
DSH_PLANTUML_TIMEOUT_MS15000远程渲染超时(毫秒)
DSH_PLANTUML_MAX_SOURCE1048576单个 PlantUML 源码最大字节数

环境变量需对 dsh web 进程可见:若服务由 launchd 监督进程托管(如 com.dsh.web-supervisor),把变量加进其 plist 的 EnvironmentVariables (或 DSH_START_CMD 前缀),仅写进 ~/.zshrc 不会生效。

使用

模型在回复中输出:

```plantuml
@startuml
Alice -> Bob: 你好
@enduml
```

插件会自动把它替换成渲染后的 SVG 图片。

实现说明

  • 宿主端 lib/index.js 提供 POST /plugin/plantuml 渲染接口;默认使用 PlantUML 官方编码(deflate + 自定义 base64)请求远程服务,也可调用本机 plantuml 命令。
  • 浏览器端 lib/client.js 注册 conversation.chat.nodeassistant-step 低优先级渲染器,在保留原有 Markdown / 推理 / 图片 / JSON 展示的同时,解析 PlantUML 围栏并异步加载图片。

仓库信息

开发语言
JavaScript
许可证
MIT
最新发布
v0.1.0
最后更新
2026年8月17日 08:39

谨慎安装

请检查源代码、权限、生命周期脚本、依赖与网络访问;不受信任的插件应先在隔离环境中测试。