From ca8fe8d7e5a56950659852ec6fc2f99b5781cf59 Mon Sep 17 00:00:00 2001 From: nscold <3135287831@qq.com> Date: Mon, 9 Mar 2026 02:12:09 +0800 Subject: [PATCH 1/4] fix: pass customAgentSummaries to createBuiltinAgents instead of ctx.client The 8th parameter of createBuiltinAgents expects custom agent summaries (array format), but ctx.client (client object) was passed instead. --- src/plugin-handlers/agent-config-handler.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/plugin-handlers/agent-config-handler.ts b/src/plugin-handlers/agent-config-handler.ts index 08230f55a3..a4cfdda0b1 100644 --- a/src/plugin-handlers/agent-config-handler.ts +++ b/src/plugin-handlers/agent-config-handler.ts @@ -78,6 +78,13 @@ export async function applyAgentConfig(params: { const useTaskSystem = params.pluginConfig.experimental?.task_system ?? false; const disableOmoEnv = params.pluginConfig.experimental?.disable_omo_env ?? false; + const customAgentSummaries = Object.entries(params.config.agent ?? {}).map( + ([name, config]) => ({ + name, + description: (config as { description?: string }).description ?? "", + }) + ); + const builtinAgents = await createBuiltinAgents( migratedDisabledAgents, params.pluginConfig.agents, @@ -86,7 +93,7 @@ export async function applyAgentConfig(params: { params.pluginConfig.categories, params.pluginConfig.git_master, allDiscoveredSkills, - params.ctx.client, + customAgentSummaries, browserProvider, currentModel, disabledSkills, From 5556634d9e124c97dc035ca91baca3fb6513d536 Mon Sep 17 00:00:00 2001 From: NS Cola <123285105+davincilll@users.noreply.github.com> Date: Mon, 9 Mar 2026 02:32:26 +0800 Subject: [PATCH 2/4] Update src/plugin-handlers/agent-config-handler.ts Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com> --- src/plugin-handlers/agent-config-handler.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/plugin-handlers/agent-config-handler.ts b/src/plugin-handlers/agent-config-handler.ts index a4cfdda0b1..f537cbd259 100644 --- a/src/plugin-handlers/agent-config-handler.ts +++ b/src/plugin-handlers/agent-config-handler.ts @@ -78,10 +78,12 @@ export async function applyAgentConfig(params: { const useTaskSystem = params.pluginConfig.experimental?.task_system ?? false; const disableOmoEnv = params.pluginConfig.experimental?.disable_omo_env ?? false; - const customAgentSummaries = Object.entries(params.config.agent ?? {}).map( - ([name, config]) => ({ - name, - description: (config as { description?: string }).description ?? "", + const customAgentSummaries = Object.entries(params.config.agent ?? {}) + .filter(([, config]) => config != null) + .map(([name, config]) => ({ + name, + description: (config as { description?: string }).description ?? "", + })); }) ); From 7204c52864d26cfa5de3340c53b6930ba8b439c4 Mon Sep 17 00:00:00 2001 From: nscold <3135287831@qq.com> Date: Mon, 9 Mar 2026 12:43:49 +0800 Subject: [PATCH 3/4] fix(agent-config): remove redundant closing bracket and whitespace - Removed unnecessary closing bracket and extra whitespace in the agent config handler - Cleaned up the code formatting around createBuiltinAgents invocation --- src/plugin-handlers/agent-config-handler.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/plugin-handlers/agent-config-handler.ts b/src/plugin-handlers/agent-config-handler.ts index f537cbd259..252762cf23 100644 --- a/src/plugin-handlers/agent-config-handler.ts +++ b/src/plugin-handlers/agent-config-handler.ts @@ -84,8 +84,6 @@ export async function applyAgentConfig(params: { name, description: (config as { description?: string }).description ?? "", })); - }) - ); const builtinAgents = await createBuiltinAgents( migratedDisabledAgents, From d2fab6733f8ef3bcc77d7dcac5fdf720ad76b355 Mon Sep 17 00:00:00 2001 From: nscold <3135287831@qq.com> Date: Tue, 10 Mar 2026 02:33:20 +0800 Subject: [PATCH 4/4] refactor(agent-config): consolidate and enhance agent configuration loading - Merge user, project, plugin, and config agents for unified summary generation - Apply migration function to plugin agent configurations - Add logs for custom agent summaries and parameters for debugging - Remove redundant duplicate agent loading code block - Improve maintainability by centralizing agent data assembly logic --- src/plugin-handlers/agent-config-handler.ts | 36 ++++++++++++--------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/src/plugin-handlers/agent-config-handler.ts b/src/plugin-handlers/agent-config-handler.ts index 252762cf23..4eebc9916f 100644 --- a/src/plugin-handlers/agent-config-handler.ts +++ b/src/plugin-handlers/agent-config-handler.ts @@ -78,13 +78,31 @@ export async function applyAgentConfig(params: { const useTaskSystem = params.pluginConfig.experimental?.task_system ?? false; const disableOmoEnv = params.pluginConfig.experimental?.disable_omo_env ?? false; - const customAgentSummaries = Object.entries(params.config.agent ?? {}) + const includeClaudeAgents = params.pluginConfig.claude_code?.agents ?? true; + const userAgents = includeClaudeAgents ? loadUserAgents() : {}; + const projectAgents = includeClaudeAgents ? loadProjectAgents(params.ctx.directory) : {}; + + const rawPluginAgents = params.pluginComponents.agents; + const pluginAgents = Object.fromEntries( + Object.entries(rawPluginAgents).map(([key, value]) => [ + key, + value ? migrateAgentConfig(value as Record) : value, + ]), + ); + + const configAgent = params.config.agent as AgentConfigRecord | undefined; + const allAgentsForSummary = { + ...configAgent, + ...userAgents, + ...projectAgents, + ...pluginAgents, + }; + const customAgentSummaries = Object.entries(allAgentsForSummary) .filter(([, config]) => config != null) .map(([name, config]) => ({ name, description: (config as { description?: string }).description ?? "", })); - const builtinAgents = await createBuiltinAgents( migratedDisabledAgents, params.pluginConfig.agents, @@ -101,18 +119,6 @@ export async function applyAgentConfig(params: { disableOmoEnv, ); - const includeClaudeAgents = params.pluginConfig.claude_code?.agents ?? true; - const userAgents = includeClaudeAgents ? loadUserAgents() : {}; - const projectAgents = includeClaudeAgents ? loadProjectAgents(params.ctx.directory) : {}; - - const rawPluginAgents = params.pluginComponents.agents; - const pluginAgents = Object.fromEntries( - Object.entries(rawPluginAgents).map(([key, value]) => [ - key, - value ? migrateAgentConfig(value as Record) : value, - ]), - ); - const disabledAgentNames = new Set( (migratedDisabledAgents ?? []).map(a => a.toLowerCase()) ); @@ -130,8 +136,6 @@ export async function applyAgentConfig(params: { const shouldDemotePlan = plannerEnabled && replacePlan; const configuredDefaultAgent = getConfiguredDefaultAgent(params.config); - const configAgent = params.config.agent as AgentConfigRecord | undefined; - if (isSisyphusEnabled && builtinAgents.sisyphus) { if (configuredDefaultAgent) { (params.config as { default_agent?: string }).default_agent =