Repository navigation
Releases: Reseezhang/vizcb-codeblock-visualizer
Release list
vizcb-codeblock-visualizer v1.7.3
vizcb-codeblock-visualizer v1.7.3
DeepSeek Harness 可视化插件:模型回答中的 svg / html / ```mermaid 代码块自动渲染为消息底部的图表卡片;支持文件预览(present-files)。mermaid 宿主端 worker 隔离渲染,运行时零网络外联。
v1.7.3 更新内容(自 v1.6.2)
v1.7.3 · 源码隐藏修复(hideSourceBlocks 在 DSH 0.2.0-rc.2 上从未生效)
卡片一直正常渲染,但源码围栏始终留在正文里。根因在链路入口 domFences()(恒返回空数组),三处宿主假设同时不成立:
- 语言标签类名被 CSS Modules 哈希:旧代码查
[data-code-block-banner] .infostring,真机是_infostring_7gxqk_45,永不命中 - 横幅根本不显示语言:宿主 CodeToolbar 用
isLang(lang) ? lang : codeLabel,而isLang基于 shiki 语法集 ——svg/mermaid/present-files都不在其中,只显示通用标签「代码块」,语言在 DOM 上读不到 turnTail槽位与助手消息节点是兄弟:旧实现「向上找最近的含代码祖先」会爬到整个会话,fences混进其它回合的块 → 与「本轮解析出的块」按序号对账恒错位,且命中数会撞上>24守卫直接放弃
修复方式:语言标签按 [class*="infostring"], [class*="language"] 子串匹配;读不到语言时按正文特征识别(^<svg/mermaid 关键字表);确认阶段改用宿主解析出的 code 做归一化内容对账(与顺序、语言标签无关,唯一命中才认);作用域按 data-chat-turn 收窄到本轮;保留「宿主最终没解析出块 → 还原源码」兜底。
顺带修掉一个反向 bug:原「正文正则扫 ```」兜底会把讲解 mermaid 语法的普通代码块误判成图表块并藏掉用户代码。
install-vizcb.ps1 补 UTF-8 BOM:此前无 BOM,Windows PowerShell 5.1 解析会在第 90 行报 Unexpected token '}',脚本完全跑不起来。
v1.7.2 · 插槽兼容:新宿主 list 类插槽强制要求 options.id,缺它时客户端组件从未挂载(宿主侧全绿但 read-turn 永远收不到请求)。
v1.7.1 · 主线程隔离:jsdom 是 CJS 包,会让 DSH 0.2.0-rc.2 的模块解析路由器抛错、插件整体 failed to import;现在 jsdom/DOMPurify 全部只被 worker 线程 import。
安装
-
方式 A(一键脚本,推荐):下载下方资产
vizcb-codeblock-visualizer-1.7.3-complete-package.zip(已内置全部运行时依赖,无需联网npm install),解压后在解压目录运行:powershell -ExecutionPolicy Bypass -File install-vizcb.ps1 -ProfileName desktop
脚本会把插件连同随包依赖复制到 profile、并自动写入
dsh.profile.bundles;装完重启 DSH Desktop。 -
方式 B(git 依赖):profile 的
package.json添加"vizcb-codeblock-visualizer": "github:Reseezhang/vizcb-codeblock-visualizer#v1.7.3",并把它加进dsh.profile.bundles,再执行dsh plugin --profile desktop install。 -
详细说明与配置项见 README。
完整包内容
vizcb-codeblock-visualizer-1.7.3-complete-package.zip(44.7 MB,12209 个条目)内含:
vizcb-codeblock-visualizer/:插件本体 + 随包node_modules(mermaid / jsdom / DOMPurify / svgdom 及全部传递依赖)install-vizcb.ps1:一键安装脚本(复制插件 → 检查依赖 → 写入dsh.profile.bundles→ 校验)
本包已实测:解压 → 运行脚本 → 插件目录、随包依赖、worker 模块、bundles 清单、包版本与客户端版本号(均 1.7.3)全部校验通过。
说明
- 客户端改动无需重启:DSH 0.2.0-rc.2 的
dsh-client-hmr每 500ms 轮询每个客户端 bundle 的 mtime/ctime/size,变更后经/plugins/eventsSSE 推送、浏览器热重载该模块。宿主侧改动(lib/index.js)仍需重启。 - 完整根因与踩坑记录见仓库
DEVELOPMENT.md教训 14。
vizcb-codeblock-visualizer v1.6.2
vizcb-codeblock-visualizer v1.6.2
DeepSeek Harness 可视化插件:模型回答中的 svg / html / ```mermaid 代码块自动渲染为消息底部的图表卡片;支持文件预览(present-files)。mermaid 宿主端 worker 隔离渲染,运行时零网络外联。
v1.6.2 更新内容(自 v1.4.1)
v1.6.2 · 评审修订
- 隐藏源码逻辑完全交给 JS 按"本条消息实际解析出的块"精确处理,加容器查找三重守卫(深度上限/不越过 body/命中数上限,异常即放弃隐藏)
sanitizeSvgText消毒失败即拒绝(返回空,不再放行未消毒原文)- mermaid GET 兼容通道补
maxBlockChars上限;worker DOMPurify 绑定补注释说明
v1.6.1 · 只留渲染结果
hideSourceBlocks(默认开):隐藏已渲染的源码围栏,只留渲染结果(源码仍可通过卡片"复制"获取)
v1.6.0 · 可预览文件(present-files)
- 模型输出
present-files指令 → 工作区文件预览面板(同源/vizcb/p/<token>/、路径越界防护、大小上限、mtime 轮询自动刷新、打开所在目录)
v1.5.0 · 代码评审落地
- mermaid 渲染移入独立 worker_threads(不再污染宿主 globalThis)
- SVG/mermaid 输出宿主端 DOMPurify 消毒后才返回客户端
- mermaid 渲染全局限流 + 同 key 在途去重 + 串行化;调试日志改配置项(默认关)
- 主题适配(
canvasBg配置化);node --test用例 + GitHub Actions CI
安装
- 方式 A(一键脚本):下载本 Release 的
vizcb-codeblock-visualizer-1.6.2-complete-package.zip,解压后运行powershell -ExecutionPolicy Bypass -File install-vizcb.ps1,重启 DSH Desktop。 - 方式 B(git 依赖):profile
package.json添加"vizcb-codeblock-visualizer": "github:Reseezhang/vizcb-codeblock-visualizer#v1.6.2"并加入dsh.profile.bundles。 - 详细说明见 README。
vizcb-codeblock-visualizer v1.4.1
vizcb-codeblock-visualizer v1.4.1
DeepSeek Harness 可视化插件:把模型回答中的 svg / html / ```mermaid 代码块渲染为消息底部的内嵌图表卡片。mermaid 宿主端渲染,运行时零网络外联。
安装(详见 README)
- 方式 A(一键脚本,推荐):下载本 Release 的
vizcb-codeblock-visualizer-1.4.1-complete-package.zip,解压后运行powershell -ExecutionPolicy Bypass -File install-vizcb.ps1,重启 DSH Desktop 即生效。 - 方式 B(git 依赖):profile 的
package.json添加"vizcb-codeblock-visualizer": "github:Reseezhang/vizcb-codeblock-visualizer#v1.4.1",并加入dsh.profile.bundles。
v1.4.1 更新内容
- 修复深色主题渲染:dark 标志丢失导致实际使用浅色主题(深灰文字在深色画布上不清晰)
- mermaid 配色对齐宿主色板:深色主题文字 #E5E7EB、连线/箭头 #4F8CFF(可用 mermaidTextColor / mermaidLineColor 配置覆盖)
- 节点文字自适应:长文本自动扩宽节点矩形 + viewBox,不再溢出边框
- 清理打包产生的重复目录(node_modules/node_modules、lib/lib)
完整包内容
vizcb-codeblock-visualizer-1.4.1-complete-package.zip 内含插件本体(已内置全部运行时依赖)、一键安装脚本与安装说明。