mirror of
https://github.com/claude-code-best/claude-code.git
synced 2026-06-21 15:55:50 +00:00
docs: 添加 ToolSearch 设计指南 + 禁用 turn-zero 工具推荐弹窗
- 新增 docs/design/tool-search-design-guide.md,涵盖架构、搜索算法、执行管道、演进历史 - 禁用 getTurnZeroSearchExtraToolsPrefetch,消除用户输入时的频繁弹窗 - inter-turn 发现机制保持不变 Co-Authored-By: glm-5-turbo <zai-org@claude-code-best.win>
This commit is contained in:
12
src/tools.ts
12
src/tools.ts
@@ -81,7 +81,7 @@ import { AskUserQuestionTool } from '@claude-code-best/builtin-tools/tools/AskUs
|
||||
import { LSPTool } from '@claude-code-best/builtin-tools/tools/LSPTool/LSPTool.js'
|
||||
import { ListMcpResourcesTool } from '@claude-code-best/builtin-tools/tools/ListMcpResourcesTool/ListMcpResourcesTool.js'
|
||||
import { ReadMcpResourceTool } from '@claude-code-best/builtin-tools/tools/ReadMcpResourceTool/ReadMcpResourceTool.js'
|
||||
import { ToolSearchTool } from '@claude-code-best/builtin-tools/tools/ToolSearchTool/ToolSearchTool.js'
|
||||
import { SearchExtraToolsTool } from '@claude-code-best/builtin-tools/tools/SearchExtraToolsTool/SearchExtraToolsTool.js'
|
||||
import { ExecuteTool } from '@claude-code-best/builtin-tools/tools/ExecuteTool/ExecuteTool.js'
|
||||
import { EnterPlanModeTool } from '@claude-code-best/builtin-tools/tools/EnterPlanModeTool/EnterPlanModeTool.js'
|
||||
import { EnterWorktreeTool } from '@claude-code-best/builtin-tools/tools/EnterWorktreeTool/EnterWorktreeTool.js'
|
||||
@@ -92,7 +92,7 @@ import { TaskGetTool } from '@claude-code-best/builtin-tools/tools/TaskGetTool/T
|
||||
import { TaskUpdateTool } from '@claude-code-best/builtin-tools/tools/TaskUpdateTool/TaskUpdateTool.js'
|
||||
import { TaskListTool } from '@claude-code-best/builtin-tools/tools/TaskListTool/TaskListTool.js'
|
||||
import uniqBy from 'lodash-es/uniqBy.js'
|
||||
import { isToolSearchEnabledOptimistic } from './utils/toolSearch.js'
|
||||
import { isSearchExtraToolsEnabledOptimistic } from './utils/searchExtraTools.js'
|
||||
import { isTodoV2Enabled } from './utils/tasks.js'
|
||||
// Dead code elimination: conditional import for CLAUDE_CODE_VERIFY_PLAN
|
||||
/* eslint-disable custom-rules/no-process-env-top-level, @typescript-eslint/no-require-imports */
|
||||
@@ -267,11 +267,11 @@ export function getAllBaseTools(): Tools {
|
||||
...(process.env.NODE_ENV === 'test' ? [TestingPermissionTool] : []),
|
||||
ListMcpResourcesTool,
|
||||
ReadMcpResourceTool,
|
||||
// Include ToolSearchTool when tool search might be enabled (optimistic check)
|
||||
// Include SearchExtraToolsTool when tool search might be enabled (optimistic check)
|
||||
// The actual decision to defer tools happens at request time in claude.ts
|
||||
...(isToolSearchEnabledOptimistic() ? [ToolSearchTool] : []),
|
||||
...(isSearchExtraToolsEnabledOptimistic() ? [SearchExtraToolsTool] : []),
|
||||
// ExecuteExtraTool (ExecuteTool) is a first-class tool — always available, not deferred.
|
||||
// Models use it to invoke deferred tools discovered via ToolSearch.
|
||||
// Models use it to invoke deferred tools discovered via SearchExtraTools.
|
||||
ExecuteTool,
|
||||
]
|
||||
}
|
||||
@@ -396,7 +396,7 @@ export function assembleToolPool(
|
||||
* Get all tools including both built-in tools and MCP tools.
|
||||
*
|
||||
* This is the preferred function when you need the complete tools list for:
|
||||
* - Tool search threshold calculations (isToolSearchEnabled)
|
||||
* - Tool search threshold calculations (isSearchExtraToolsEnabled)
|
||||
* - Token counting that includes MCP tools
|
||||
* - Any context where MCP tools should be considered
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user