前言¶
在 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_meterpin_addfact_searchfact_findledger_querycache_statusquota_checktranscript_searchdeep_scaneco_scanforge_write
单张卡片的展示契约¶
每张工具视图卡片包含:
- 标题;
- 状态(
running/ok/error); - 参数预览;
- 可滚动的结果文本。
样式仅使用 --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),不要自行拼接其它变体。
- 在已安装 DSH CLI 的环境中执行:
dsh plugin --profile web add github:121212165/dsh-plugin-family-cards
- 重启 dsh 进程,使 Web Client 加载客户端插件。
- 在 Web 界面中让模型调用上述任一家族工具,观察是否出现统一格式的工具卡片。
package.json 要求 Node >= 22.18(主要用于仓库开发与 check 脚本;最终用户以 DSH 宿主环境为准)。许可证为 MIT;当前仓库版本 0.1.0。
典型用法¶
README 给出的 60 秒路径可以概括为:
- 按上一节命令将插件加入 web profile;
- 重启 dsh;
- 在 Web 里触发模型对家族工具的一次调用(例如配额查询、Pin 添加、账本查询等,取决于你已安装的家族 Host 插件);
- 在工具调用区域查看卡片:运行中应显示
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 安装与重启,再在浏览器里用一次真实工具调用来确认展示是否符合预期。