dsh-plugin-family-cards:家族工具的 Web 工具卡片渲染器

前言

在 DeepSeek Harness(DSH)里,工具调用除了执行逻辑,还需要在 Web 客户端里以可读方式展示参数与结果。官方为工具卡片提供了 presentCall / presentResult 一类 presentation hooks,但内置 Web Client 并不消费这些 hooks——按官方 adding-a-tool 文档的表述,要在 Client 侧用 tool.call.toolview 按工具名注册渲染器才行。若你同时使用 121212165 家族里多个 Host 工具(配额、Pinboard、账本等),默认界面往往缺少统一、可扫读的卡片层。dsh-plugin-family-cards 就是专门补上这一层的客户端插件:在 Web 里为 11 个家族工具提供统一格式的工具视图卡片。

这是什么

dsh-plugin-family-cards 由维护者 121212165 发布,归类为 客户端 插件(目录中标注为「编排与界面」)。它不参与工具本身的业务逻辑,只在 Web Client 的 tool.call.toolview 槽位按工具名注入渲染器,让模型调用家族工具时,用户能看到标题、状态、参数预览和可滚动结果文本,而不是依赖内置 Client 对 presentation hooks 的消费(当前内置路径不覆盖这层)。

生态上,该插件属于 dsh-plugin-family 家族配套件之一;社区目录见 SkillHub 插件页。

核心功能

下面说明插件在资料中明确写明的行为,不做外延推断。

覆盖的 11 个家族工具

渲染器按工具名注册,当前 README 列出的工具包括:

  • quota_meter
  • pin_add
  • fact_search
  • fact_find
  • ledger_query
  • cache_status
  • quota_check
  • transcript_search
  • deep_scan
  • eco_scan
  • forge_write

单张卡片的展示契约

每张工具视图卡片包含:

  1. 标题;
  2. 状态(running / ok / error);
  3. 参数预览;
  4. 可滚动的结果文本。

样式仅使用 --dsw-alias-* 设计令牌,不 require 任何 client 包,便于与官方 Web Client 主题对齐。

实现结构(便于读源码时对照)

  • client.js:通过 ModuleLoader,在 ctx.slots.inject("tool.call.toolview", ...) 中按工具名 keyed 注册;
  • Host 侧 apply() 为空——纯 Client 插件;
  • package.json 中 dsh.client 声明 platform: web、immediately: true。

与官方 dsh-client-ui-cordis(内置渲染器,可参考其 lib/client.js 中 toolview 注册模式)的差异是:官方渲染器主要服务自家工具;本插件把同一套 slot 机制扩成家族工具的统一卡片层。

验证与配套说明

仓库 npm run check 包含语法检查及 3 项回归(与官方 session_search 共存、运行中/完成卡片、错误结果及损坏参数)。README 注明:SDK 0.2.2 已占用 session_search,归档搜索卡片改为 transcript_search,需与更新后的 transcript-search 插件配套。真实 Web 环境里工具调用后的卡片渲染,作者标明仍待浏览器侧验证,单元测试不能替代现场证据。

安装与启用

安装命令须使用 README 原文(带 --profile web),不要自行拼接其它变体。

  1. 在已安装 DSH CLI 的环境中执行:
dsh plugin --profile web add github:121212165/dsh-plugin-family-cards
  1. 重启 dsh 进程,使 Web Client 加载客户端插件。
  2. 在 Web 界面中让模型调用上述任一家族工具,观察是否出现统一格式的工具卡片。

package.json 要求 Node >= 22.18(主要用于仓库开发与 check 脚本;最终用户以 DSH 宿主环境为准)。许可证为 MIT;当前仓库版本 0.1.0。

典型用法

README 给出的 60 秒路径可以概括为:

  1. 按上一节命令将插件加入 web profile;
  2. 重启 dsh;
  3. 在 Web 里触发模型对家族工具的一次调用(例如配额查询、Pin 添加、账本查询等,取决于你已安装的家族 Host 插件);
  4. 在工具调用区域查看卡片:运行中应显示 running,完成后为 ok,失败为 error,并可在卡片内滚动阅读结果文本。

本插件不单独提供 CLI 子命令;价值完全体现在 Web 工具视图上的可读展示。

适用场景与注意

适合谁

  • 已在 DSH Web 中使用 121212165 家族多个工具,希望工具调用过程在界面上格式一致、便于扫读参数与结果;
  • 愿意在 Client 插件机制下扩展 UI,而不是等待内置 Web Client 消费 presentCall / presentResult。

使用注意

  • 插件随 当前 dsh 进程 加载,权限与可见数据与宿主会话一致;安装前请阅读 GitHub 仓库 源码与 MIT 许可证,确认符合你的安全与合规要求。
  • 仅为 Web 平台(dsh.client.platform: web);其它 Client 形态不在此插件声明范围内。
  • 卡片内容依赖对应 Host 工具的真实返回;若某家族工具未安装或调用失败,卡片会反映 error 状态,本插件不修复工具逻辑本身。
  • 社区目录(SkillHub)与 GitHub 为独立信息源,与 DeepSeek / 幻方无官方从属关系;星标等统计以各站点当时显示为准(GitHub 资料中星标为 1)。

结尾

dsh-plugin-family-cards 解决的是「家族 Host 工具已在跑,但 Web 默认不通过 presentation hooks 展示统一卡片」这一缺口:在 tool.call.toolview 为 11 个工具名注册同一套卡片渲染。若你正在组装 121212165 家族工具链,可先完成 web profile 安装与重启,再在浏览器里用一次真实工具调用来确认展示是否符合预期。

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

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

Xiaoye