返回目录
其他 待识别

dsh-plantuml

qschen86/dsh-plantuml

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

Stars
1
Forks
0
Issues
0
更新
1 天前

PROJECT TOPICS

项目标签

PROJECT README

README

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_SERVER https://www.plantuml.com/plantuml PlantUML 服务地址,例如自建 http://127.0.0.1:8080/plantuml
DSH_PLANTUML_COMMAND 如果设置为本机 plantuml 命令(或可执行文件路径),则优先用本机命令渲染,不访问网络
DSH_PLANTUML_TIMEOUT_MS 15000 远程渲染超时(毫秒)
DSH_PLANTUML_MAX_SOURCE 1048576 单个 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 围栏并异步加载图片。

CLASSIFICATION EVIDENCE

分类依据

项目类型待识别
功能分类其他
规则置信度

系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。