DeepSeek Harness 插件:将回答排版为卡片

前言

DeepSeek Harness(DSH)在对话中输出长文本时,往往缺少结构化排版。现有做法要么依赖模型自己写格式,要么需要手动调整,增加开发者的工作量。九点四(ninepoin4)开发的 dsh-rich-cards 插件,通过在回答末尾自动插入可渲染的卡片块,让模型输出具备标题、导语、要点、数据、时间线、配图等结构化元素。

插件定位

这是 DeepSeek Harness 的一个排版插件,由维护者 ninepoin4 开发。它通过围栏块(fenced code block)约定,在回答末尾附加一张结构化的卡片或文章,支持卡片布局和文章布局两种模式。

核心能力

插件支持 12 种内容块类型,可用于构建不同结构的信息展示:

  • heading / paragraph:小节标题、正文段落
  • bullets / steps / chips:要点列表、步骤流程、标签
  • stats:2–4 个关键数字
  • kv:左右对照的键值行
  • callout / quote:提示框(info / tip / warn)、引用
  • timeline:带年份的事件线
  • image:真实 URL + 说明 + 来源
  • divider:分隔线

卡片或文章的顶层配置包括:

  • layout: "card" | "article":卡片布局或文章布局(文章去掉卡片外壳,按文章排版)
  • title:卡片标题
  • kicker:分类 · 主题
  • lead:导语
  • accent:主题色(如 indigo)
  • blocks:块数组
  • sources:底部来源标签
  • footer:页脚

插件以 fail open 为原则:解析失败时,卡片会显示为一段代码,不会中断整轮回答。

安装

使用 DeepSeek Harness 的插件安装命令,将插件添加到指定 profile:

dsh plugin --profile <你的 profile> add link:/path/to/dsh-rich-cards

安装完成后刷新窗口,卡片渲染在回答末尾,无需重启会话。

典型用法

模型会根据回答内容,在末尾生成一个 card 围栏块。示例:

```card
{
  "title": "一句话答案",
  "kicker": "分类 · 主题",
  "lead": "导语",
  "accent": "indigo",
  "blocks": [
    {"type": "paragraph", "text": "正文"}
  ]
}
```

也可以手动写,渲染器只认 card 这个 info string,正文必须是合法 JSON。

配图采用约定:讲人物、地点、作品时,先查一张真实图片(示例中用 curl 走维基图库接口),查到则配上 URL、说明与来源;查不到则不配图,不输出“接口被拦”“没找到配图”等信息。

适用场景与注意

适合需要结构化输出的场景,如:

  • 输出定义、公式、对比等内容,使用 card 布局
  • 输出长文、时间线、来源,使用 article 布局
  • 需要配图展示人物、地点、作品时,使用 image 块

注意:

  • 一张回答只渲染一张卡,最后一张生效
  • 卡片位置固定在回答末尾,不能插到段落中间
  • 解析依赖 DOM 匹配,若主题改动代码块结构,可能失效

插件以当前 DSH 进程权限运行,安装前应检查源码与许可证。

结尾

dsh-rich-cards 通过围栏块约定和前端 DOM 扫描,在回答末尾自动渲染结构化卡片,支持 12 种块类型和卡片/文章两种布局。插件位于社区目录,源码在GitHub。

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

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

Xiaoye