From 04ee276331202d67e9f62c8889d3e38845ea1cd8 Mon Sep 17 00:00:00 2001 From: Wenjie Zhang Date: Tue, 1 Apr 2025 22:16:07 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=95=8C=E9=9D=A2=E6=98=BE?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/agents/registry.py | 9 ++ src/routers/chat_router.py | 6 +- web/src/components/AgentChatComponent.vue | 1 + web/src/views/AgentView.vue | 169 +++++++++++++++++++--- 4 files changed, 158 insertions(+), 27 deletions(-) diff --git a/src/agents/registry.py b/src/agents/registry.py index 1db2621d..0da6b8bb 100644 --- a/src/agents/registry.py +++ b/src/agents/registry.py @@ -60,6 +60,15 @@ class BaseAgent(): def __init__(self, **kwargs): self.check_requirements() + @classmethod + def get_info(cls): + return { + "name": cls.name, + "description": cls.description, + "config_schema": cls.config_schema.to_dict(), + "requirements": cls.requirements if hasattr(cls, "requirements") else [], + } + def check_requirements(self): if not hasattr(self, "requirements") or not self.requirements: return diff --git a/src/routers/chat_router.py b/src/routers/chat_router.py index 5c5d8360..e02d49b8 100644 --- a/src/routers/chat_router.py +++ b/src/routers/chat_router.py @@ -124,11 +124,7 @@ async def call(query: str = Body(...), meta: dict = Body(None)): @chat.get("/agent") async def get_agent(): - agents = [{ - "name": agent.name, - "description": agent.description, - "config_schema": agent.config_schema.to_dict() - } for agent in agent_manager.agents.values()] + agents = [agent.get_info() for agent in agent_manager.agents.values()] return {"agents": agents} @chat.post("/agent/{agent_name}") diff --git a/web/src/components/AgentChatComponent.vue b/web/src/components/AgentChatComponent.vue index b2ebee56..9a5c5e1a 100644 --- a/web/src/components/AgentChatComponent.vue +++ b/web/src/components/AgentChatComponent.vue @@ -3,6 +3,7 @@
+ diff --git a/web/src/views/AgentView.vue b/web/src/views/AgentView.vue index 050b917d..72f78ae5 100644 --- a/web/src/views/AgentView.vue +++ b/web/src/views/AgentView.vue @@ -1,37 +1,73 @@