dsh-status-card:为 DeepSeek Harness 回复注入状态卡片

前言

在 DeepSeek Harness (DSH) 的使用场景中,Agent 的回复通常以纯文本呈现。如果需要在回复中直观展示当前状态(如角色设定、心情、当前任务等),需要在每次对话中手动拼接代码块或 Markdown,这不仅繁琐,且难以维护统一的格式。

dsh-status-card 是一个由 liqiming-whu 维护的 DSH 插件。它的核心功能是在每次 Agent 回复的正文开头,注入一段可配置的 dsh-ui 状态卡片指令。这利用了 DSH 的系统提示注入机制,不干扰对话历史,能够为 Agent 的回复提供统一的视觉状态展示。

核心功能

该插件提供以下能力:

  • 回复注入:在每次 Agent 回复正文开头输出内联 dsh-ui 状态卡片。
  • 无历史干扰:通过 ctx.systemPrompt.section() 注入格式指令,不追加用户或助手对话历史。
  • 视觉风格:使用 emoji 代替 Material Icons,适配不同风格。
  • 内置模板:提供六款内置模板(A 软萌活力、B 极简专注、C 专业工作、D 星舰科技、E 温暖陪伴、F 开发者终端)。
  • 高度可配置:支持启用/关闭开关、自定义卡片标题、自定义 GenUI JSON 模板。
  • 设置页辅助:设置页提供实时卡片预览和自定义模板校验。
  • 语言适配:自动检测浏览器首选语言,zh 开头使用中文,其他使用英文。
  • 自定义限制:自定义模板限制为 64 KiB,必须包含非空 items 数组。

前置要求

安装本插件前,需确保环境满足以下条件:

  • 已安装 DeepSeek Harness。
  • 终端可运行 pnpm。
  • Web profile 上已安装并启用 @omdsh-dev/dsh-genui。这是渲染 dsh-ui 围栏的前置依赖。

安装

推荐安装稳定版本 v0.2.1:

dsh plugin --profile web add "git+https://github.com/liqiming-whu/dsh-status-card.git#v0.2.1"

安装完成后,重启 dsh web 并在浏览器中硬刷新页面。

使用

插件安装并启用后,在浏览器中打开设置页面,进入“状态卡片”选项:

  1. 启用/关闭:通过开关控制是否在回复中输出状态卡片。
  2. 修改标题:自定义卡片显示的标题文本。
  3. 选择模板:从内置模板库(A–F)中选择一款风格。
  4. 自定义模板:选择“自定义模板”以编辑严格的 GenUI JSON,需符合 64 KiB 限制和非空 items 数组的要求。
  5. 预览与保存:在设置页查看实时预览,校验通过后保存。

浏览器端会读取 navigator.languages(以 navigator.language 作为回退),将检测结果同步到 DSH Settings。首选语言以 zh 开头时,设置界面、内置模板和系统提示注入使用中文;否则使用英文。

注意事项

  • 会话生效:安装插件、切换浏览器语言或修改设置后,需要新建一个会话才能使新的状态卡片配置生效。已有会话不会自动应用新配置。
  • 持久化:设置会通过 DSH Settings 服务持久化存储。
  • 本地预览:设置页预览由插件本地实现,不跨插件导入 GenUI 客户端值,以确保客户端 bundle 纯度。
  • 渲染依赖:必须先安装并启用 GenUI,聊天中的 dsh-ui 围栏才会被正确渲染。

总结

dsh-status-card 通过在系统提示层面注入指令,实现了在 Agent 回复中动态展示状态卡片的能力。它减少了手动拼接格式的工作量,并提供了多种内置风格和自定义选项,适合需要在对话中强调角色状态或展示复杂信息的场景。

GitHub 仓库 | 插件目录

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

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

小夜