WeKnora
Tencent
Open-source LLM knowledge platform: turn raw documents into a queryable RAG, an autonomous reasoning agent, and a self-maintaining Wiki.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:pan17/dsh-tool-manager
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
一个简单好用的 DeepSeek Harness(DSH)工具管理插件。
适配 DSH >=0.1.7-alpha.1。 当前主干已改为调用 agentPresets.acquireScope(),不能装在 0.1.6 及更早版本上;那些版本请继续使用 1.2.7。
它可以帮你:

在 WebUI 中可以直接控制每个工具是否可用。
关闭后,该工具会同时从模型的工具列表中隐藏,并且不能被当前 Agent 调用。
不同 Agent Preset 可以使用不同的工具配置。
你可以把用途相近的工具放进同一个分组,例如:
分组支持手动选择工具,也可以使用当前默认模型自动生成分组、名称和描述。调用模型前可以预览、编辑或重置提示词。
放进按需组的工具默认不会全部出现在模型上下文中。
模型平时只会看到分组目录和一个 tool_list 工具。目录会列出每组实际包含的工具数量和完整工具名称,便于模型准确选择。当任务需要某组能力时,模型可以调用:
{
"group": "GitHub 工具"
}
该组中的原始工具随后会在当前会话中开放,模型可以继续使用它们。
按需加载具有以下特点:
tool_list 调用恢复开放状态;要求 DeepSeek Harness 0.1.7-alpha.1 或更新。旧版本没有 acquireScope(),设置页快照会失败。
npx @deepseek-ai/dsh plugin --profile web add dsh-tool-manager
安装完成后,重启对应的 DSH Profile。
然后打开 WebUI:
http://127.0.0.1:3080
进入:
设置 → 工具管理
升级 / 卸载:
npx @deepseek-ai/dsh plugin --profile web update dsh-tool-manager
npx @deepseek-ai/dsh plugin --profile web remove dsh-tool-manager
在页面顶部选择需要配置的 Agent Preset。
每个 Preset 的工具策略相互独立。
在工具目录中勾选或取消勾选工具:
可以通过搜索和状态筛选快速查找工具。
点击“手动分组”,然后:
确认分组后,页面会保留当前筛选位置,不会自动跳转到“按需”页面。
你也可以点击“自动生成名称和描述”,让当前默认模型根据所选工具生成建议。执行前可以展开并编辑本次请求的提示词,也可以一键重置为根据当前选中工具生成的默认提示词。
点击“自动分组”后,可以先搜索、勾选本次需要整理的工具;插件只会把选中的尚未分组且未关闭工具交给当前默认模型。
执行前可以预览并编辑提示词;默认提示词会随工具勾选实时更新,自定义后也可以一键重置。自动生成的结果会先显示预览。确认后只会加入页面草稿,不会立即写入配置。
工具开关或分组发生变化后,页面会显示“有未保存的修改”。
点击“保存”后配置才会生效。运行中的 Agent 会从下一个模型步骤开始使用新策略。
如果在未保存时刷新页面或离开站点,插件会进行提醒,避免误丢草稿。
页面会把工具分为三种状态:
| 状态 | 含义 |
|---|---|
| 常开 | 默认出现在模型工具列表中,可以直接调用 |
| 按需 | 默认隐藏,需要先通过 tool_list 打开所在分组 |
| 已关闭 | 不显示给模型,也不能调用 |
页面还会显示工具总量、分组数量、未分组工具、按需工具和已关闭工具等统计信息。
配置默认保存在:
$DSH_HOME/tool-manager.json
如果没有设置 DSH_HOME,默认位置为:
~/.dsh/tool-manager.json
也可以通过环境变量指定其他路径:
DSH_TOOL_MANAGER_CONFIG
示例配置:
{
"presets": {
"standard": {
"disabled": [
"codex_image_generate"
],
"groups": [
{
"name": "GitHub 工具",
"description": "处理 GitHub Issue 和仓库内容",
"patterns": [
"mcp__github__create_issue",
"mcp__github__list_issues"
]
}
]
}
}
}
通常不需要手动编辑这个文件,直接在 WebUI 中操作即可。
DSH 自身存在一个组合切换竞态:切换模式时,旧 composition 的按 Agent 工具注册是异步拆除的,而新 composition 会在同一次 tools/change 里抢着注册同名工具;谁先落地由监听器注册顺序(≈ Preset 的 mount 顺序)决定。撞名失败后,DSH 会把这次失败永久记住,该 Agent 在重建之前都拿不到这些工具。典型触发是“重启后先恢复了一个非默认模式的旧会话”,于是之后“新建会话 → 切到该模式”都会中招。
disabled 是空的,也不存在包含这些工具的按需分组;... lost N tool(s) on the switch to preset "..." — ... — and re-calibration restored them.;npm install
npm run build
npm test
MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: tool-search、tool-search-tool。