Letter2025/dsh-tool-search

用于 DeepSeek Harness 的工具搜索与精简:Hermes 风格渐进式披露——按需搜索、描述和调用长尾工具

Project Overview项目介绍

This is a DSH-native plugin that provides tool search and context slimming for DeepSeek Harness. When users add many MCP servers or plugins to their DSH instance, including every tool’s JSON schema in the context on every turn wastes large amounts of context tokens. This plugin solves that problem by implementing a Hermes-style progressive disclosure mechanism that hides long-tail infrequently used tools behind three bridge tools. You can install the plugin directly via the DSH CLI command dsh plugin --profile web add dsh-tool-search. It keeps core essential tools visible to the model at all times, and only loads deferred tools when they are requested by the model.

After installation, you can run a full conversational setup without editing any configuration files manually to get started. All you need to do is ask your DSH agent to help configure tool grouping for dsh-tool-search, and the bundled tool-slimmer-setup skill will automatically scan your full tool catalog, propose logical groups based on tool names and prefixes, and walk you through setting up your rerank model. You can choose to save your configuration globally at ~/.dsh/dsh-tool-search.json or per project at <workspace>/.dsh/dsh-tool-search.json, depending on your specific use case and whether you want different settings for different workspaces.

The core tool search ranking relies on an OpenAI-compatible rerank endpoint, but if no endpoint is configured or the rerank call fails, it falls back to keyword matching that works reliably without additional dependencies. The plugin supports hot-reloading of configuration changes, so any edits to your config file take effect on the next conversation turn without requiring a full DSH restart. It is released under the permissive MIT license, and the maximum number of dynamically warmed tools is configurable via an LRU cap to prevent too many tools from filling up your context.

这是一个专为DeepSeek Harness(DSH)开发的原生插件,核心功能是工具搜索和上下文瘦身,解决当工具目录过大时,全量工具JSON schema每次都注入模型上下文造成的token浪费问题。它采用Hermes风格的分层披露机制,用三个桥接工具将长尾工具隐藏起来,让模型按需发现加载,核心常用工具则保持始终可见。可通过DSH官方命令dsh plugin --profile web add dsh-tool-search完成安装。

该插件面向安装了大量插件或MCP服务器、工具目录过大的DSH用户使用。用户无需手动编写全量配置,可通过对话式流程完成设置:只需向DSH代理发送请求,要求帮你配置dsh-tool-search的工具分组,自带的tool-slimmer-setup技能就会读取全量工具目录,自动分组并引导你完成重排模型配置,还支持选择全局配置或项目级配置。

该插件依赖一个兼容OpenAPI格式的重排序端点来完成工具搜索排序,未配置或重排序调用失败时会自动降级到关键词匹配,不会导致搜索出错。配置文件支持热更新,修改后在下一轮对话生效,暖加载工具数量支持通过LRU策略配置上限,项目采用MIT许可证开源,可以免费使用和修改。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 warning1 项注意
  • Only 4 stars - very few users, little community feedback星标只有 4,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add dsh-tool-search

把 Letter2025/dsh-tool-search 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-tool-search

release downloads stars license docs Awesome DSH Plugin

Tool search & slimming for DeepSeek Harness (DSH): Hermes-style progressive disclosure. When your tool catalog gets large (many MCP servers or plugin tools), every tool's JSON schema is injected into the model context on every turn — wasting tokens on tools the task never uses. This plugin collapses the long tail behind three bridge tools and lets the model discover and load them on demand through a configured rerank model.

  • Core tools stay eager — file/shell/essential tools are always directly visible.
  • Bridge tools — tool_search, tool_describe, tool_call replace the deferred schemas.
  • Tiered disclosure — the visible listing shrinks automatically as the catalog grows.
  • Conversational setup — the bundled tool-slimmer-setup skill groups your tools by talking to you, and guides configuring the rerank model.
  • User or project config — groups/matcher live in ~/.dsh/dsh-tool-search.json (global) or <workspace>/.dsh/dsh-tool-search.json (per project), your choice.

Install

dsh plugin --profile web add dsh-tool-search

How it works

Inspired by Hermes Agent's Tool Search. On every turn, the plugin's system-prompt/assemble listener computes the tier and replaces the model-visible tools:

Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →

← 上一个 Prev dsh-launcher 下一个 Next dsh-workflow-canvas →