Skip to content

Releases: Reseezhang/vizcb-codeblock-visualizer

vizcb-codeblock-visualizer v1.7.3

Choose a tag to compare

@Reseezhang Reseezhang released this 17 Oct 02:56

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/events SSE 推送、浏览器热重载该模块。宿主侧改动(lib/index.js)仍需重启。
  • 完整根因与踩坑记录见仓库 DEVELOPMENT.md 教训 14。

vizcb-codeblock-visualizer v1.6.2

Choose a tag to compare

@Reseezhang Reseezhang released this 30 Aug 09:00

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

Choose a tag to compare

@Reseezhang Reseezhang released this 29 Aug 07:05

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 内含插件本体(已内置全部运行时依赖)、一键安装脚本与安装说明。