tools_manager: Add a tool switch for DSH

前言

DSH 走的是「一切皆插件」的路子,标准模式下每一轮对话会带着几十个工具的声明进入上下文,其中多数用不上;切到极简模式,又能省下工具声明,却没法再通过其他插件注入额外提示词,人格和个性化配置也跟着丢了。装的插件越多,每轮多出来的工具声明带来的 token 消耗也越大。zingreqe/tools_manager 就是补这个缺口的插件:它提供侧边栏页面,逐项开关 DSH 原有工具和第三方插件挂载的工具,关掉的工具不写入上下文。维护者为 zingreqe,npm 包名 dsh-tools-manager,许可证 MIT。

核心功能

1、工具开关。侧边栏「工具管理」页面列出当前可挂载的工具,打开或关闭某个工具后,立即对当前所有存活会话生效,不用重开会话。被关掉的工具不进入上下文,因此可以减少输入侧 token 消耗。

2、来源标记。列表里每项标注来源:其他插件 表示它不是 DSH 内置工具;本机未安装 表示配置里点了名但当前环境不支持;不可关闭 表示会话内建、注册表无法摘除。

3、中文解释。点某一行可以展开完整说明;「解释」按钮让模型用中文讲这个工具做什么,来回切换不额外请求模型,搜索框对名字和说明都生效,切换成中文解释后也能按中文搜索。

4、系统提示词重写。插件提供重写系统提示词的功能,可以用它进一步缩减 token 消耗,或者给模型设置人格等其他用途。

默认策略

聊天模式默认只开启简单的终端工具、文件读写工具和网络搜索、网页抓取工具;常规模式默认全开,你需要按自己的用途手动关掉用不到的部分。默认值可以按需要调整。

安装与启用

README 给出的安装信息是 npm 包名与 bundle 名:

npm 上的包名为 dsh-tools-manager
bundle 名为 dsh-tools-manager

README 未给出 dsh plugin add 形式的安装命令,实际安装方式以你所用的 DSH 版本的插件管理命令为准,装完后需要重启一次 DSH 才能生效。

package.json 中的相关信息:

name: dsh-tools-manager
version: 1.0.4
license: MIT
engines: node >= 22

典型用法

1、常规使用:侧边栏点「工具管理」,关掉本轮任务用不到的工具,开关立即作用到所有活着的会话。

2、聊天模式:聊天模式可自定义系统提示词,这段提示词会覆盖 DSH 原有的系统提示词,因此可以借此设定人格;留空则按当前开着的工具生成提示词。常规模式无法编辑系统提示词,只用 DSH 原本的提示词。

3、网络授权:聊天模式下,web_search、web_fetch 以及任何 web_ 开头的工具,调用前都会请求授权,因为这类工具会读取网页、导致大量 token 消耗,可以自行判断这次是否需要模型读网页。

适用场景与注意

适合这样两类人:一是希望按任务粒度裁剪工具声明、控制输入 token 的 DSH 用户;二是需要在聊天场景中额外注入系统提示词或设定人格的开发者。用法本身在侧边栏完成,不涉及配置文件改动。

需要注意两点。一是该插件以当前 DSH 进程的权限运行,安装前应先读一遍源码,确认里面的开关逻辑和提示词重写逻辑是你的环境能接受的,同时确认许可证符合你的使用方式。二是它同时管理内置工具和第三方插件挂载的工具,关掉某项前最好先看清它标注的来源,避免误关后续流程依赖的 MCP 或插件工具。

结尾

这个插件的价值在于把「哪些工具进入上下文」从 DSH 的固定行为变成了可逐项调整的开关,并顺带补上了聊天模式下系统提示词的自定义入口。目录页与源码:

  • https://www.skillhub.cn/plugins/zingreqe/tools_manager
  • https://github.com/zingreqe/tools_manager
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye