feat: 动态支持所有中小型工具集(取消数量<=40时的白名单过滤)

- 当工具数不超过40个时,全量放行。这样可以原生支持 Claude Code 动态注入的所有内置技能(如 `keybindings-help`, `simplify`)以及用户自行配置的任何 MCP 工具,实现真正的“尽可能多兼容”而无需硬编码白名单。
This commit is contained in:
小海
2026-03-04 15:58:54 +08:00
parent eb0b355634
commit efd2bac1dd

View File

@@ -35,11 +35,15 @@ const CORE_TOOL_NAMES = new Set([
]);
/**
* 过滤工具 — 只保留核心工具
* 过滤工具
* 如果工具数量不多≤40直接返回全部以支持动态 MCP 工具和所有扩展
* 只有当工具数量极多时才进行核心工具过滤,以防提示词过载
*/
function filterCoreTools(tools: AnthropicTool[]): AnthropicTool[] {
if (tools.length <= 40) return tools;
const filtered = tools.filter(t => CORE_TOOL_NAMES.has(t.name));
if (filtered.length === 0) return tools.slice(0, 20);
if (filtered.length === 0) return tools.slice(0, 40);
return filtered;
}