dsh-tool-activator
Discovered★ 9🗃️ Load only basic DSH tools by default, and activate the rest on demand via activate_tools.
- 系统要求:DSH $\ge$
0.2.0-rc.2;Node.js $\ge$22.19.0。
核心行为
默认基础工具为 read、glob、grep、write、edit、skill、ask_user_question、todo_write,均可取消默认加载;只有 activate_tools 始终加载且不可关闭。
模型每次都看到:配置为默认加载的工具、已激活工具、activate_tools,以及其余工具的 <available_tools> 简述目录。
默认启用的工具
read、glob、grep、write、edit、skill、ask_user_question、todo_write
可通过 activate_tools 加载的工具
其余已安装且在当前 agent 作用域可见的工具默认隐藏,由模型按标识激活。常见内置工具:
| 分类 | 工具标识 |
|---|---|
| 文件写入 | write、edit |
| 命令执行 | bash、pwsh |
| 联网 | web_search、web_fetch |
| 后台任务 | job_output、job_list、job_kill |
| 终端 | terminal_open、terminal_send、terminal_read、terminal_signal、terminal_close、terminal_list |
| 目标 | get_goal、create_goal、update_goal |
| 会话检索 | session_search、session_event_search、session_trace、session_event_trace、session_event_read |
| 代码智能 | lsp |
| 编排 | subagent、subagent_fork、workflow、ralph、structured_output |
此外,任意已安装插件的工具都可作为标识请求;开启 autoGroupMcp 时,mcp__server__tool 还会按 server 聚合为 mcp.server。
实际可用集合将以 <available_tools> 目录呈现。该目录作为本插件自己的消息注入给模型,不占用宿主的运行时上下文快照,只有标识、名称和一句简述:
<available_tools description="These tools are installed but not yet enabled. Use activate_tools to enable them when needed.">
<tool identifier="web_search" name="web_search">Search the public web for current information.</tool>
<tool identifier="mcp.mail" name="mail">send: Send a message through the mailbox.</tool>
</available_tools>
已激活的条目只保留标识符与可调用的成员名:工具描述已经在请求头的声明里,不必再重复一遍。
<activated_tools>
<tool identifier="mcp.mail" names="send,receive"/>
</activated_tools>
模型可按需请求加载工具或组:
{
"identifiers": ["web_search", "web_fetch"],
"reason": "需要检索并核对用户要求的公开资料"
}
激活不重写请求头
路由声明支持对话中途变更工具时(deepseek-flash 等,见模型目录的 toolUpdate),插件把全部工具一次性声明出去:基础工具正常声明,其余标 defer_loading(不占上下文 token)。激活因此不改动声明列表,只在会话尾部追加一条 tool_addition,提供方此前缓存的前缀保持有效。
不支持该能力的路由退回"按激活状态过滤声明列表",功能不变,但每次新激活会重算一次请求头。
模型按需整理分组(group_tools)
用户明确要求整理分组时,模型可调用 group_tools:
action: "list":读当前作用域的分组与成员、尚未被任何分组认领的工具、基础工具与锁定工具。action: "apply":按ops增(add)、改(update名称、说明、整组成员,或用rename换标识符)、删(remove)分组;一次调用里可以先把工具从旧组删掉、再加进新组。basic是默认存在的基础工具分组:只能update它的成员,add/remove会被拒绝。
写入落在插件配置的 groups 字段,与配置页「工具分组」区是同一份文档。一次调用要么全成、要么全不成:被拒的批次一次列出全部问题,配置一个字节不变。收据只回新增 / 改写 / 删除的标识符与改名映射,模型拿到新标识符即可直接激活。
分组是用户的决定:只在用户明确要求整理分组时调用该工具,不要自作主张重组目录。
配置
进入官方插件管理页,打开 dsh-tool-activator 卡片,配置表单直接显示在该插件的页面上。
表单显示工具列表:
| 分区 | 含义 |
|---|---|
| 默认激活 | 每次请求都带完整 schema 的工具;基础工具排在最前并带"基础工具"标记,但允许关闭;仅 activate_tools 的开关固定开启且不可关闭 |
| 按需激活 | 其余工具,模型可使用 activate_tools 按需获取 |
打开某一项的开关即把它写进 basicTools(默认加载),关闭则移回按需区;工具清单与描述由宿主 Remote toolActivator/catalog 提供,覆盖当前所有 live agent 作用域。
常规区两个开关:requireApproval(非完全权限时激活前请求确认,缺少审批服务时直接拒绝;完全权限 danger-full-access 时无需确认,即使审批策略为 never)与 autoGroupMcp(按 mcp__server__tool 前缀聚合同一 MCP 服务)
工具分组区是结构化编辑器:每个分组有标识符、名称、说明、工具勾选(只能从当前目录里的真实工具中选)和说明节绑定,支持增删;留空则每个工具各自成为条目。sectionTools 仍留在 schema 里(进阶用法:说明节到工具名的依赖映射),但不再出现在表单中。
状态、审批与生命周期
- 执行路由:通过 DSH 原有 dispatcher 执行,不改变底层沙箱或运行路由。
- 持久化与恢复:已完成的激活状态随标准会话日志和 seed 恢复,不依赖中途内存状态。
- 生命周期:Cordis 负责注册、监听及 HMR 清理,卸载时自动清理样式与实例。
- 测试情况:2026-10-11 完全权限修复后,12 个文件、304 个用例全部通过;lint、类型检查与 Build 同样通过。
- 未验证项:真实 GUI E2E、打包发布及真实 profile 验证。
许可证
MIT
第三方声明见 THIRD_PARTY_NOTICES.md。
友情链接
Comments
Loading…
Similar plugins
by hairyf
🗃️ 为 DSH 默认只加载基础工具,其余工具通过 activate_tools 按需加载。| Load only basic DSH tools by default, and activate the rest on demand via activate_tools.
★ 4
↓ 979/wk
MIT
TypeScript
Oct 21, 2026
dsh plugin --profile web add dsh-tool-activatorby DViridescent
允许 agent 在 DSH 里为自己动态增删工具。新增的工具可以跨 DSH 重启存在。Let the agent add and remove tools for itself in DSH; added tools persist across DSH restarts.
★ 0
MIT
JavaScript
Aug 15, 2026
dsh plugin --profile web add dsh-tools-metaby pan17
DSH 工具管理插件:按 Agent Preset 开关和分组工具,像 Skill 一样按需加载工具,减少模型上下文占用。
★ 5
↓ 345/wk
MIT
JavaScript
Nov 6, 2026
dsh plugin --profile web add dsh-tool-managerby jinwendijv
DSH 的应用启动器插件:自动扫描本机已安装的电脑应用,在侧边栏“设置”图标上方提供一键启动,像 Windows 开始菜单一样,扫描添加后可以点击启动应用
★ 0
MIT
JavaScript
Aug 27, 2026
dsh plugin --profile web add dsh-applauncherby xiaoso456
DeepSeek Harness 基础工具增强:持久 bash、结构化 read、多模式 edit、原子 write、双引擎 grep/glob、图像直读,一个插件全覆盖
★ 17
↓ 716/wk
MIT
TypeScript
Nov 7, 2026
dsh plugin --profile web add @xiaoso/dsh-tool-plusby dsh-plugin-lab
DSH 插件:基于知乎开放平台官方 API 创建的站内搜索、全网索引搜索与直答三个工具。搜索不幻觉,引用有出处。(原生嵌入“设置-插件-插件配置”)
★ 19
↓ 474/wk
MIT
TypeScript
Nov 8, 2026
dsh plugin --profile web add dsh-zhihu-search