MIT 开源的 DSH 插件:用 `tool_search` / `tool_describe` / `tool_call` 三个桥接工具把庞大的工具目录收进上下文之外,配分级披露、重排匹配与关键词兜底,一条 `dsh plugin` 命令安装,配置从 `~/.dsh/dsh-tool-search.json` 热加载。
DSH 适配
原生运行时
作者声明
安全审计
未审计
最后核验
2026-11-13
许可证
MIT
01它能帮你完成什么?
把庞大的工具目录(大量 MCP 服务器或插件工具)挡在上下文窗口之外,直到任务真正需要时才引入
上下文里只留 eager 核心与三个桥接工具;被延后的 schema 按需注入,并按 `maxWarmTools` 做 LRU 上限
工具目录已膨胀到每轮都背着任务用不到的 schema 的 DSH 用户
在 DeepSeek Harness 的一轮对话里查找、查看并调用被延后的工具
排序后的 `{name, description, group}` 匹配、单个工具的完整 schema,或按名称执行的真实工具——审批、守卫与会话事件因此仍挂在底层工具上
把大量 MCP 服务器或插件工具接入 DSH、又需要它们仍可被调用的开发者
不用手写 JSON 就能配好工具分组与重排匹配器
`tool-slimmer-setup` 技能读取工具目录、提出分组建议、询问要全局还是按项目,再带着走完匹配器配置;生成的文件会热加载
宁愿跟 agent 对话、也不想手改配置文件的人
02如何接入 DeepSeek Harness?
前置条件
- 已安装 DSH,并有一个可以添加插件的 profile——README 用的是 `--profile web`
- `tool_search` 与 preload 需要一个 OpenAI 兼容的 `/v1/rerank` 端点加 API Key;没有它关键词兜底也能用
安装步骤
- 01
运行下面的命令:`dsh plugin --profile web add dsh-tool-search`
$ dsh plugin --profile web add dsh-tool-search
- 02
让 agent 帮你给工具分组——自带的 `tool-slimmer-setup` 技能会提出分组方案、与你确认、询问配置放全局还是按项目,并引导配置重排匹配器
- 03
静态调参(预算、`core`、`maxWarmTools`)改 profile 的 `cordis.patch.yml`;分组、匹配器与 preload 写在运行时 JSON 文件里,下一轮生效
验证接入成功
作者未说明
03DSH 适配与能力边界
DSH 插件:一个 `system-prompt/assemble` 监听器在每一轮重写模型可见的工具列表,把长尾工具替换为 `tool_search` / `tool_describe` / `tool_call` 桥接。
桥接工具(`tool_search` / `tool_describe` / `tool_call`)
一句自然语言查询、一个被延后的工具名,或工具名加参数→排序后的匹配结果、一份完整的工具 schema,或真实工具的返回结果
命中的工具与被 describe 过的工具会被预热进会话的可见集合审批、守卫与会话事件指向真实工具,绝不会是桥接工具分级披露
每一轮的工具目录与 token 预算→0–3 级列表——无桥接、分组清单、仅名称,或每组一行并附数量
对话式配置技能(`tool-slimmer-setup`)
你的工具目录→写入插件 JSON 的工具分组、配置作用域与重排匹配器设置
用户级写入 `~/.dsh/dsh-tool-search.json`,项目级写入 `<workspace>/.dsh/dsh-tool-search.json`重排匹配器 + 关键词兜底
一条搜索查询,以及带 model 与 key 的 OpenAI 兼容 `/v1/rerank` 端点→按语义排序的匹配;未配置匹配器或重排调用失败时改用关键词排序(精确名称 > 名称词元 > 描述词元)
查询与工具元数据会被发送到配置好的重排端点动态注入(预热集合)
某一轮中被用到的被延后工具→它的完整 schema 会留在模型上下文中供后续轮次使用,并按 `maxWarmTools` 做 LRU 上限
模型可见的工具列表会增长,直到达到预热上限
04适合谁?何时不该用?
适合
- 工具目录已膨胀到每轮都背着任务用不到的 schema 的 DSH 用户
- 把大量 MCP 服务器或插件工具接入 DSH、又需要它们仍可被调用的开发者
- 宁愿跟 agent 对话、也不想手改配置文件的人
不适合
- `tool_search` 与 preload 需要一个 OpenAI 兼容的 `/v1/rerank` 端点,以及存放在插件 JSON 里的 API Key(README 示例是 DashScope 的 rerank 地址配 `sk-...` 形式的 key)。在配置好之前,`tool_search` 只返回配置指引。
- 本插件所挂接的切入点会随 dsh 变化:从 0.2.1-rc.3 起 PTC 生成器位于 `@deepseek-ai/dsh-tool-executor-ptc`,两个包都没有的宿主会以「关闭段落重写」的方式加载,这类宿主上表格精简只对更早的版本生效。
05兼容性、维护与安全提示
- `tool_search` 与 preload 需要一个 OpenAI 兼容的 `/v1/rerank` 端点,以及存放在插件 JSON 里的 API Key(README 示例是 DashScope 的 rerank 地址配 `sk-...` 形式的 key)。在配置好之前,`tool_search` 只返回配置指引。
- 本插件所挂接的切入点会随 dsh 变化:从 0.2.1-rc.3 起 PTC 生成器位于 `@deepseek-ai/dsh-tool-executor-ptc`,两个包都没有的宿主会以「关闭段落重写」的方式加载,这类宿主上表格精简只对更早的版本生效。
- 静态调参(`thresholdPct`、`listingMaxTokens`、`configScope`、`core`、`maxWarmTools`)写在 profile 的 `cordis.patch.yml` 里,改完要重启;分组 / 匹配器 / preload 写在运行时 JSON 文件里,该文件按 mtime 监听,下一轮热加载。
- 重排是主排序;没有匹配器或重排调用失败时,搜索退化为关键词匹配(精确名称 > 名称词元 > 描述词元),并且从不报错——结果比重排弱,但这一轮照样能跑通。
MIT · 仅 README 证据(经 npm 分发,facts 包中无 GitHub release),未做安全审计
06常见问题
怎么把 dsh-tool-search 装进 DeepSeek Harness?
运行 `dsh plugin --profile web add dsh-tool-search`。静态调参(`thresholdPct`、`listingMaxTokens`、`configScope`、`core`、`maxWarmTools`)写在 profile 的 `cordis.patch.yml` 里,改完要重启;工具分组、匹配器与 preload 写在 `~/.dsh/dsh-tool-search.json`(或 `<workspace>/.dsh/dsh-tool-search.json`),下一轮自动生效。
它会把我的工具从 DSH 里删掉吗?
不会。精简只重写 `system-prompt/assemble` 里的模型可见表面,注册表保持完整,被延后的工具照样可执行。模型调用 `tool_call` 时,插件通过 `ctx.tools.execute` 按真实工具名执行,审批、守卫和会话事件都指向底层工具,而不是桥接工具。
一定要配 API Key 吗?
要用 `tool_search` 与 preload 就得配:匹配器是 OpenAI 兼容的 `/v1/rerank` 端点,`apiKey` 与 `model` 写在插件 JSON 里(README 示例用的是 DashScope 的 rerank 地址与 `qwen3-reranker`)。没配之前 `tool_search` 只返回配置指引;没有匹配器或重排失败时,搜索退化为关键词匹配且不会报错。
插件把配置写在哪?
工具分组、匹配器和 preload 写在运行时 JSON:用户级是 `~/.dsh/dsh-tool-search.json`,项目级是 `<workspace>/.dsh/dsh-tool-search.json`,`configScope: auto` 时项目文件优先。该文件按 mtime 监听并热加载,改动下一轮就生效,不必重启 DSH。
DSH 升级后工具列表会怎样?
插件按宿主适配。dsh 0.2.1-rc.3 起 PTC 生成器搬到 `@deepseek-ai/dsh-tool-executor-ptc`,改用运行时动态 import 解析;两个包都没有的宿主会以「关闭段落重写」的方式加载插件而不是报错,这类宿主仍然得到声明重写与注入的目录,表格精简只对更早的版本生效。
07相关的 DSH 工作流
archify
作者 tt-a1i
为编码智能体生成美观可验证的架构图、时序图与数据流图,输出自包含 HTML,支持动效与清晰导出。
openviking
作者 volcengine
为 AI 智能体打造的自进化上下文数据库,统一智能体记忆、知识 RAG 与技能。
aitoearn
作者 yikart
面向抖音、快手、小红书和视频号的 AI 内容发布工作流,提供相关平台与 MCP 工具集成。
learn-harness-engineering
作者 walkinglabs
Harness 工程新手教程,从 0 到 1 系统学习智能体工作流框架。
08数据与来源
This plugin collapses the long tail behind three bridge tools and lets the model discover and load them on demand throug…
On every turn, the plugin's `system-prompt/assemble` listener computes the tier and replaces the model-visible tools:
- **Bridge tools** — `tool_search`, `tool_describe`, `tool_call` replace the deferred schemas.
页面基于项目公开文档、仓库元数据和 DSH Plugins 的结构化解析生成;最后核验于 2026-11-13。发现错误?提交更正。
最佳 DeepSeek Harness 插件
从全目录挑出的 12 个值得优先安装的插件,覆盖各个分类。
