dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
Lazy capability catalog for DeepSeek Harness: MCP tools and skills behind one compact index, with per-session switches
让 DeepSeek Harness 知道有哪些工具和 skill,而不把它们的全部定义塞进每一次请求。
DSH 会把每个可见工具的完整 schema 放进每次请求。接一个 REA 这样的 MCP 服务器(207 个工具、约 668 KB 参数定义),每个会话的第一个请求就要多带约 25 万输入 token。skill 目录也是同类问题,只是小一些。
本插件把 MCP 工具和 skill 放进一个统一的能力目录:
capability_search 检索或浏览某族,capability_describe 查看准确参数(超大 schema 先给紧凑签名,可按 JSON Pointer 展开),capability_call 校验参数后调用;skill 工具与 /name 用法不变;场景 · 直接注册 REA · 通过能力目录 首个请求输入 token · 249,653 · 约 9,200(含 REA 索引、59 个 skill 的索引和全部内置工具) REA 在提示词中的常驻内容 · 约 668 KB schema · 约 2.3 KB 分组索引 最大单个 schema(compare_web_captures) · 166 KB · 紧凑签名约 2.3 KB,按需展开 59 个 skill 的目录 · 原生目录,每条描述最多 500 字符 · 约 5.1 KB(名称 + 短描述)
0.2.1-rc.3 上同样实测通过。
包 · 用途 @kirkchinese/dsh-capability-catalog · 通用能力目录插件 @kirkchinese/dsh-rea · REA 适配:人工整理的 14 个能力族。上游支持后弃用 @kirkchinese/dsh-re-kit · 整合包:能力目录 + REA,一次安装
兼容 DSH 0.2.1-rc.2(npm latest)与 0.2.1-rc.3,Node.js ^22.19.0 || >=24.0.0。
整合包(需要先全局安装 rea-agents,使 rea 在 PATH 上):
npm install -g rea-agents
dsh plugin --profile web add @kirkchinese/dsh-re-kit只装能力目录,再在 profile 的 cordis.patch.yml 里配置自己的 MCP 服务器:
dsh plugin --profile web add @kirkchinese/dsh-capability-catalog- id: capability-catalog
config:
mcp:
- name: github
command: npx
args: ['-y', '@modelcontextprotocol/server-github']其他包也可以各自插入一行 @kirkchinese/dsh-capability-catalog/server 来添加服务器,互不覆盖配置。整合包与单独的包二选一,不要同时安装。
生效顺序:会话设置 > 全局设置 > 配置文件默认值。关掉的能力从索引、检索和调用中一并移除;模型直接调用时会得到“已在本会话关闭”的提示。全局关掉的服务器,在某个会话里单独设为「开」时,只为该会话按需发现和启动。开关保存在 $DSH_HOME/capability-catalog/toggles.json,不写入会话日志;请通过界面修改,直接编辑该文件要重启 DSH 才生效。
关闭整个插件:把 capability-catalog 行的 enabled 设为 false,此时不注册工具、不进索引、不运行任何 MCP 服务器,原生 skill 目录恢复。完整配置项见插件说明。
tool_reference、REA:在 tools/list 中声明工具族。实测表明 DeepSeek 端点已经支持“延迟工具 + tool_reference”,DSH 适配器支持之后,本插件会增加原生延迟加载模式。pnpm install
pnpm test # 编译并运行单元测试
node scripts/sync-patches.mjs # 由 packages/rea/families.yml 生成各包的 patch
node scripts/pack-local.mjs /tmp/packs # 打包本地测试用 tarball