Commit Graph

116 Commits

Author SHA1 Message Date
Wenjie Zhang
393d3b6a32 refactor(skills): 通过引入SkillsMiddleware重构技能处理
- 添加了SkillsMiddleware来管理技能提示注入、依赖解析和动态激活。
- 从RuntimeConfigMiddleware中移除了与技能相关的逻辑并将其整合到SkillsMiddleware中。
- 删除了skill_resolver.py,因为其功能已集成到SkillsMiddleware中。
- 更新了各个组件以使用新的SkillsMiddleware进行技能管理。
- 改进了skill_service.py中技能和工具加载的异步处理。
2026-03-05 01:42:53 +08:00
Wenjie Zhang
39d8a21bd7 fix(import): 修复循环导入问题 2026-03-04 04:27:57 +08:00
Wenjie Zhang
43679f4c0d style(format): 格式化代码 2026-03-04 04:13:05 +08:00
Wenjie Zhang
76656ab95e refactor: 重构知识库工具并集成新工具
- 新增 KnowledgeBaseMiddleware,提供通用知识库工具(list_kbs、get_mindmap、query_kb)
- 新增 debug/tools.py 调试工具集
- 重构 kbs/tools.py,分离通用工具与 MySQL 工具
- 移除旧的 toolkits registry 简化架构
- API 变更:get_databases_by_user → get_databases_by_user_id
- 前端拆分 KnowledgeBaseTool.vue 为多个专用工具组件
2026-03-04 04:06:48 +08:00
Wenjie Zhang
b4ea2ab948 feat: 重构工具管理并集成新工具API
- 将 `get_tavily_search` 导入移至新的工具包结构中。
- 更新 `skill_service.py` 以获取所有工具而不仅仅是内置工具。
- 引入 `tool_service.py` 用于管理工具元数据和初始化。
- 从 `models.py` 中删除了旧的数据库模型。
- 添加了新的 `tool_api.js` 用于工具管理API端点。
- 创建了 `ToolsManagerComponent.vue` 用于在UI中显示和管理工具。
- 更新了 `ExtensionsView.vue` 以包含工具管理的新标签页。
2026-03-03 23:44:57 +08:00
Wenjie Zhang
09577b9b65 refactor: 重构知识库工具模块,优化工具获取逻辑并移除冗余代码 2026-03-02 21:00:40 +08:00
Wenjie Zhang
69281f6fe1 refactor: 优化文件系统后端结构 2026-03-02 00:04:16 +08:00
肖泽涛
97cea83285 Revert "fix(graph): 增加知识图谱禁用模式与降级路径"
This reverts commit 835f0786b2.
2026-03-01 17:53:40 +08:00
肖泽涛
9c30c74d41 Revert "feat: 集成Langfuse并新增GAIA离线评估工具"
This reverts commit 45ecf7bcf2.
2026-03-01 17:44:53 +08:00
肖泽涛
835f0786b2 fix(graph): 增加知识图谱禁用模式与降级路径
- 新增 disabled graph service,统一图服务不可用时的行为

- 调整知识模块初始化与管理器,支持降级运行

- 更新图相关路由与工具调用逻辑,避免连接失败中断

