Commit Graph

58 Commits

Author SHA1 Message Date
zhizhizhii
608a42bcb3 fix: 测试沙箱,修复若干问题 2026-03-14 15:58:35 +08:00
zhizhizhii
9e75ac478b Merge remote-tracking branch 'refs/remotes/1165506270/feat/sandbox-provisioner-shared-storage' into feature/sandbox
# Conflicts:
#	server/routers/chat_router.py
#	src/config/app.py
#	src/services/chat_stream_service.py
#	uv.lock
#	web/src/components/AgentChatComponent.vue
#	web/src/components/AgentPanel.vue
2026-03-14 11:10:32 +08:00
Wenjie Zhang
9a0541eb7d refactor: 移除过时的审批逻辑和相关代码,优化选项处理 2026-03-10 00:16:41 +08:00
肖泽涛
bb41056900 feat(tool): 新增ASK_USER_QUESTION 内部工具 2026-03-08 00:08:52 +08:00
Wenjie Zhang
b420f7f69c feat: 新增对话置顶功能,优化对话列表排序和更新逻辑 2026-03-06 20:29:58 +08:00
Wenjie Zhang
96ce4dbe8a feat(chat): 新增对话线程列表的分页功能,支持limit和offset参数 2026-03-06 10:14:43 +08:00
ztxiao
2f4518e74e merge: main into feat/sandbox-provisioner-shared-storage 2026-03-05 23:06:43 +08:00
ztxiao
2db44f7999 chore: 提交当前代码 2026-03-05 22:50:38 +08:00
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
ztxiao
e356b3fcec feat: integrate provisioner sandbox and shared thread file APIs 2026-03-04 08:53:50 +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
肖泽涛
0695f6f4cd fix(embedding): use model-level batch_size for provider-specific limits
Root cause: DashScope embeddings accepts at most 10 inputs per request, but code used fixed batch_size=40, causing 400 Bad Request during indexing.

Changes:

- add batch_size to EmbedModelInfo with default 40

- set dashscope/text-embedding-v4 batch_size to 10

- persist batch_size in BaseEmbeddingModel and use it as default in batch/abatch encode

- update Milvus, evaluation, and upload-graph embedding paths to read model-configured batch_size
2026-02-28 13:09:53 +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
肖泽涛
b7edef1042 refactor: simplify chat stream helper flows 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
肖泽涛
326f87d67f refactor: 会话级 skill resolver 与 skills 加载链路重构 2026-02-26 18:35:03 +08:00
Wenjie Zhang
74cb569569 fix(chat): 优化消息加载逻辑,移除不必要的延迟参数( Error: 关于v0.5版本数据库引发的问题
Fixes #513)
2026-02-25 12:17:02 +08:00
Wenjie Zhang
80f97cc2d9 fix(attachments): 优化附件状态同步逻辑,修复 files 覆盖问题 2026-02-25 11:42:31 +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
肖泽涛
a307f689e8 merge: attachments state sync fixes into feature/skills 2026-02-21 02:23:59 +08:00
肖泽涛
5b101bbbc9 fix(attachments): preserve runtime files when syncing upload state 2026-02-21 01:51:41 +08:00
肖泽涛
dcb3d2c939 fix(attachments): merge state files by /attachments namespace 2026-02-21 00:59:29 +08:00
肖泽涛
bfae184e1c fix(attachments): sync thread state on upload/delete 2026-02-21 00:50:57 +08:00
肖泽涛
4bd77fce12 Merge branch 'main' of https://github.com/xerrors/Yuxi-Know 2026-02-20 13:27:35 +08:00
肖泽涛
360316963e feat(evaluation): 支持评估基准下载 2026-02-20 13:23: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
138a0795bf feat(model): 修改基础的 OpenAIBase 为异步调用 2026-01-28 11:30:55 +08:00
Wenjie Zhang
4a0110d1a7 feat(task): 添加任务删除功能,支持通过 API 删除任务并更新前端状态 2026-01-25 23:47:40 +08:00
Wenjie Zhang
882a90cb9b refactor(agent-web): 将智能体状态修改为状态工作台,集成文件,任务,附件 2026-01-24 15:24:25 +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
c961df43a9 format: 清理代码中的空行和优化导入顺序
统一移除文件末尾多余的空行
调整多个文件中的导入语句顺序以保持一致性
将时间处理函数提取到datetime_utils模块中复用
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
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
Wenjie Zhang
beb62436fd secure(48): 验证 task_id 格式以防止路径遍历漏洞 2026-01-15 12:56:47 +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
6a94b0626c fix(security): 防止路径遍历攻击通过使用basename处理task_id 2026-01-02 22:53:15 +08:00