Commit Graph

272 Commits

Author SHA1 Message Date
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
b19fdcb9f5 refactor: 将 services 和 adapters 移动到 graphs 目录
- 将 src/knowledge/services/upload_graph_service.py 移动到 src/knowledge/graphs/
- 将 src/knowledge/adapters/ 整个目录移动到 src/knowledge/graphs/adapters/
- 更新所有导入路径:src.knowledge.adapters → src.knowledge.graphs.adapters
- 保持原有的延迟导入设计以解决循环依赖问题
- 保持向后兼容性:src.knowledge.__init__ 仍然导出 UploadGraphService 和 GraphDatabase

影响范围:
- server/routers/graph_router.py
- src/knowledge/__init__.py
2026-03-03 14:44:58 +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
肖泽涛
b2788fc173 优化知识库文件批量删除为50条分批请求
- 新增后端批量删除接口 /documents/batch

- 前端批量删除改为每批50个文件请求

- 修复删除进度提示不更新问题(统一 key 更新 loading)
2026-03-01 16:18:59 +08:00
肖泽涛
2b80e8c41f merge: pull origin/main and resolve batch size conflicts 2026-02-28 17:18:33 +08:00
肖泽涛
835f0786b2 fix(graph): 增加知识图谱禁用模式与降级路径
- 新增 disabled graph service,统一图服务不可用时的行为

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

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

