From b8ba85654f40cd90043997144ed2581f1476526a Mon Sep 17 00:00:00 2001 From: Wenjie Zhang Date: Wed, 27 Aug 2025 00:13:38 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E7=9F=A5=E8=AF=86=E5=BA=93):=20=E5=AE=8C?= =?UTF-8?q?=E5=96=84=E7=9F=A5=E8=AF=86=E5=BA=93=E6=A3=80=E7=B4=A2=E7=BB=93?= =?UTF-8?q?=E6=9E=9C=E5=B1=95=E7=A4=BA=E9=80=BB=E8=BE=91=E5=92=8C=E6=A0=B7?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit refactor(工具): 更新知识库工具元数据结构 style(UI): 优化配置侧边栏和消息组件样式 docs: 更新开发计划文档 perf(调试): 增强智能体配置调试信息输出 --- docs/changelog/update.md | 3 + src/agents/tools_factory.py | 4 +- src/knowledge/knowledge_base.py | 1 + web/src/components/AgentConfigSidebar.vue | 10 +- web/src/components/AgentMessageComponent.vue | 8 +- web/src/components/DebugComponent.vue | 85 ++++++++--- .../ToolCallingResult/KnowledgeBaseResult.vue | 142 ++++++++++-------- .../ToolCallingResult/ToolResultRenderer.vue | 43 ++++-- 8 files changed, 184 insertions(+), 112 deletions(-) diff --git a/docs/changelog/update.md b/docs/changelog/update.md index 18505ac1..50d955ee 100644 --- a/docs/changelog/update.md +++ b/docs/changelog/update.md @@ -1,6 +1,7 @@ 目前已有的开发计划包括: 💭 **Features Todo** +- [ ] LangGraph 升级到 0.6+ 版本,并适配新特性,如 context 等。 - [ ] 使用其他的聊天记录管理方法,解决两个问题,一个是上下文长度过长,一个是上下文的类型变得更加丰富,比如多模态等等。(现在是基于 LangGraph 的 Memory 实现的,v0.2.3 版本实现),暂定使用 [mem0](github.com/mem0ai/mem0) 来实现。但是目前了解下来,还不是我想要的那种方案。可能会基于这个实现一个 ThreadConvManager 这个类。 - [ ] 添加对于上传文件的支持:这里的复杂的地方就在于如何和历史记录结合在一起(v0.2.3 版本实现,放在记忆管理后面) @@ -13,6 +14,8 @@ - [ ] 支持数据库查询功能 - [ ] 消息内容支持图片显示 +- [ ] 添加 SQL 读取工具 +- [ ] 添加绘图工具(这里的绘图是指绘制固定格式的图和表等,暂时没想好如何支持自定义绘图) - [ ] 添加测试脚本,覆盖最常见的功能 - [ ] 添加用户日志与用户反馈模块,可以在 AgentView 中查看信息 - [ ] 优化对文档信息的检索展示(检索结果页、详情页) diff --git a/src/agents/tools_factory.py b/src/agents/tools_factory.py index a402d927..29d28079 100644 --- a/src/agents/tools_factory.py +++ b/src/agents/tools_factory.py @@ -84,8 +84,8 @@ def get_kb_based_tools() -> dict[str, Any]: name=tool_id, description=description, args_schema=KnowledgeRetrieverModel, - metadata=retrieve_info | { - "tag": "knowledgebase" + metadata=retrieve_info["metadata"] | { + "tag": ["knowledgebase"] } ) diff --git a/src/knowledge/knowledge_base.py b/src/knowledge/knowledge_base.py index bf6857f1..5516aa63 100644 --- a/src/knowledge/knowledge_base.py +++ b/src/knowledge/knowledge_base.py @@ -439,6 +439,7 @@ class KnowledgeBase(ABC): "name": meta["name"], "description": meta["description"], "retriever": make_retriever(db_id), + "metadata": meta } return retrievers diff --git a/web/src/components/AgentConfigSidebar.vue b/web/src/components/AgentConfigSidebar.vue index 80e71241..f3f1903f 100644 --- a/web/src/components/AgentConfigSidebar.vue +++ b/web/src/components/AgentConfigSidebar.vue @@ -205,7 +205,7 @@