mirror of
https://github.com/claude-code-best/claude-code.git
synced 2026-06-18 06:15:51 +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:
@@ -318,7 +318,7 @@ export function useReplBridge(
|
||||
setMessages(prev => [
|
||||
...prev,
|
||||
createSystemMessage(
|
||||
'Remote Control 已连接。现在可以使用 PushNotification、SendUserFile、Brief 工具,请使用 ToolSearch 搜索发现。',
|
||||
'Remote Control 已连接。现在可以使用 PushNotification、SendUserFile、Brief 工具,请使用 SearchExtraTools 搜索发现。',
|
||||
'info',
|
||||
),
|
||||
]);
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
import * as React from 'react'
|
||||
import {
|
||||
subscribeToToolSearchPrefetch,
|
||||
getToolSearchPrefetchSnapshot,
|
||||
clearToolSearchPrefetchResults,
|
||||
subscribeToSearchExtraToolsPrefetch,
|
||||
getSearchExtraToolsPrefetchSnapshot,
|
||||
clearSearchExtraToolsPrefetchResults,
|
||||
type ToolDiscoveryResult,
|
||||
} from 'src/services/toolSearch/prefetch.js'
|
||||
} from 'src/services/searchExtraTools/prefetch.js'
|
||||
|
||||
type ToolSearchHintItem = {
|
||||
type SearchExtraToolsHintItem = {
|
||||
name: string
|
||||
description: string
|
||||
score: number
|
||||
}
|
||||
|
||||
type ToolSearchHintResult = {
|
||||
tools: ToolSearchHintItem[]
|
||||
type SearchExtraToolsHintResult = {
|
||||
tools: SearchExtraToolsHintItem[]
|
||||
visible: boolean
|
||||
handleSelect: (toolName: string) => void
|
||||
handleDismiss: () => void
|
||||
@@ -22,13 +22,13 @@ type ToolSearchHintResult = {
|
||||
const MAX_HINT_SCORE = 0.15
|
||||
const MAX_HINT_TOOLS = 3
|
||||
|
||||
export function useToolSearchHint(): ToolSearchHintResult {
|
||||
export function useSearchExtraToolsHint(): SearchExtraToolsHintResult {
|
||||
const prefetchResult = React.useSyncExternalStore(
|
||||
subscribeToToolSearchPrefetch,
|
||||
getToolSearchPrefetchSnapshot,
|
||||
subscribeToSearchExtraToolsPrefetch,
|
||||
getSearchExtraToolsPrefetchSnapshot,
|
||||
)
|
||||
|
||||
const tools: ToolSearchHintItem[] = React.useMemo(() => {
|
||||
const tools: SearchExtraToolsHintItem[] = React.useMemo(() => {
|
||||
if (prefetchResult.length === 0) return []
|
||||
return prefetchResult
|
||||
.slice(0, MAX_HINT_TOOLS)
|
||||
@@ -42,11 +42,11 @@ export function useToolSearchHint(): ToolSearchHintResult {
|
||||
const visible = tools.length > 0 && (tools[0]?.score ?? 0) >= MAX_HINT_SCORE
|
||||
|
||||
const handleSelect = React.useCallback((_toolName: string) => {
|
||||
clearToolSearchPrefetchResults()
|
||||
clearSearchExtraToolsPrefetchResults()
|
||||
}, [])
|
||||
|
||||
const handleDismiss = React.useCallback(() => {
|
||||
clearToolSearchPrefetchResults()
|
||||
clearSearchExtraToolsPrefetchResults()
|
||||
}, [])
|
||||
|
||||
return { tools, visible, handleSelect, handleDismiss }
|
||||
Reference in New Issue
Block a user