diff --git a/src/main/presenter/configPresenter/index.ts b/src/main/presenter/configPresenter/index.ts index d6f84d2d1f1348d194c8f24a1cb57834440e6858..7f8ef0a7a26abc24914307060cd0889b0664462f 100644 --- a/src/main/presenter/configPresenter/index.ts +++ b/src/main/presenter/configPresenter/index.ts @@ -1485,6 +1485,18 @@ export class ConfigPresenter implements IConfigPresenter { * 删除智能体 */ async removeAgent(agentId: string): Promise { + // 获取代理以检查是否为 A2A 类型 + const agents = await this.getAgents() + const agent = agents.find((a) => a.id === agentId) + presenter.a2aPresenter.getA2AClient + if (agent?.type === 'A2A' && agent.a2aURL) { + try { + await presenter.a2aPresenter.removeA2AServer(agent.a2aURL) + } catch (error) { + console.error(`[A2A] Failed to remove A2A server ${agent.a2aURL}:`, error) + throw error + } + } return this.agentConfHelper.removeAgent(agentId) } diff --git a/src/renderer/src/components/agent-config/AgentCard.vue b/src/renderer/src/components/agent-config/AgentCard.vue index 72af42dc2be35687e2e4c314ffd6a64b4e0cc17d..8b1592618a060524100ee9638c1d9cec2bdaffc6 100644 --- a/src/renderer/src/components/agent-config/AgentCard.vue +++ b/src/renderer/src/components/agent-config/AgentCard.vue @@ -16,28 +16,15 @@
- - - - by - - {{ agent.provider.organization }} - - - {{ agent.provider.organization }} - - + + +
@@ -75,9 +62,6 @@ /> - - - @@ -85,6 +69,26 @@ v-model:show-agent-settings="showAgentSettings" :selected-agent="selectedAgent" /> + + + + + + {{ t('agents.agentCard.deleteConfirm.title') }} + + {{ t('agents.agentCard.deleteConfirm.description') }} + + + + + {{ t('dialog.cancel') }} + + + {{ t('agents.agentCard.deleteConfirm.confirm') }} + + + +