From eb833da33b867ffa6b960fa0772f670e6e493474 Mon Sep 17 00:00:00 2001 From: claude-code-best Date: Fri, 24 Apr 2026 15:04:02 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=88=9B=E5=BB=BA=20agent=20=E5=90=8E?= =?UTF-8?q?=E5=88=B7=E6=96=B0=20loadMarkdownFilesForSubdir=20=E7=BC=93?= =?UTF-8?q?=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新建 agent 后 clearAgentDefinitionsCache 漏清底层 loadMarkdownFilesForSubdir 的 memoize 缓存,导致新 agent 不会立即出现在列表中,需要重启才能生效。 Co-Authored-By: Claude Opus 4.7 --- packages/builtin-tools/src/tools/AgentTool/loadAgentsDir.ts | 1 + .../new-agent-creation/wizard-steps/ConfirmStepWrapper.tsx | 3 +++ 2 files changed, 4 insertions(+) diff --git a/packages/builtin-tools/src/tools/AgentTool/loadAgentsDir.ts b/packages/builtin-tools/src/tools/AgentTool/loadAgentsDir.ts index 30cf8bb91..1551dec20 100644 --- a/packages/builtin-tools/src/tools/AgentTool/loadAgentsDir.ts +++ b/packages/builtin-tools/src/tools/AgentTool/loadAgentsDir.ts @@ -394,6 +394,7 @@ export const getAgentDefinitionsWithOverrides = memoize( export function clearAgentDefinitionsCache(): void { getAgentDefinitionsWithOverrides.cache.clear?.() + loadMarkdownFilesForSubdir.cache?.clear?.() clearPluginAgentCache() } diff --git a/src/components/agents/new-agent-creation/wizard-steps/ConfirmStepWrapper.tsx b/src/components/agents/new-agent-creation/wizard-steps/ConfirmStepWrapper.tsx index b1e391e7f..b5bd87c68 100644 --- a/src/components/agents/new-agent-creation/wizard-steps/ConfirmStepWrapper.tsx +++ b/src/components/agents/new-agent-creation/wizard-steps/ConfirmStepWrapper.tsx @@ -8,6 +8,7 @@ import { useSetAppState } from 'src/state/AppState.js' import type { Tools } from '../../../../Tool.js' import type { AgentDefinition } from '@claude-code-best/builtin-tools/tools/AgentTool/loadAgentsDir.js' import { getActiveAgentsFromList } from '@claude-code-best/builtin-tools/tools/AgentTool/loadAgentsDir.js' +import { clearAgentDefinitionsCache } from '@claude-code-best/builtin-tools/tools/AgentTool/loadAgentsDir.js' import { editFileInEditor } from '../../../../utils/promptEditor.js' import { useWizard } from '../../../wizard/index.js' import { getNewAgentFilePath, saveAgentToFile } from '../../agentFileUtils.js' @@ -62,6 +63,8 @@ export function ConfirmStepWrapper({ } }) + clearAgentDefinitionsCache() + if (openInEditor) { const filePath = getNewAgentFilePath({ source: wizardData.location!,