🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

渐进工具披露 Yan-Zero/dsh-progressive-tools

DeepSeek Harness
Yan-Zero78 天前有提交已提供中文文档扫描:未发现敏感能力

按需检索并展开工具,保持模型可见工具列表稳定

31/100
综合分
4
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/30 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Yan-Zero/dsh-progressive-tools
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · security
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 78 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/cordis-plugin-include@deepseek-ai/cordis-plugin-loader@deepseek-ai/dsh-agent@deepseek-ai/dsh-code-runtime@deepseek-ai/dsh-invariants@deepseek-ai/dsh-llm@deepseek-ai/dsh-scope@deepseek-ai/dsh-session@deepseek-ai/dsh-system-prompt@deepseek-ai/dsh-tools
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

自动挂载的渐进式工具披露层,只做展示,适用于 Native、Code 和 Both 三种模式下的每个 DeepSeek Harness 智能体预设。

README

由 DeepSeek 最新模型翻译生成
dsh-progressive-tools 面向 DeepSeek Harness Native、Code 与 Both 模式中所有 Agent preset 的自动挂载、渐进式工具披露层。它只改变呈现层:即使实时 ToolRuntime 目录注册、注销、限制或遮蔽非 eager 工具,模型可见的工具前缀仍保持稳定。 安装与组装 按照 INSTALL.md 把这个自包含 bundle 安装到 dsh profile。bundle patch 会在 host plane 挂载插件一次,再由 ToolRuntime 与 SystemPrompt 的作用域视图将它传递给所有已有和未来的 Agent preset。无需复制、编辑或选择额外 preset。插件固定依赖 tools、systemPrompt 与 llm;只有 Agent 实际呈现 Code Mode 时才需要 codeRuntime。它不会修改 Harness checkout。
展开完整文档(README 剩余 1 节)
dsh-progressive-tools

面向 DeepSeek Harness Native、Code 与 Both 模式中所有 Agent preset 的自动挂载、渐进式工具披露层。它只改变呈现层:即使实时 ToolRuntime 目录注册、注销、限制或遮蔽非 eager 工具,模型可见的工具前缀仍保持稳定。

安装与组装

按照 INSTALL.md 把这个自包含 bundle 安装到 dsh profile。bundle patch 会在 host plane 挂载插件一次,再由 ToolRuntime 与 SystemPrompt 的作用域视图将它传递给所有已有和未来的 Agent preset。无需复制、编辑或选择额外 preset。插件固定依赖 tools、systemPrompt 与 llm;只有 Agent 实际呈现 Code Mode 时才需要 codeRuntime。它不会修改 Harness checkout。

- id: progressive-tools
config:
eagerTools: []
maxSearchResults: 10
maxDescribeTools: 5
maxSummaryChars: 240
maxQueryChars: 500
maxToolNameChars: 200
maxResultBytes: 1048576

上述配置块是 profile cordis.patch.yml 中的可选覆盖;bundle 已经拥有 progressive-tools 行。eagerTools 只应包含真正稳定、需要直接声明的精确工具名。未知 eager 名称会让 assembly 失败。条目数、字素数和结果 UTF-8 字节上限都会在成功返回前强制执行。

各模式的稳定表面

| 有效模式 | 模型可见的稳定工具 | 描述后的调用方式 |
| Native,原生延迟披露 API | search_tools、describe_tools、eager 工具 | 使用返回的精确名称与参数发起普通工具调用 |
| Native,其他 API | search_tools、describe_tools、invoke_tool、eager 工具 | invoke_tool({ name, arguments }) |
| Code | 线路仅有 run_code,其 SDK 声明发现与 eager binding | 后续 run_code 中调用 toolsexactName |
| Both | run_code、发现工具、eager 工具 | 普通调用或 Code binding |

invoke_tool 是能力兜底,不是第二套 Code transport。若解析后的模型支持 OpenAI Responses client tool search 或 Anthropic tool reference,插件会在 pi-ai 请求边界移除它。Code 与 Both 已有 run_code,因此不会暴露 invoke_tool。

发现协议

