DeepSeek Harness (DSH) Web 模式支持通过插件扩展功能。在默认的联网搜索流程中,搜到的网页、图片通常只显示在工具调用面板中,面板往往会被折叠,导致用户看不到配图,也无法追溯引用来源。dsh-better-display 解决了这两个问题,它让模型将引用和图片写入回答正文,并在前端进行渲染,让智能体回答更加直观。
核心功能¶
本插件主要提供以下能力:
- 引用角标:将模型写入的
[n](url)渲染为上标小圆角标。悬停时显示站点图标、域名和标题,点击可在新标签页打开来源。 - 来源面板:回答结束后在末尾汇总所有被引用的网页。面板会按 URL 去重并按首次出现排序,可展开为卡片列表。
- 正文配图:将搜到的相关图片以 Markdown 图片语法嵌入正文,渲染为带说明文字的图片。
- 图集:同一行的 2 张以上图片会自动排成网格图集。
- 大图预览:点击图片可全屏查看,支持跳转原图,按 Esc 关闭。
- 加载失败兜底:图片失效时退化为可点击的说明链接,不会留下破损图片。
- 完整 Markdown:基于 markstream-react 的流式渲染,支持 Shiki 代码高亮、Mermaid、KaTeX、表格、任务列表等。
安装与配置¶
通过以下命令安装插件:
dsh plugin --profile web add @copylee/dsh-better-display
安装后,建议在 DSH 左侧栏「插件」页打开 @copylee/dsh-better-display,点击组件行的配置按钮进行调整。保存配置后,下一条回答即可生效,无需重启进程。
配置项包括:
- 引用角标 (
citations):默认开启。让模型用[n](url)标注联网来源,并显示为角标和汇总面板。 - 正文配图 (
inlineImages):默认开启。让模型把搜到的相关图片嵌入回答。 - 配图数量 (
imageCount):默认由 AI 决定。可设为auto(模型按内容决定)或limit(限制每条回答最多张数)。 - 最多张数 (
maxImages):默认 8。仅在设为limit时生效,范围 1–20。
兼容性与依赖¶
- 版本要求:需要 DeepSeek Harness >= 0.2.0-rc.2。
- 依赖插件:需要与
dsh-free-search等联网搜索插件配合使用。 - 互斥关系:
- 与
dsh-better-markdown互斥,安装后建议移除dsh-better-markdown以避免重复打包。 - 与
dsh-genui互斥,二者都会替换 assistant 渲染器,本插件优先级更高,只会生效一个。
- 与
工作原理¶
插件不修改 Harness 源码,而是通过注入 Prompt 和覆盖渲染 Slot 实现:
- 宿主端:在 System Prompt 中注入指令,告诉模型将引用写成
[n](url),相关图片写成。 - 浏览器端:覆盖 Assistant 渲染 Slot。解析 Markdown 中的引用和图片,分别渲染为角标、图集、预览组件以及底部的来源面板。
安全说明¶
- 原始 HTML 一律转义。
- 角标、链接、图片只接受
http(s)地址,javascript:、相对路径等保持为不可点击文本。 - 图片与站点图标使用
referrerPolicy="no-referrer",并启用懒加载。
典型用法¶
与 dsh-free-search 配合使用,可以直接这样提问:
- 「介绍一下埃菲尔铁塔,配几张图,并标注信息来源」
- 「最近一周 DeepSeek 有什么新闻?每条注明出处」
- 「对比 iPhone 17 和 Pixel 10 的外观,附图」
回答中会出现上标角标、正文图片/图集以及末尾的「来源 · N」面板。