From ea3f1cbb9499b50d680f0a37e607da5a98dce672 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=B7=E7=94=B5=E8=8A=BD=E8=A1=A3?= Date: Thu, 21 May 2026 20:56:12 -0400 Subject: [PATCH] Stop double-counting agents in the Models panel The previous logic seeded each provider-default row with the count of agents whose modelId matched the provider model, then iterated agents again and incremented that same row. CEOs bound to the provider default were counted twice. Seed default rows with zero and let the agent loop populate counts once. --- .../src/renderer/src/pages/settings/ModelsPanel.tsx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/AgentCompany-New/src/renderer/src/pages/settings/ModelsPanel.tsx b/AgentCompany-New/src/renderer/src/pages/settings/ModelsPanel.tsx index 0bb46b93..49bc7c31 100644 --- a/AgentCompany-New/src/renderer/src/pages/settings/ModelsPanel.tsx +++ b/AgentCompany-New/src/renderer/src/pages/settings/ModelsPanel.tsx @@ -59,15 +59,17 @@ function collectModels(providers: ProviderRecord[], agents: AgentRecord[]): Mode providerLabel: provider.label, authType: humanAuth(provider.authType), model: provider.model, - agentCount: agents.filter((agent) => agent.modelProviderId === provider.id && (agent.modelId === provider.model || !agent.modelId)).length, + agentCount: 0, source: "default", }); } for (const agent of agents) { - if (!agent.modelProviderId || !agent.modelId) continue; + if (!agent.modelProviderId) continue; const provider = providers.find((item) => item.id === agent.modelProviderId); if (!provider) continue; - const key = `${provider.id}::${agent.modelId}`; + const effectiveModel = agent.modelId ?? provider.model; + if (!effectiveModel) continue; + const key = `${provider.id}::${effectiveModel}`; const existing = map.get(key); if (existing) { existing.agentCount += 1; @@ -77,7 +79,7 @@ function collectModels(providers: ProviderRecord[], agents: AgentRecord[]): Mode providerId: provider.id, providerLabel: provider.label, authType: humanAuth(provider.authType), - model: agent.modelId, + model: effectiveModel, agentCount: 1, source: "agent", });