dsh-viz:在 DSH 会话里把结构化数据画成可对比的图表

前言

在 DeepSeek Harness(DSH)里跑智能体时,模型或工具往往会吐出时间线、关系网、日历统计或自定义图表配置。若只在工具卡正文里堆 JSON 或文字摘要,排期、拓扑和趋势很难一眼对齐,更谈不上在同一会话里并排比较多张图。社区插件 dsh-viz(维护者 leolee9086,分类:客户端)面向这类需求:宿主注册 viz_show,客户端用同一套 ECharts / vis-network 渲染器,在工具卡内保留完整图表,并在右侧栏集中查看、多选对比。

这是什么

dsh-viz 是 DeepSeek Harness 的双位置可视化插件。事实来源是持久化的工具调用参数,而不是工具卡 DOM 或右栏导航参数。图表身份为 sessionId + callId;目录从会话事件窗口恢复,并识别直接调用与 PTC 网关子调用,外层网关不重复计数。

仓库:https://github.com/leolee9086/dsh-viz
社区目录页:https://www.skillhub.cn/plugins/leolee9086/dsh-viz
当前 package 版本:0.2.1,许可证 MIT。

核心功能

双位置渲染

  1. 调用 viz_show 后,展开工具卡仍看到完整图表,而不是仅有一个摘要入口。
  2. 工具卡与右栏各自持有图表实例,缩放、选择和卸载互不影响。
  3. 当前会话中新成功的图表调用会自动打开右栏;历史重放不自动打开,后台会话不会抢占当前右栏。

会话级目录与对比

  1. 点击会话标题栏的「图表」,或工具卡上的「加入对比」,打开本会话的图表集合。
  2. 勾选多张图,可选自适应、上下或并排布局;时间线支持底部滑块或滚轮缩放。
  3. 图表下的「回到工具卡」会展开原生折叠组并定位到对应调用;「来源记录」可查看调用 ID、事件序号、根调用 ID(若有)和原始数据。
  4. 若提示还有历史未载入,可点「载入更早的图表」,通过正式会话分页接口向前加载;大会话可能耗时较长。

支持的视图(kind)

kind 用途 主要数据字段
timeline 时间线 / 泳道甘特、分镜和排期 items[]:label, start, end, group, note
network 关系网 nodes[], edges[]
calendar 日历热力 items[]:date, value
echarts 原生 ECharts JSON option
gallery 图册 images[](浏览器可访问的图片 URL)

时间字段支持纯秒数、"0:05"、"1:02:03"、ISO 或日期串。

安装与启用

桌面版请使用 Electron 应用内的插件管理器,安装地址如下(资料原文,含版本锚点):

https://github.com/leolee9086/dsh-viz#v0.2.1

非桌面 profile 可使用官方 CLI,将 <name> 换成对应 profile 名称:

dsh plugin --profile <name> add 'https://github.com/leolee9086/dsh-viz#v0.2.1'

不要在 profile 目录手工运行 pnpm add 或改组合来代替管理器;desktop profile 由 Electron 管理,CLI 会拒绝操作。安装后刷新页面;若管理器要求重载或重启,按其提示操作。仓库已包含构建产物,使用者无需自行编译客户端。

插件在 DSH 进程权限下运行;安装前建议阅读源码与 MIT 许可证,确认符合你的环境策略。

典型用法

智能体或工具侧调用 viz_show,传入 kind 与对应字段。下面是一个时间线分镜示例(与 README 一致):

{
  "kind": "timeline",
  "title": "分镜排期",
  "items": [
    { "label": "S01", "start": "0:00", "end": "0:05", "group": "场一", "note": "近景" },
    { "label": "S02", "start": "0:05", "end": "0:10", "group": "场一", "note": "切到中景" }
  ]
}

经过上面的步骤,工具卡内会渲染完整时间线;新成功的调用还会按规则打开右栏。需要对比时,从标题栏或工具卡进入集合,多选布局即可。关系网、日历、ECharts option 与图册 URL 同理,字段需符合上表约定。

数据生命周期与边界

  • 失败记录会保留,但不触发右栏自动打开;替换或补页记录不会当作新结果。
  • 事件订阅与会话绑定:工具组隐藏或原位卡卸载,不影响已打开的右栏图表;刷新或释放会话后,目录从日志恢复,默认选中最新图表。
  • 客户端按需加载历史,不等于把全部历史重新塞进模型上下文;工具参数可追踪,也不等于压缩后永久留在模型活跃上下文中。
  • 图表只读:可缩放、悬停、比较,不能直接编辑原始调用数据。
  • 本地图片须先变为浏览器可访问的 URL;option 不接受可执行 JavaScript 回调字符串。
  • 同时勾选很多复杂图会增加浏览器内存与绘制成本,可减少选择或改用上下布局。
  • 「回到工具卡」依赖与宿主对齐的兼容桥(如 data-chat-call-id、beforematch);宿主升级后若接缝变化,回跳可能明确失败。README 注明 v0.2.1 已通过部分逻辑/静态测试与构建,实际安装后的点击回跳仍需验收;插件管理器安装、正式插槽挂载与跨会话行为也需在安装后自行验证。

结尾

若你希望在 DSH 会话里把时间线、关系网、日历和 ECharts 从「可读 JSON」变成「可对比的图」,dsh-viz 提供了 viz_show 与双位置 UI 的一整套路径。更多细节见 GitHub README 与 SkillHub 目录页。DSH 生态强调「一切皆插件」;社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。

羽毛球分组比赛记分
小程序二维码

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

小夜