DeepSeek Harness 插件:dsh-better-display —— 图文并茂的回答与引用角标

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),相关图片写成 ![desc](url "source")。
  • 浏览器端:覆盖 Assistant 渲染 Slot。解析 Markdown 中的引用和图片,分别渲染为角标、图集、预览组件以及底部的来源面板。

安全说明

  • 原始 HTML 一律转义。
  • 角标、链接、图片只接受 http(s) 地址,javascript:、相对路径等保持为不可点击文本。
  • 图片与站点图标使用 referrerPolicy="no-referrer",并启用懒加载。

典型用法

与 dsh-free-search 配合使用,可以直接这样提问:

  • 「介绍一下埃菲尔铁塔,配几张图,并标注信息来源」
  • 「最近一周 DeepSeek 有什么新闻?每条注明出处」
  • 「对比 iPhone 17 和 Pixel 10 的外观,附图」

回答中会出现上标角标、正文图片/图集以及末尾的「来源 · N」面板。


插件地址:https://github.com/copylee711/dsh-better-display

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

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

小夜