Merge pull request #442 from claude-code-best/feature/tool_search

feat: 支持 SearchExtraTools 能力以替代 Tool Search
This commit is contained in:
claude-code-best
2026-05-09 17:23:03 +08:00
committed by GitHub
78 changed files with 4987 additions and 791 deletions

View File

@@ -129,11 +129,11 @@ export function clearSessionCaches(
void import(
'@claude-code-best/builtin-tools/tools/WebFetchTool/utils.js'
).then(({ clearWebFetchCache }) => clearWebFetchCache())
// Clear ToolSearch description cache (full tool prompts, ~500KB for 50 MCP tools)
// Clear SearchExtraTools description cache (full tool prompts, ~500KB for 50 MCP tools)
void import(
'@claude-code-best/builtin-tools/tools/ToolSearchTool/ToolSearchTool.js'
).then(({ clearToolSearchDescriptionCache }) =>
clearToolSearchDescriptionCache(),
'@claude-code-best/builtin-tools/tools/SearchExtraToolsTool/SearchExtraToolsTool.js'
).then(({ clearSearchExtraToolsDescriptionCache }) =>
clearSearchExtraToolsDescriptionCache(),
)
// Clear agent definitions cache (accumulates per-cwd via EnterWorktreeTool)
void import(

View File

@@ -18,7 +18,7 @@ const ALLOWED_TOOLS = [
'Bash(gh pr edit:*)',
'Bash(gh pr view:*)',
'Bash(gh pr merge:*)',
'ToolSearch',
'SearchExtraTools',
'mcp__slack__send_message',
'mcp__claude_ai_Slack__slack_send_message',
]
@@ -45,7 +45,7 @@ function getPromptContent(
<!-- CHANGELOG:END -->`
let slackStep = `
5. After creating/updating the PR, check if the user's CLAUDE.md mentions posting to Slack channels. If it does, use ToolSearch to search for "slack send message" tools. If ToolSearch finds a Slack tool, ask the user if they'd like you to post the PR URL to the relevant Slack channel. Only post if the user confirms. If ToolSearch returns no results or errors, skip this step silently—do not mention the failure, do not attempt workarounds, and do not try alternative approaches.`
5. After creating/updating the PR, check if the user's CLAUDE.md mentions posting to Slack channels. If it does, use SearchExtraTools to search for "slack send message" tools. If SearchExtraTools finds a Slack tool, ask the user if they'd like you to post the PR URL to the relevant Slack channel. Only post if the user confirms. If SearchExtraTools returns no results or errors, skip this step silently—do not mention the failure, do not attempt workarounds, and do not try alternative approaches.`
if (process.env.USER_TYPE === 'ant' && isUndercover()) {
prefix = getUndercoverInstructions() + '\n'
reviewerArg = ''