前言¶
DeepSeek Harness (DSH) 的核心设计理念是「一切皆插件」。在调试智能体或使用 run_code 生成图片和表格时,内容通常以文本或文件路径形式呈现,用户难以直观查看。dsh-csv-and-image-preview 插件解决了这一痛点,它将图片、SVG 和 CSV/TSV 数据直接渲染为浏览器原生元素,嵌入到对话流中,无需手动打开文件。
功能概览¶
该插件由 jetecho 维护,开源(MIT)。
- 原生渲染:使用原生
<img>标签渲染图片,使用原生<table>渲染表格。 - 交互能力:支持粘性表头、320px 内部滚动,点击表头可循环切换排序(升序、降序、原始)。
- 调用方式:支持直接调用、
run_code嵌套调用以及旧版meta格式。 - 数据格式:支持多种图片格式(SVG, PNG, JPEG, GIF, WebP 等)和 CSV 分隔符(自动识别逗号、分号、Tab、竖线)。
- 历史回放:支持快照保存和历史回放。刷新或重启 DSH 后,同一会话仍显示生成时的快照。
安装与配置¶
插件需 DSH 0.1.5-rc.1 或兼容版本。安装后需重启 dsh web 并刷新浏览器。
dsh plugin --profile web add @jetecho/dsh-csv-and-image-preview
使用方法¶
Agent 调用工具时,需传入 JSON 格式的参数。
- 预览图片:
preview_image {"path":"D:/assets/logo.svg","label":"Logo 预览"}
- 预览 CSV 文件:
preview_csv {"path":"D:/data/sales.csv","label":"销售数据","maxRows":100}
- 预览内联 CSV 内容:
preview_csv {"content":"姓名,分数\n张三,90\n李四,85"}
说明:
* path 与 content 同时存在时,优先读取 path。
* 相对路径以当前会话工作目录为基准。
* 内联 SVG 可直接传入 content。
* 图片和 CSV 输入均限制为 8 MiB。
注意事项¶
- CSV 编码:仅支持 UTF-8 CSV(支持 BOM),其他编码会提示转换。
- 存储位置:预览快照保存在
$DSH_HOME/storages/csv-and-image-preview/。未设置DSH_HOME时使用~/.dsh/storages/csv-and-image-preview/。 - 调用反馈:工具返回“预览数据已生成”仅代表快照保存成功,不代表浏览器已解码显示。
- 工作流建议:插件遵循“预览优先”约定,建议 Agent 在生成或修改文件前先调用预览,待用户认可后再写入目标文件。