1. Native/Both 直接调用 search_tools({}) 或 search_tools({ query: "" }),Code 则把它作为 Code binding 调用,以列出完整轻量目录。与 Harness Skills 的“摘要优先”形态一致,每项只包含精确 name 与有界 description。文本查询只是可选的排序过滤器:各查询词独立匹配,不再要求全部命中;零命中时自动退回完整目录。需要时仍可显式传入 limit 缩小响应。
2. 对准备使用的候选项调用 describe_tools({ names })。它返回完整描述和 canonical 输入/输出 schema;Code/Both 还会获得当前 runtime 的 SDK 片段。
3. 后续模型步骤中,原生支持的 API 使用该精确名称与参数发起普通工具调用。插件从持久化请求历史重建成功的 describe_tools 结果,并把 schema 注入对应 tool-result 位置。不支持该能力的 Native API 使用稳定的 invoke_tool({ name, arguments }) 兜底。Code 在后续 run_code 中调用 toolsexactName。
4. 执行时 ToolRuntime 重新解析当前作用域目录。仍存在且可见的工具正常运行;已删除、受限、被遮蔽或拼错的名称返回当前失败原因。

搜索与描述每次都使用 ctx.tools.schemas(exec.agent) 和 ctx.tools.get(name, exec.agent)。Search 只返回 name、description 与紧凑计数元数据;describe 只为选中的名称返回精确 schema。两者都不会暴露内部目录或呈现元数据。

协议不维护可变 reveal 集合:搜索不会解锁能力,完整实时目录仍是执行权威。每次请求都会从已记录的 describe_tools 调用/结果对重建 Native 披露。

Native API 注入

Harness 请求对象保持冻结与只读。插件通过公开的 llm/stream waterfall 传递当前请求的持久化披露信息,再以可恢复方式包装解析后的 pi-ai Models.streamSimple 实例。对支持的模型,它在匹配结果上添加 pi-ai addedToolNames 并提供披露 schema;pi-ai 随后在该上下文位置序列化 OpenAI tool_search_call/tool_search_output 或 Anthropic tool_reference。不支持或无法识别的适配器保持原样并保留 invoke_tool。

模型体验

Native

Progressive tool disclosure

Start with search_tools({}) or search_tools({ query: "" }) when you need the complete lightweight catalog of all available names and summaries. A text query is only an optional ranking filter and falls back to that catalog when nothing matches.
Call describe_tools with only the exact names you intend to use.
describe_tools returns the exact input and output schemas; in Code Mode it also returns the active-runtime SDK excerpt.
On a later model step, issue an ordinary tool call with the returned exact name and arguments.
If the interface declares invoke_tool instead, pass it that exact name and arguments.
An unavailable call fails with the current ToolRuntime reason.

Code

线路仍只有 run_code;紧凑 SDK 只包含 search_tools、describe_tools 与 eager binding。Search 会列出轻量目录或按需排序,describe 再返回目标精确 schema 与 SDK 片段,后续程序调用 toolsexactName。

Token 与 KV Cache 影响

稳定前缀只随发现声明、固定兜底与 eagerTools 增长,不随完整可见目录增长。Native API 会在历史 describe 结果处追加披露 schema,而不是替换顶层工具数组,因此缓存前缀保持稳定。注册或注销非 eager 工具只改变后续发现结果。这直接针对 deepseek-harness discussion #935 中的动态工具前缀失效问题。

已知限制

- Native bridge 会按特征探测 pi-ai 内部对象 —— DSH 提供只读 stream waterfall,但没有 adapter context-transform hook。因此插件在不改 Harness 源码的前提下包装当前 pi-ai Models 实例。若内部形态变化,它会退化为稳定 invoke_tool;Both 仍有 run_code。
- Native 能力元数据必须准确 —— OpenAI Responses 使用 compat.supportsToolSearch;Anthropic 使用 supportsToolReferences 或 pi-ai 的第一方模型规则。错误宣称能力的 gateway 可能拒绝注入协议。
- 呈现不是授权 —— 已知精确名称的调用方可以尝试调用;ToolRuntime 的可见性、policy、approval、guard 与调度仍是最终权威。
- 不会过滤独立 tool:* guidance —— 若其他插件动态改变单独指引文本,system prefix 仍可能变化。
- 完整提示仍是最终权威 —— Harness 会在 assembly waterfall 后恢复 complete prompt,因此无法向其中注入发现指引,但稳定 wire 投影仍保留。
- 搜索是宽松、确定性的词法排序,不是语义检索。 独立词匹配、标识符拆分和少量英文复数归一化可以提升召回率;没有任何词法候选时会返回完整轻量目录,而不是留下空结果死路。
- 每个作用域假定只有一个协作式呈现所有者 —— 两个都改写最终工具表面的插件没有合并契约。

许可证

Apache License 2.0,参见 LICENSE。
预览分享卡片长什么样 ↓Yan-Zero/dsh-progressive-tools
分享 · DeepSeek Harness Hub
Yan-Zero/dsh-progressive-tools

按需检索并展开工具,保持模型可见工具列表稳定

回到顶部