Commit Graph

54 Commits

Author SHA1 Message Date
Wenjie Zhang
09577b9b65 refactor: 重构知识库工具模块,优化工具获取逻辑并移除冗余代码 2026-03-02 21:00:40 +08:00
肖泽涛
afd83e5084 feat: 增强Agent文件能力并补充流式调试日志 2026-02-24 18:03:47 +08:00
肖泽涛
46b676db07 feat(skills): add skills management module
实现 Skills 管理功能,支持超级管理员导入、编辑、导出和删除技能包。

- 新增 Skill 数据模型(元数据存数据库,内容存文件系统)
- 新增 /api/system/skills/* 路由(权限分级:admin 可列表,superadmin 可管理)
- 新增 SelectedSkillsReadonlyBackend,运行时只读挂载到 /skills
- Agent 配置新增 skills 字段,运行时注入技能提示词
- 前端新增 Skills 管理页面(设置弹窗 + 独立路由)
- 新增测试覆盖:service/router/backend 单测

未实现功能:
 - 关联使用其他技能
 - 沙箱执行代码
 - 在技能中绑定工具
2026-02-21 02:48:20 +08:00
Wenjie Zhang
1f5636520e style: 统一代码格式和 import 顺序
- 调整 Python 文件 import 顺序,遵循标准库→第三方库→项目模块顺序
- 统一字符串引号风格为双引号
- 优化 Vue 组件 console.log 格式
- 压缩 import 语句为单行
- 清理不必要的空行
2026-02-13 22:29:20 +08:00
Wenjie Zhang
44e41bbb5a refactor: 简化附件处理架构,使用 StateBackend 替代 MinIO
- 移除 MinIOBackend 和复合存储后端,统一使用 StateBackend
- 依赖 LangGraph checkpointer 自动恢复 state(attachments, files)
- 前端适配 StateBackend 字典格式文件结构
- 优化 @提及 文件搜索逻辑,支持路径匹配
2026-02-13 22:16:11 +08:00
Wenjie Zhang
fae17c3013 feat(backend): 新增 MinIO 虚拟文件系统后端
实现 MinIOBackend 类,实现 BackendProtocol 接口:
- 将 /attachments/* 路径映射到 MinIO 对象存储
- 支持 ls_info、read、write、edit、glob_info、grep_raw 等操作
- 提供 init_attachment_bucket() 初始化函数

后续提交将使用此后端替代本地文件系统存储附件。
2026-02-03 02:28:51 +08:00
Wenjie Zhang
796c804514 feat(middleware): 新增 SummaryOffloadMiddleware 中间件
- 新增 SummaryOffloadMiddleware,支持 summary 历史管理和 ToolResult 卸载
  - 重构 attachment_middleware 增强 thread_id 获取逻辑
  - 更新 chatbot/deep_agent/reporter 智能体配置
  - 优化 AgentPanel UI 交互体验
2026-02-02 21:44:10 +08:00
Wenjie Zhang
7ffc7a7920 feat(web/config): 重构配置侧边栏为通用选择组件
重构 AgentConfigSidebar 组件,将工具选择逻辑抽象为通用选择组件
- 支持显示选项名称和描述
- 根据选项数量自动切换显示模式(卡片列表或弹窗)
- 统一处理工具、知识库等多选配置项
- 优化样式和交互体验
2026-01-24 10:56:31 +08:00
Wenjie Zhang
5f90385ad0 refactor(agents): 实现统一工具加载逻辑并使用中间件动态配置
将各agent的工具加载逻辑统一改为通过RuntimeConfigMiddleware动态配置
移除直接的工具参数传递,改为从MCP服务获取工具并合并到中间件
在chat_stream_service中添加知识库权限过滤功能

TODO:目前历史记录的加载导致会话混乱
2026-01-24 10:56:31 +08:00
Wenjie Zhang
01ea590f76 feat(agent): 实现多部门智能体配置管理功能
新增部门级智能体配置管理,支持创建、切换、编辑和删除配置
添加运行时配置中间件,支持动态加载模型、工具和知识库
重构智能体上下文处理,支持部门ID和配置切换
实现前端配置管理界面,支持配置的增删改查和设为默认
添加后端API和数据库模型支持多配置管理
2026-01-24 10:56:31 +08:00
Wenjie Zhang
b072a14ae2 refactor(agents): 移除graph缓存并优化连接和检查点缓存
移除所有agent子类中graph的缓存逻辑,改为每次都重新构建
在BaseAgent中添加_async_conn缓存并优化checkpointer缓存逻辑
2026-01-24 10:56:31 +08:00
Wenjie Zhang
339cd0f3b2 refactor: 重构工具获取逻辑,移除过时的工具接口,优化上下文工具管理 2026-01-15 16:04:19 +08:00
Wenjie Zhang
ebbb831fc0 feat: 实现MCP服务以统一业务逻辑和状态管理
- 新增 mcp_service 文件,移除原本的 src/agents/common/mcp.py,所有功能合并到mcp_service,MCP服务来处理服务器配置的增删改查操作、数据库与缓存之间的同步以及MCP客户端和工具的管理。
- 将重构的 MCP 和现有智能体做适配,引入全局缓存和状态管理机制用于MCP服务器和工具。
- 数据库表更新,在MCPServer模型中为StdIO传输类型添加了command和args字段。
- 其他代码优化、增强样式以提升用户体验和可读性。
2026-01-14 20:16:51 +08:00
Wenjie Zhang
7c414521c9 fix(reporter): 修复 reporter 智能体的模型加载异常 2026-01-02 19:56:55 +08:00
Wenjie Zhang
22fc138ab5 refactor(agents): 移除reload_graph能力并简化agent初始化逻辑
统一agent初始化流程,直接从context获取system_prompt
清理不再使用的middleware导入和配置
2025-12-30 19:19:49 +08:00
Wenjie Zhang
8087ef4b00 feat(chatbot): 增强智能体工具和知识库集成能力
- 在智能体上下文中添加知识库字段,支持从知识库中选择工具
- 重构工具获取逻辑,支持根据上下文动态加载工具
- 优化前端知识库创建和加载逻辑,移入 store 管理
- 改进工具调用结果渲染,支持知识库工具识别
- 添加 clear-btn 样式改进
2025-12-30 19:01:45 +08:00
Wenjie Zhang
e62ec33e4b feat(agents): 增加模型重试中间件并调整递归限制
将递归限制从100增加到300以支持更深的调用链
添加ModelRetryMiddleware到聊天机器人中间件链
优化模型加载逻辑,支持openai和deepseek官方初始化
2025-12-17 22:27:46 +08:00
Wenjie Zhang
8b4b7c230c feat: 添加附件上传中间件和管理功能
- 实现对话线程的附件上传、列出和删除功能
- 引入附件中间件以支持附件内容的上下文注入
- 更新智能体和对话管理器以处理附件元数据
- 增强前端组件以支持文件上传和显示附件状态
- 优化文档以反映新功能和使用示例
2025-11-08 10:51:30 +08:00
Wenjie Zhang
09fffb233c feat: 添加 middleware, subagents 支持
- 统一导入路径,优化代码结构,删除冗余文件和函数
- refactor: 将 chatbot agent 使用 create_agent 重构,大幅简化处理逻辑
2025-11-05 02:04:34 +08:00
Wenjie Zhang
d56cec5002 refactor: 适配了 langchain v1 版本,但并引入新特性,仅无兼容性错误 2025-10-23 01:39:01 +08:00
Wenjie Zhang
6986378e02 fix: 修复消息中断时带来的消息显示问题 2025-10-12 23:45:17 +08:00
Wenjie Zhang
3600c7f9b7 fix: 修复部分场景下历史记录保存异常的问题。回退到使用 AsyncSaver的双线备份消息模式 2025-10-12 16:04:46 +08:00
Wenjie Zhang
ff955bdda5 feat: 移除 Async的Checkpointer,并默认配置了 InMemorySaver 2025-10-11 21:10:39 +08:00
Wenjie Zhang
7641ab3699 stylle: 使用更加严格的风格检查以及代码格式化方法 2025-09-01 22:37:03 +08:00
Wenjie Zhang
165ec73ca8 refactor(mcp): 移除全局MCP客户端缓存并优化工具加载逻辑
移除全局MCP客户端缓存,改为每次调用时创建新客户端实例
优化工具加载逻辑,添加服务器名称校验并改进错误处理
清理未使用的导入和冗余代码
2025-09-01 12:25:15 +08:00
Wenjie Zhang
63da8d9733 feat(chatbot): 添加MCP工具支持并优化工具管理逻辑
实现MCP服务器工具的动态加载和管理功能
重构工具获取逻辑以支持MCP工具和本地工具的混合使用
优化前端工具调用结果显示样式
移除未使用的工具相关代码
添加工具序列化转换工具函数
2025-09-01 03:38:46 +08:00
Wenjie Zhang
221f4af213 fix(chatbot): 修复智能体工具获取和权限问题
- 修改工具获取逻辑,使用智能体实例的工具列表
- 将工具获取接口的权限从管理员改为普通用户
- 更新日志格式,添加行号信息
- 修复前端工具获取时未传递智能体ID的问题
2025-08-31 10:27:58 +08:00
Wenjie Zhang
b524ca687b feat(agents): 重构智能体系统,引入Context替代Configuration
- 将Configuration重构为Context,支持动态工具配置
- 新增state.py和tools.py模块,优化状态管理和工具处理
- 移除旧的tools_factory.py和registry.py
- 更新前端API引用路径,修复brandApi命名错误
- 调整README和更新日志,反映架构变更
- 优化智能体历史记录管理,改进SQLite检查点
- 修复默认智能体加载和工具展示问题
2025-08-31 00:34:26 +08:00
Wenjie Zhang
808485aa5e refactor(tools): 重构工具工厂返回工具列表而非字典
feat(ui): 在代理视图头部添加品牌名称显示
style(ui): 调整代理视图头部内边距和样式

fix(chatbot): 修复工具选择逻辑以匹配新工具结构

chore: 删除未使用的深度研究代理相关代码文件
2025-08-29 20:54:49 +08:00
Wenjie Zhang
402ff52739 refactor(tools_factory): 重构工具工厂模块,优化工具管理和错误处理
- 重命名工具获取函数为 get_buildin_tools 和 get_buildin_tools_info
- 改进工具ID生成和描述构建逻辑
- 添加详细的日志记录和错误处理
- 优化知识库工具创建流程,避免闭包问题
- 分离静态工具和知识库工具获取逻辑
- 增强计算器和知识图谱查询工具的错误处理
2025-08-24 20:12:15 +08:00
Wenjie Zhang
68e7bd8300 feat(ui): 优化智能体界面交互和样式
- 添加单例模式支持,区分独立页面和普通视图
- 重构智能体选择器为按钮样式并优化交互
- 更新侧边栏组件以支持不同模式下的显示
- 统一智能体名称显示为"智能体助手"
- 调整按钮圆角样式提升视觉一致性
2025-08-11 21:29:33 +08:00
Wenjie Zhang
612bd9f7b0 refactor(graph): 重构知识图谱查询和格式化逻辑
- 修改查询方法以支持不同返回格式(graph/triples)
- 移除不再使用的格式化方法和废弃查询方法
- 优化节点和关系的查询性能及结果处理
- 更新相关API端点以直接返回原始查询结果
2025-07-30 10:50:06 +08:00
Wenjie Zhang
7d4722b62c feat: 更新知识库相关配置
- 实现QA数据
- 优化现在创建知识库的体验
- 优化文件处理与加载方法
- 整体的格式检查与优化
- 优化 Embedding model 的加载逻辑,修复并行问题
- 优化整体的颜色布局
- 移除未使用的接口(前后端)
- 优化知识库的 chunk 逻辑
- 添加新的 Embedding模型支持
- 修复新建知识库后,Agent无法reload的问题
2025-07-26 03:36:54 +08:00
Wenjie Zhang
75c52a3855 feat(router): 添加工具路由,更新聊天和智能体相关功能,优化工具获取逻辑 2025-07-24 00:45:47 +08:00
Wenjie Zhang
9d58ebc13c refactor(agent): 将智能体相关的名称参数更改为ID,优化智能体管理逻辑 2025-07-22 17:30:00 +08:00
Wenjie Zhang
9d9101a3e5 refactor(router): 更新系统路由 2025-07-22 17:29:38 +08:00
Wenjie Zhang
a9b5e84618 feat: 添加异步工具支持,优化工具检索和 LLM 调用逻辑
- 在 tools_factory.py 中引入异步检索器包装函数,确保异步工具的正确处理。
- 更新 ChatbotAgent 类的 llm_call 方法为异步版本,以支持异步工具调用。
2025-06-27 01:49:31 +08:00
Wenjie Zhang
fd7cd8cf25 feat: 更新工具工厂和聊天机器人逻辑,增强前端多选组件
- 在 tools_factory.py 中修改工具名称生成逻辑,确保兼容 Deepseek 的要求。
- 在 graph.py 中优化聊天模型与工具的绑定逻辑,增加条件判断以提高灵活性。
- 在 AgentView.vue 中新增环境变量显示部分,增强用户界面,添加多选卡片组件以改善选项选择体验。
- 更新样式以支持多选卡片的响应式设计,提升整体用户体验。
2025-06-24 00:13:11 +08:00
Wenjie Zhang
a6857c3e21 style: fix ruff check 2025-05-24 11:29:45 +08:00
Wenjie Zhang
6475170c4b refactor: 重构智能体管理和基础代理类
- 将 AgentManager 类中的方法重命名为更具描述性的名称,并优化了代理的注册和实例化逻辑。
- 添加了线程ID和用户ID字段到基础代理类,并改进了获取历史消息的逻辑,增加了错误处理。
- 在 ChatbotAgent 中确保创建图时设置 checkpointer,并处理可能的异常。
2025-05-20 22:21:51 +08:00
Wenjie Zhang
8c8abdc06b fix: 修复工具调用问题 2025-05-17 10:06:56 +08:00
Wenjie Zhang
77ce5a25da feat: Agent 消息保存在SQLite 中 2025-05-16 23:46:25 +08:00
Wenjie Zhang
a292e69b22 feat: 添加消息记录云端保存
主要修改:
1. 服务端新增 Thread 模型,用于存储对话列表信息,但不保存实际的历史记录
2. langgraph 配置了 InMemorySaver,添加 thread_id 参数,消息对话保存在内存中(服务重启后丢失)
3. 添加获取历史记录的 API 接口,从内存中获取
4. 添加 Graph 的单例模式,get_runnable_agent 导致的重复创建 Agent 实例的情况。
5. 优化 Agent 管理页面,更容易配置,更容易调试
6. 添加独立页面的侧边栏。
2025-05-15 22:37:50 +08:00
Wenjie Zhang
b01abfcf71 feat: Agent配置可以同步在用户侧了,用户侧会使用 config file 中的配置 2025-05-13 19:49:54 +08:00
Wenjie Zhang
693d05d808 添加自定义工具功能,给未来的 MCP 打一下基础 2025-04-05 17:27:52 +08:00
Wenjie Zhang
ff61e4cb48 超级大更新 2025-04-02 13:00:25 +08:00
Wenjie Zhang
9451b01ae9 临时保存 2025-04-02 00:00:04 +08:00
Wenjie Zhang
e43f1cd618 优化了一大堆:(1)添加了一个适配 LangGraph 的 graph 的类,这样可以更加方便的调试 Agent 了。(2)增加了 Agent call 的报错体验,但是前端还没有加进去。(3)移除部分无关紧要的 logger 2025-03-31 22:20:29 +08:00
Wenjie Zhang
b1be99fabc 优化基础智能体体验 2025-03-29 17:33:09 +08:00
Wenjie Zhang
98bfa82b24 修改 Agent 配置方法 2025-03-28 11:40:46 +08:00