jetecho/dsh-csv-and-image-preview0

@jetecho/dsh-csv-and-image-preview

dsh-csv-and-image-preview:在 DSH 聊天中预览图片、SVG 及准备 CSV 数据的插件。采用浏览器原生 <img> 渲染,并支持“先预览确认、后应用改动”的工作流。

AI 分析

核心用途是在聊天界面中直接渲染图片/SVG 并预览 CSV 数据。适合经常需要生成、修改图片或处理数据表格,并希望在落地前进行视觉确认的用户。

包名
@jetecho/dsh-csv-and-image-preview
版本
0.1.0
许可证
MIT
最近更新
2026年8月28日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:jetecho/dsh-csv-and-image-preview

dsh-csv-and-image-preview

English | 中文

在 DeepSeek Harness (dsh) 聊天里真正把图片 / SVG 显示出来的插件——并支持 CSV 数据先行预览。它把图片以浏览器原生 `` 渲染,绕过聊天渲染器对 markdown / genui 图片的过滤;同时内置预览式工作流:生成或修改图片或 CSV 时,先把结果渲染给你看,等你确认后再落地真正的改动。

安装

标准 Profile Bundle 安装(推荐):

dsh plugin --profile web add @jetecho/dsh-csv-and-image-preview

或从本地目录安装开发版:

dsh plugin --profile web add ../dsh-csv-and-image-preview

安装后需重启 dsh web 让新 bundle 进入运行时。更早版本兼容做法是手动把包复制进 profile 的 node_modules 并在 cordis.patch.yml 插入 - insert: [...],仅作旧版本兜底。

它做什么

  1. 真渲染图片。宿主注册 preview_image 工具:读取文件路径(或内联 SVG),推断 MIME、base64 编码成 data-URI,通过工具结果的 presentationMeta 投递;浏览器端键控 toolview(tool.call.toolview key=preview_image)读取 meta 并渲染原生 ``。图片字节只走 meta 进浏览器,不进入模型上下文
  2. 预览式工作流。调用 preview_image 后,脚本拿到的是紧凑摘要(SVG/位图、尺寸、字节数),真正的画面直接显示在聊天里;脚本会「等待用户确认」,等你点头后才写入文件/执行改动。
  3. 预览任意资源。给一个本地路径即可预览对应图片文件;也能传入内联 SVG 文本直接渲染,无需落盘。

用法示例


我先给你看预览。
[调用 preview_image path=E:\DSHConfig\logo-a.svg label=ALPHA]

[调用 preview_image content= mime=image/svg+xml label=草图]

脚本会读到类似 已渲染预览「ALPHA」:SVG 矢量图(1.3 KB)。 的返回,图片则显示在工具卡片里。

约定:预览优先

本插件把「先预览、后落地」作为默认约定:

  • 生成 / 修改 SVG、图片或 CSV 时, preview_image 渲染,不做真实写入;
  • 用户确认(确认 / 可以 / 就这样)后,才真正写文件 / 执行改动;
  • 用户否决时,按反馈重做并再次预览;
  • 需要预览任意资源时,直接传 path

要强制遵守这一约定,可以配合附带的 agent preset(见 Agent.md),它会把这套规则写进会话 persona。

组成部分

lib/index.js   宿主:注册 preview_image 工具,读取文件并投递 data-URI
lib/client.js  浏览器 bundle:注册键控 toolview,渲染原生 
cordis.patch.yml  profile 插入行

开发

pnpm install
pnpm build       # no-op:lib/ 为成品,无需转译
pnpm prepack     # 校验打包内容含 lib/

License

MIT © jetecho,详见 LICENSE