DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Progressive Tools — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
P

dsh-progressive-tools

Progressive Tools

适用于 DeepSeek Harness 的缓存稳定型渐进式工具发现与调度

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:everclear077/dsh-progressive-tools#47e9ea5eaeb73ca2639acdad8f5b76ff5403dd7f
README兼容性版本

兼容性与来源证明

Progressive Tools 以 dsh-progressive-tools 发布,当前版本为 0.4.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/9/13

版本

0.4.0stable
2026/9/13
0.3.0stable
2026/8/28

相关插件

正在加载相关插件…

最新版
0.4.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
any
许可证
MIT
发布源
github
GitHub
★ 5
周下载
0
最近提交
2026/9/17
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 developer-tools 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Sdk Minimal@deepseek-ai/dsh-sdk-minimal独立的最小 SDK 配置包:JSON-RPC、一个 DeepSeek 适配器、持久化 Shell 和 JSONL 会话Sdk App@deepseek-ai/dsh-sdk-appdsh SDK 配置包:基于 dsh-base 提供 stdio JSON-RPC 服务和进程生命周期管理Subagent Codex@deepseek-ai/dsh-subagent-codex基于官方 app-server 协议的一次性 Codex 子代理提供程序

README

DSH Progressive Tools

Cache-stable progressive tool discovery for DeepSeek Harness. The default mode sends a small, fixed tool surface on the first request, keeps the complete catalog in process memory, and executes discovered tools through the ordinary Harness pipeline.

中文文档

Documentation map · Getting started · Upgrade guide · Troubleshooting

Why

Every visible tool definition consumes input tokens on every request. Changing that definition list later also changes the request prefix and reduces context cache reuse. Progressive disclosure needs both properties at once:

  • a small first request;
  • a byte-stable tool and system prefix across later requests.

The default stable-proxy mode provides that contract:

complete registry (process memory)
        │
        ├── exact searchable definitions
        │
        └── fixed request surface
              ├── tool_search
              ├── tool_dispatch
              └── common direct tools
                       │
tool_search result ────┴──► append exact matches to conversation history
                                  │
                                  └── tool_dispatch ──► normal DSH execution pipeline

Search changes conversation history, not the top-level tool list. Approval, guards, argument validation, timeout wrappers, result policy, deferred context, and cancellation still run for the selected real tool.

Features

  • Minimal tool definitions on the actual first AgentLoop request.
  • Byte-stable native tool list and Code Mode SDK across discovery calls.
  • Exact tool matches with full name, description, and parameter schema.
  • Family-wide discovery: each match names every sibling tool of its family, so one search opens a plugin's complete dispatchable surface.
  • Browsable status catalog listing, with an optional statusGrantsDiscovery grant for trusted deployments.
  • Bounded conversation growth: search results record per-call discovery increments while resume state travels in presentation metadata.
  • Deterministic BM25-style lexical ranking over names, descriptions, nested parameter descriptions, enums, family metadata, and multilingual aliases.
  • Stable tool_dispatch transport with runtime schema validation through the original tool definition.
  • Monotonic guard that rejects direct calls to deferred tools and permits only dispatcher-owned nested execution trees.
  • Support for inherited and agent-scoped tools.
  • Durable discovery reconstruction for top-level and Code Mode search calls.
  • Optional skill-to-family discovery bindings.
  • dynamic compatibility mode for deployments that require native definitions after activation.
  • Reversible Cordis effects for unload and configuration reload.

Requirements

  • Node.js ^22.19.0 or >=24.0.0
  • Host runtime 0.1.5-rc.1 (exact tested core peer versions)
  • pnpm for source installation and development

Runtime compatibility

Version 0.4.0 targets runtime 0.1.5-rc.1. Core peer versions are pinned to that tested release; older runtimes and later prereleases are not covered. Earlier plugin versions predate this adaptation. The command below uses the release tag for reproducible deployments.

Install

dsh plugin --profile web add github:everclear077/dsh-progressive-tools#v0.4.0

Source installs run the package prepare script. If pnpm asks for build authorization, add the exact package key it reports to the profile's pnpm-workspace.yaml:

allowBuilds:
  dsh-progressive-tools: true

Verify the composed layer before starting the profile:

dsh --profile web --dump-config

The dump should contain the progressive-tools row contributed by this bundle.

Use

The default direct surface contains:

  • tool_search;
  • tool_dispatch;
  • skill, ask_user_question, report, submit_*, and structured_output* when registered;
  • reserved Harness presentation transports when the active tool mode needs them.

No special wording is required in an ordinary conversation. A stable system instruction tells the agent to search before declaring a capability unavailable.

Discovery returns exact definitions:

{
  "query": "browser navigation",
  "max_results": 3
}

The next call uses one returned definition:

{
  "name": "browser_open",
  "arguments": {
    "url": "https://example.com"
  }
}

Each match also lists every member tool name of its family, and the whole family becomes dispatchable from that one search — siblings that did not make the top-ranked slice can be dispatched by name or schema-loaded with one exact-name query.

tool_search also accepts {"action":"status"}, which lists every deferred family with its member tool names alongside catalog and savings estimates. By default the listing is browse-only: dispatching an unseen name still requires one exact-name search, and the rejection message says so. Deployments that prefer immediate access can set statusGrantsDiscovery: true. Search results are append-only conversation content; they never add native definitions to the top-level request.

Configure

The default configuration is intentionally small:

- id: progressive-tools
  config:
    mode: stable-proxy
    toolName: tool_search
    dispatchToolName: tool_dispatch
    maxResults: 5
    requireDiscovery: true
    statusGrantsDiscovery: false
    deferToolGuidance: true
    alwaysVisible:
      - skill
      - ask_user_question
      - report
      - submit_*
      - structured_output*

Family rules improve search without changing the stable request surface:

- id: progressive-tools
  config:
    groups:
      - id: browser
        description: Browser navigation and page interaction
        aliases: [browser, web page, 浏览器]
        include: [browser_*]
      - id: database
        description: Database inspection and queries
        aliases: [database, sql, 数据库]
        include: [db_*, sql_*]

See configuration for every option, the plugin-ecosystem onboarding checklist (alwaysVisible for high-frequency tools, skillBindings for Skill-shipping packages, explicit groups for unconventional names), and the migration notes for dynamic mode. The progressive disclosure model maps Skills, exact tool definitions, execution, and provider capability gaps.

Execution and security semantics

Stable mode filters the authoritative prompt assembly instead of changing the registry view. A direct call to a deferred name is then denied by a monotonic tool guard. tool_dispatch creates a nested execution with the original agent, signal, root call identity, arguments, and real tool name, so normal DSH policy continues to apply to that real tool.

The guard is a routing invariant, not a replacement for approval or sandbox policy. Security-sensitive deployments should keep their existing controls enabled.

Trade-offs

  • Deferred tools lose provider-native argument grammar at the outer request. Their original schema is validated at dispatch time by DSH.
  • A task may need one discovery call before execution.
  • Family siblings become dispatchable before their schemas were shown; the pipeline still validates every call, but complex or side-effectful siblings are best schema-loaded first with one exact-name search.
  • Search is deterministic lexical ranking, not an embedding service.
  • Search results add only matched definitions to conversation history, but those definitions remain there until normal compaction.
  • A registry or composition change can legitimately alter the next prompt. Discovery alone does not.

Development

pnpm install
pnpm run check

The test suite includes a real AgentLoop request test that captures the first wire-ready tool array and verifies that discovery leaves both tools and system text unchanged.

The implementation follows the public references for architecture, system prompt assembly, tool execution, skills, and plugin packaging.

License

MIT