- 同步部署文档与环境模板说明
2026-02-28 16:59:04 +08:00
肖泽涛
37daae7958 Merge branch 'feature/skills'
# Conflicts:
#	server/utils/lifespan.py
2026-02-27 18:19:14 +08:00
肖泽涛
ffb32ed242 merge: reconcile main with origin/main 2026-02-27 18:19:14 +08:00
肖泽涛
85480dbdc0 feat: migrate chat streaming to async run queue + SSE 2026-02-27 18:19:13 +08:00
肖泽涛
7f002f329d refactor(skill): unify runtime skill snapshot source 2026-02-27 16:51:20 +08:00
肖泽涛
326f87d67f refactor: 会话级 skill resolver 与 skills 加载链路重构 2026-02-26 18:35:03 +08:00
肖泽涛
45ecf7bcf2 feat: 集成Langfuse并新增GAIA离线评估工具 2026-02-24 18:04:02 +08:00
肖泽涛
0f7c0d3017 fix(skills): 增强安全性与交互体验
- 添加 skill slug 格式校验,防止路径遍历攻击
- 优化导出文件清理逻辑,添加异常处理
- 前端依赖管理表单添加禁用状态联动
- 补充相关单元测试

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 20:52:26 +08:00
肖泽涛
2666b27fcb feat(skills): 支持依赖管理与运行时渐进注入 2026-02-22 17:42:37 +08:00
肖泽涛
85b28f3753 fix: correct activated_skills state reducer annotation 2026-02-22 17:41:35 +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
肖泽涛
8e7437d4ea fix: merge attachment prompt into system_message idempotently 2026-02-21 02:03:26 +08:00
肖泽涛
5b101bbbc9 fix(attachments): preserve runtime files when syncing upload state 2026-02-21 01:51:41 +08:00
Wenjie Zhang
ed849a2e5c feat(tool): 优化 MySQL 工具命名并添加前端渲染组件
- 将工具 name_or_callable 从中文改为英文 (mysql_query, mysql_describe_table, mysql_list_tables)
- 添加 MySQL 工具结果的前端渲染组件,提升用户体验
2026-02-15 21:57:41 +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
88b6b27465 style(format): format 2026-02-03 14:55:21 +08:00
Wenjie Zhang
34bfc0c97e fix(agent): 修复因工具返回的 token 报告错误导致的频繁 summary 2026-02-03 14:52:54 +08:00
Wenjie Zhang
d47a66ea88 fix(security): 移除 SQL 注释后再进行安全验证
- 防止通过注释绕过后续的安全检查逻辑
- 增强 MySQLSecurityChecker 的防护能力
2026-02-03 13:31:25 +08:00
Wenjie Zhang
cab244227f refactor(middleware): 简化 SummaryOffloadMiddleware 卸载逻辑
- 移除 immediate_offload_threshold 参数,仅在触发 Summary 时卸载
- 优化工具结果卸载文件命名(工具名称-id)并添加头部信息
- 调整 FilesystemMiddleware 后端工厂函数接收 runtime 参数
- 优化 DeepAgent 提示词,调整报告格式要求
2026-02-03 12:13:13 +08:00
Wenjie Zhang
66cfb50d3f fix(runtime-middleware): 修复 enable_tools_override 为 False 时,仍可以调用所有工具 2026-02-03 03:29:16 +08:00
Wenjie Zhang
c09bf30626 feat(middleware): 附件中间件迁移至 MinIO 存储
- 使用 MinIOBackend 替代本地文件系统存储附件
- 优化 thread_id 获取逻辑,支持多种来源
- 保留原始文件名而非 file_id.md 格式
2026-02-03 02:35:56 +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
db833de69b fix(agent): 修复中间件无法载入知识库工具 2026-01-30 19:35:11 +08:00
Wenjie Zhang
820b6581e7 fix: (pre-commit) 添加子智能体切换要求 2026-01-30 13:34:11 +08:00
Wenjie Zhang
8cbebf4cca feat(agent): RuntimeConfigMiddleware 添加自定义字段配置 2026-01-30 12:40:54 +08:00
Wenjie Zhang
f71e1d67d3 format: 格式化样式 2026-01-29 22:49:37 +08:00
Wenjie Zhang
7e5bba9971 refactor: 更新工具名称为英文并优化深度分析上下文提示,删除不必要的样式 2026-01-29 22:49:04 +08:00
Wenjie Zhang
4480c20f81 fix(middleware): 修复 RuntimeConfigMiddleware 的工具override 导致的其余中间件失效的问题(还需要进一步排查 subagents 的 model 是否有问题) 2026-01-29 22:48:48 +08:00
Wenjie Zhang
3c9cc33022 fix(agent-tools): 修复内置工具没有默认加载的问题 2026-01-28 11:17:12 +08:00
Wenjie Zhang
794a860a58 docs: 更新快速开始指南和版本号,优化数据库描述注入逻辑 2026-01-24 12:36:24 +08:00
Wenjie Zhang
d3c482d6bf feat: 注入数据库描述到工具描述中 2026-01-24 12:22:54 +08:00
Wenjie Zhang
d538527e7a chore(database): 优化镜像配置与部分 SQLite 残留 2026-01-24 10:56:31 +08:00
Wenjie Zhang
3b903bcef4 feat(config): 在前端添加基于权限的知识库展示设计 2026-01-24 10:56:31 +08:00
Wenjie Zhang
7ffc7a7920 feat(web/config): 重构配置侧边栏为通用选择组件
重构 AgentConfigSidebar 组件,将工具选择逻辑抽象为通用选择组件
- 支持显示选项名称和描述
- 根据选项数量自动切换显示模式(卡片列表或弹窗)
- 统一处理工具、知识库等多选配置项
- 优化样式和交互体验
2026-01-24 10:56:31 +08:00
Wenjie Zhang
5cb6e4402f fix(chat): 修复知识库权限过滤逻辑
TODO: 前端还未完成过滤
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
a1812f2e97 feat(知识库): 重构知识库元数据存储为PostgreSQL数据库
- 新增知识库、知识文件、评估基准、评估结果等数据模型
- 实现知识库相关Repository类提供CRUD操作
- 修改知识库实现类使用PostgreSQL存储元数据
- 添加PostgreSQL数据库管理器和初始化逻辑
- 更新相关路由和工具类适配新的存储方式
- 添加数据库迁移脚本和测试工具
- 在docker-compose中配置PostgreSQL服务
2026-01-24 10:56:31 +08:00
Wenjie Zhang
339cd0f3b2 refactor: 重构工具获取逻辑,移除过时的工具接口,优化上下文工具管理 2026-01-15 16:04:19 +08:00