- 同步部署文档与环境模板说明
2026-02-28 16:59:04 +08:00
GitHub Actions
9844908b2c style: auto-format with ruff [skip ci] 2026-02-28 08:33:54 +00: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
Wenjie Zhang
80f97cc2d9 fix(attachments): 优化附件状态同步逻辑,修复 files 覆盖问题 2026-02-25 11:42:31 +08:00
肖泽涛
6416589787 feat: 支持 Dify 只读知识库检索接入 2026-02-24 12:12:02 +08:00
肖泽涛
c1afed8d3d Merge branch 'codex/mcp-env-field-support' into feature/skills 2026-02-23 22:55:47 +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
肖泽涛
c1653a59c0 feat(mcp): add stdio env support and env editor component 2026-02-22 18:57:30 +08:00
肖泽涛
2666b27fcb feat(skills): 支持依赖管理与运行时渐进注入 2026-02-22 17:42:37 +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
肖泽涛
60bc408a3e feat(knowledge): add ragflow-like chunk preset pipeline 2026-02-20 19:35:43 +08:00
肖泽涛
360316963e feat(evaluation): 支持评估基准下载 2026-02-20 13:23:20 +08:00
Wenjie Zhang
138a0795bf feat(model): 修改基础的 OpenAIBase 为异步调用 2026-01-28 11:30:55 +08:00
Wenjie Zhang
a4f425dbf9 feat: 上传文件新增基于URL获取和处理功能,需要配置白名单环境变量
- 引入新的端点来获取URL内容并转换为Markdown格式。
- 在环境变量中添加URL白名单配置以确保安全。
- 增强文件上传模态框以支持URL输入和URL批量处理。
- 更新文件处理逻辑以区分文件和URL。
- 改进UI组件以适应新的URL处理功能。
- 添加用于URL验证和获取的工具函数。
2026-01-27 17:12:48 +08:00
Wenjie Zhang
b5c14a6a6f fix(database): 扩展 db_id 字段长度至 80 字符,以支持更长的 ID #499 2026-01-26 11:13:33 +08:00
Wenjie Zhang
4a0110d1a7 feat(task): 添加任务删除功能,支持通过 API 删除任务并更新前端状态 2026-01-25 23:47:40 +08:00
Wenjie Zhang
c5aec7f463 fix: 将MD5哈希算法替换为更安全的SHA256算法 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
c961df43a9 format: 清理代码中的空行和优化导入顺序
统一移除文件末尾多余的空行
调整多个文件中的导入语句顺序以保持一致性
将时间处理函数提取到datetime_utils模块中复用
2026-01-24 10:56:31 +08:00
Wenjie Zhang
f5fedb4dec fix(knowledge-tool): 修复使用的 ID 而不是知识库的 bug 2026-01-24 10:56:31 +08:00
Wenjie Zhang
e585f796d2 refactor(task): 重构任务服务并迁移到postgres 数据库
将任务服务从server/services移动到src/services
添加TaskRepository实现数据库持久化
更新所有相关导入路径
2026-01-24 10:56:31 +08:00
Wenjie Zhang
63fed0dfd6 refactor: 移除基于 SQLite 的遗留问题 2026-01-24 10:56:31 +08:00
Wenjie Zhang
a5d55d6c37 refactor(storage): 重构对话数据库模型与存储管理
将业务数据模型从SQLite迁移至PostgreSQL,统一使用models_business.py
删除旧的SQLite模型和ConversationManager,新增repository和服务层
优化时间处理工具函数,增加utc_now_naive和format_utc_datetime
重构前端组件代码格式,统一多行导入和长字符串的换行风格
2026-01-24 10:56:31 +08:00
Wenjie Zhang
3da0d57c1c refactor: 重构数据库访问层,用户/对话/消息都统一迁移至PostgreSQL并添加业务模型支持 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
431f06f211 feat(auth): 添加超级管理员用户切换功能和相关日志记录 2026-01-24 10:56:31 +08:00
Wenjie Zhang
f3da61b10a 功能:增强知识库访问控制和共享配置 #480
- 在save_agent_config中实现了基于用户角色的知识库访问控制。
- 添加了新端点以检索当前用户可访问的数据库。
- 在数据库创建和更新过程中引入了share_config以管理共享设置。
- 创建了ShareConfigForm组件用于在UI中管理共享设置。
- 更新了部门和知识API以支持新的访问控制功能。
- 增强了用户管理组件以显示用户角色和部门名称。
- 重构了数据库视图以包含共享配置设置。
2026-01-24 10:56:31 +08:00
Wenjie Zhang
2836ff09cf fix(auth): 添加检查以防止删除部门唯一管理员账户 2026-01-19 20:49:29 +08:00
GitHub Actions
0f684851bc style: auto-format with ruff [skip ci] 2026-01-18 14:55:37 +00:00
Wenjie Zhang
5b3703ac1c feat(account): 添加部门基础管理功能 #480
- 实现数据库迁移,创建部门表并向用户表添加department_id字段。
- 创建Department模型并与User模型建立关联关系。
- 开发部门管理API以支持增删改查操作。
- 添加DepartmentManagementComponent用于在UI中管理部门。
- 在UserManagementComponent中集成部门选择功能以进行用户分配。
- 更新用户存储以处理部门数据。
- 增强UI组件以改善样式和用户体验。
2026-01-18 22:54:43 +08:00
humeng
d90c716775 fix: 修改评论描述 2026-01-16 15:49:58 +08:00
Wenjie Zhang
e63d09d8c3
Merge pull request #475 from jonasHanhan/fix-issue-453
fix: multiple Human in the loop approvals getting stuck
2026-01-15 20:09:35 +08:00
jonasHanhan
3a75b75bfd fix: multiple Human in the loop approvals getting stuck (#453)
Add check_and_handle_interrupts call to resume_agent_chat function
to make it consistent with the main chat flow.

Root cause:
- Main chat flow checks for pending interrupts after stream ends
- Resume flow was missing this check
- When a new interrupt was triggered after resume, frontend never
  received the new approval request

Fix:
- Add the same interrupt detection logic after stream ends in resume flow
2026-01-15 16:21:00 +08:00
Wenjie Zhang
339cd0f3b2 refactor: 重构工具获取逻辑,移除过时的工具接口,优化上下文工具管理 2026-01-15 16:04:19 +08:00
Wenjie Zhang
9fa8ce288f feat: 添加知识库名称检查,防止重复创建相同名称的知识库 #466 2026-01-14 22:00:53 +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
hfdy2019
51b7824819 feat: make lint & make format 2026-01-14 20:16:51 +08:00
hfdy2019
c360252e56 feat: 新增支持动态配置mcp功能 2026-01-14 20:16:51 +08:00
GitHub Actions
02334bca38 style: auto-format with ruff [skip ci] 2026-01-12 11:23:49 +00:00
Wenjie Zhang
28259ff66d feat: 添加自动入库功能及相关配置选项 2026-01-12 17:51:32 +08:00