Commit Graph

183 Commits

Author SHA1 Message Date
Your Name
5044243f40 feat: 增强OIDC登录功能,支持原始用户名、部门信息获取和强制登录配置 2026-04-15 15:06:28 +08:00
Wenjie Zhang
4d346103b4 feat: 前端工具调用折叠展示,优化对话中工具调用的显示逻辑 2026-04-13 18:06:25 +08:00
Wenjie Zhang
9c8998699c fix(summary): 修复对话摘要中间件的工具结果卸载链路,修正路径拼接错误并补充单元测试 2026-04-12 23:38:13 +08:00
Wenjie Zhang
63786b7c66 fix: 更新知识库检索工具,支持 Dify 和 LightRAG 类型,优化结果处理逻辑 Fix Error: query_kb不支持查询dify知识库了?
Fixes #622
2026-04-09 23:05:22 +08:00
Wenjie Zhang
d209c58b5d fix(parser): 修复 DOCX 图片回插顺序 2026-04-08 15:21:20 +08:00
Wenjie Zhang
5558b24a42 feat: 补充聊天机器人引用来源提示 2026-04-08 11:13:20 +08:00
Wenjie Zhang
8a3094cb1e feat(milvus): 增加 BM25 支持,优化混合检索功能及相关参数配置 2026-04-07 20:39:10 +08:00
Wenjie Zhang
a62077b693 feat: workspace 目录下支持新建文件夹以及上传文件 2026-04-06 18:49:13 +08:00
Wenjie Zhang
6809f67f70 refactor(chatbot): 更新提示词和待办事项中间件,简化系统提示构建 2026-04-06 12:09:22 +08:00
Wenjie Zhang
66340c7227 fix(lightrag): 修改返回值以允许 LightRAG 进行二次切分,避免超限 Fix #554 2026-04-06 11:48:50 +08:00
Wenjie Zhang
0e5456aae3 feat(agent): 统一知识库检索结果文件路径注入 2026-04-05 23:52:10 +08:00
Wenjie Zhang
6df070ddb6 fix: 修复 MCP worker 配置加载不一致 2026-04-04 14:47:23 +08:00
Wenjie Zhang
85d7f6354f fix: 修复错误 #605 2026-04-04 13:57:21 +08:00
Wenjie Zhang
4689ea014b refactor: 移除 ensure_default_department 函数,简化部门管理逻辑 2026-04-04 12:24:53 +08:00
GitHub Actions
b7579c539d style: auto-format with ruff [skip ci] 2026-04-04 03:24:15 +00:00
Wenjie Zhang
76b5156a2c
Merge pull request #592 from DSYZayn/main
feat (auth): 添加第三方登录认证(OIDC)
2026-04-04 11:23:07 +08:00
Wenjie Zhang
2100edfd6e fix: 调整部门删除逻辑,迁移用户至默认部门并清理相关配置,更新前端提示信息 Error: 部门删除限制
Fixes #607
2026-04-04 11:10:30 +08:00
Wenjie Zhang
872e61946c fix: 添加用户登录失败锁定机制及相关测试用例 #604 2026-04-03 23:15:20 +08:00
DSYZayn
ffda077746 feat(auth): 将oidc相关功能打包到service中 2026-04-03 23:07:22 +08:00
Wenjie Zhang
10d6c8d273 chore: 更新python 依赖,修复 torch 版本导致的镜像体积过大 2026-04-03 20:02:05 +08:00
Wenjie Zhang
4a98969d0e fix: 修复包管理的导入问题 #603 2026-04-03 13:09:12 +08:00
Wenjie Zhang
81aeadf5cf fix: 修复 list_run_stream_events 函数中的格式错误,确保 after_seq 参数正确包裹 Fixes 这里有个奇怪的没闭合的左括号,我去掉后突然好使了
Fixes #605
2026-04-03 12:12:57 +08:00
copilot-swe-agent[bot]
037872924b
fix: 修复路径遍历安全漏洞并添加文件名校验
- 前端:在 ExtensionsView.vue 上传前添加 beforeUpload 校验,
  仅允许 .zip 或 SKILL.md 文件,其他 .md 文件给出明确错误提示
- 后端:import_skill_dir 添加路径限制检查(is_relative_to),
  确保来源目录在系统临时目录内,防止路径遍历
- 后端:install_remote_skill 改为扫描目录查找安装结果,
  避免直接用用户输入构造文件路径(消除 CodeQL 告警)
- 后端:_run_skills_cli 错误输出清洗 ANSI 控制字符并截断到 500 字符
- 后端:install_remote_skill 返回类型从 object 修正为 Skill

Agent-Logs-Url: https://github.com/xerrors/Yuxi/sessions/0145c647-72bc-41f9-b07b-04d4acf51932

Co-authored-by: xerrors <35524243+xerrors@users.noreply.github.com>
2026-04-02 15:19:33 +00:00
Wenjie Zhang
dc67a1483f feat: 添加 git 依赖到 Dockerfile,优化构建环境 2026-04-02 16:34:43 +08:00
Wenjie Zhang
82d4add70b fix(skill): 优化远程技能安装服务,优化临时工作目录管理 2026-04-02 16:09:02 +08:00
Wenjie Zhang
a828d7154b feat(skill): 添加远程技能安装服务及相关功能更新
- 新增 remote_skill_install_service.py 支持远程技能安装
- 更新 skill_service.py 增强技能管理功能
- 更新 skill_router.py 添加相关路由
- 更新前端组件 SkillsManagerComponent.vue
- 更新 ExtensionsView.vue
- 添加对应单元测试

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-02 16:09:02 +08:00
Wenjie Zhang
8ba4f7050d feat(skill): 支持直接上传单个 SKILL.md 文件,更新导入功能描述 2026-04-02 16:07:58 +08:00
Wenjie Zhang
1f792fa914 feat: 增加 Argon2 密码哈希支持,优化文件系统安全性,修复 frontmatter 解析 2026-04-02 16:03:01 +08:00
zayn
896e91abb2
Merge branch 'xerrors:main' into main 2026-04-02 12:36:08 +08:00
Wenjie Zhang
ca016151e5
Update backend/server/routers/auth_router_oidc.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-02 12:12:56 +08:00
Wenjie Zhang
2aeb1a86d7 fix: 修复沙盒共享权限配置错误的问题 #594 2026-04-02 11:17:30 +08:00
Wenjie Zhang
e05eacfae3 feat: 优化 summary 组件 2026-04-02 09:05:56 +08:00
zayn
a121592fac
Merge branch 'main' into main 2026-04-01 22:22:46 +08:00
DSYZayn
01705aa66b fix(auth): 修复OIDC第三方登录认证集成的潜在风险
- 实现OIDC用户自动创建和部门管理逻辑,支持并发场景下的用户去重处理
- 重构OIDC回调流程,采用一次性code机制提升安全性,避免敏感信息通过URL传递
- 增加对已注销OIDC用户的恢复支持,兼容历史后缀用户ID格式
- 优化用户软删除逻辑,使用user_id和id组合生成哈希避免重名冲突
2026-04-01 22:10:24 +08:00
Wenjie Zhang
f2c7666688 fix: 修复版本错误 2026-04-01 17:22:39 +08:00
Wenjie Zhang
bb2f879b6a feat: 调整 backend Python 工作区依赖边界,明确核心运行依赖包 2026-04-01 17:00:04 +08:00
Wenjie Zhang
783513f2ba chore: 0.6.0 预发布 2026-04-01 16:55:29 +08:00
Wenjie Zhang
e27a10b5f1 style: format code 2026-04-01 04:16:22 +08:00
Wenjie Zhang
9bc86c070c feat(filesystem): 增强文件删除功能,支持递归删除目录并添加保护路径检查 2026-04-01 04:04:55 +08:00
Wenjie Zhang
70c61aa53e feat(agent): 添加流式消息处理功能,支持实时更新智能体状态 2026-04-01 03:17:43 +08:00
Wenjie Zhang
da6b9691af feat(paths): 引入虚拟路径常量,重构路径管理逻辑 2026-04-01 01:58:57 +08:00
Wenjie Zhang
3ec8305eab feat(agent): 重新给默认智能体添加 TODO 中间件 2026-04-01 01:57:40 +08:00
DSYZayn
f1997d3194 feat(auth): 添加 OIDC 第三方认证功能
- 新增 OIDC 认证配置项到 .env.template 文件
- 实现 OIDC 认证路由和处理逻辑,包括登录、回调和配置获取接口
- 创建 OIDC 配置模型和服务工具类,支持从环境变量加载配置
- 在前端登录页面添加 OIDC 登录选项,支持动态配置显示
- 添加 OIDC 认证相关配置文档说明
- 支持自动创建 OIDC 用户和部门管理功能
2026-04-01 00:42:25 +08:00
Wenjie Zhang
8f613b0caf fix(agent): 在创建代理配置文件时 缺少agent_id 参数 2026-04-01 00:22:16 +08:00
Wenjie Zhang
62d763a1a0 feat(agent): 交付物卡片新增“保存到工作区”能力:支持将单个交付物复制到共享目录 workspace/saved_artifacts/,并复用现有文件树/预览/mention 体系立即可见 2026-03-31 20:18:22 +08:00
Wenjie Zhang
3f1ec778a4 feat: 新增对于 workspace 的删除接口的实现
- 为前端工作台文件树补齐文件删除能力:`/api/viewer/filesystem/file`
- 新增删除接口,`AgentPanel` 文件节点新增删除按钮与确认交互,删除后会同步刷新树与预览状态
2026-03-31 19:41:08 +08:00
Wenjie Zhang
b4401d0339 feat: 集成 Langfuse 以增强 Yuxi 中的可观察性
- 更新了 Dockerfile,在同步过程中包含 Langfuse 集成。
- 在文档中添加了新的部分,详细介绍 Langfuse 集成的目的、配置和在 Yuxi 中的使用方法。
- 更新了 Vitepress 配置,包含了指向新 Langfuse 集成文档的链接。
- 增强了路线图,反映了对 Langfuse 自托管支持的添加,并明确了集成方法。
2026-03-31 09:58:16 +08:00
Wenjie Zhang
d282cab00c feat: 增加工具配置说明展示 2026-03-30 16:39:27 +08:00
Wenjie Zhang
94e16802d1 chore: 更新版本号至 v0.6.0.beta3,修正文档及配置文件中的相关信息 2026-03-30 15:48:57 +08:00
Wenjie Zhang
97c585f6c6
Merge branch 'main' into copilot/fix-agent-config-repository-error 2026-03-30 15:41:07 +08:00
Wenjie Zhang
d1a02579bc fix: 修复 lightrag 序列化与 knowledge router 路径问题 Fixes: #584
- 修正 lightrag.py 中的序列化逻辑
- 修复 knowledge_router.py 路由路径
- 更新 roadmap.md 文档记录
2026-03-30 15:39:49 +08:00
Wenjie Zhang
4f6353d555 feat(test): 重组测试目录结构为 integration/unit/e2e 三层架构
- 将 api 测试重组为 integration 测试
- 新增 unit 和 e2e 测试目录分类
- 新增 testing-guidelines.md 测试指南文档
- 更新 pyproject.toml 和 run_tests.sh 以适配新结构

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-30 15:24:47 +08:00
Wenjie Zhang
f91e931a24
Delete backend/test/test_chat_router_configs.py 2026-03-30 15:22:54 +08:00
copilot-swe-agent[bot]
fb05161f10
fix: 修复智能体配置默认创建缺少agent_id参数
Agent-Logs-Url: https://github.com/xerrors/Yuxi/sessions/933d6368-5424-4327-99cf-3722768afa57

Co-authored-by: xerrors <35524243+xerrors@users.noreply.github.com>
2026-03-30 07:18:33 +00:00
Wenjie Zhang
e3515fa795 fix: 统一沙盒后端命名与配置说明 2026-03-29 16:52:33 +08:00
Wenjie Zhang
f71f779570 fix: 修正沙盒共享 workspace 宿主机路径
将共享 workspace 的宿主机目录从 saves/user-data/workspace 调整为 saves/threads/shared/workspace。

同时同步更新本地 Docker 与 Kubernetes provisioner 的 user-data 挂载逻辑,确保 workspace 为共享目录,而 uploads 与 outputs 继续保持线程私有,避免多租户项目下路径语义错误。

补充更新沙盒架构文档与 roadmap 表述,使代码实现与文档说明保持一致。
2026-03-29 14:38:06 +08:00
Wenjie Zhang
90e3a79a77 style: code format 2026-03-29 13:49:54 +08:00
Wenjie Zhang
b7e10c6666 feat: 重构扩展管理中的 SubAgent 与 MCP 交互,统一为类似 Skills 的方式。 2026-03-29 13:47:41 +08:00
Wenjie Zhang
ab268d8eba feat: 添加工件管理和展示功能
- 更新 .gitignore 以排除测试相关目录。
- 增强 ChatbotAgent 和 DeepAgent 以利用 BaseState 进行状态管理。
- 引入 PresentArtifacts 工具,允许代理向用户展示输出文件。
- 在 state.py 中添加新的状态管理功能,包括 merge_artifacts 和 BaseState。
- 创建 AgentArtifactsCard 组件以在前端显示工件。
- 在 AgentChatComponent 和 AgentInputArea 中集成工件处理。
- 更新 MessageInputComponent 和 ToolCallRenderer 以更好地处理工件的 UI 展示。
- 添加工件状态管理和标准化函数的测试。
- 更新 docker-compose 以使用最新的沙箱配置器镜像。
- 在路线图中记录新功能。
2026-03-29 10:55:00 +08:00
Wenjie Zhang
d72273f469 feat(skills): 新增内置技能 deep-reporter,支持生成科研报告和深度分析类长报告 2026-03-28 20:44:11 +08:00
Wenjie Zhang
6078518577 feat: 更新内置技能版本,增强技能更新逻辑,优化技能管理界面 2026-03-28 20:02:52 +08:00
Wenjie Zhang
8041c5ef4d Merge branch 'main' into feat/builtin-skills-on-demand-install 2026-03-28 19:36:41 +08:00
Wenjie Zhang
557ac824e5 feat: 调整沙盒 user-data 目录隔离策略,workspace 修改为用户级,优化文件系统逻辑及权限校验 2026-03-28 19:36:06 +08:00
Wenjie Zhang
a005e0f3dc feat: 内置 Skills 按需安装机制
- Skill 模型新增 version, is_builtin, content_hash 字段
- 内置 skills 不再自动安装,改为按需安装
- 新增 GET/POST /system/skills/builtin 路由
- 安装时计算目录内容 hash,用于变更检测
- 更新时 hash 不一致返回 409 确认
- 前端显示内置 skills 未安装状态,支持安装/更新按钮
- 内置 skill 文件编辑入口已隐藏
- 修复 _compute_dir_hash 内存问题,改为 chunk 读取
- 19 个测试用例全部通过
2026-03-28 17:53:53 +08:00
Wenjie Zhang
4e740bab1b fix: avoid sandbox cold starts in viewer tree 2026-03-28 14:59:36 +08:00
Wenjie Zhang
f7ad327ef2 fix: update repository references from Yuxi-Know to Yuxi across documentation and codebase 2026-03-27 02:00:22 +08:00
Wenjie Zhang
5bd8aa0b2d chore: 更新版本号至 v0.6.0.beta2,修复历史对话上下文配置问题 2026-03-27 01:42:19 +08:00
Wenjie Zhang
5fe367b77b feat: 增强对话线程的 agent_config_id 绑定逻辑,确保元数据一致性 2026-03-27 01:15:51 +08:00
Wenjie Zhang
3b5514e9b5 fix(apikey): 修复管理员无法创建维护 API_KEY 的问题
- 前端:API Key 管理 tab 对所有登录用户可见,非管理员默认显示 API Key tab
- 前端:apikey_api 改为普通 API 调用(移除 superadmin 专用接口)
- 后端:list/create/get/update/delete/regenerate 接口改为按用户过滤,superadmin 可查看全部
2026-03-27 01:15:42 +08:00
Wenjie Zhang
efecc0692d feat: 重构对话线程相关API,统一使用线程ID,移除不必要的智能体ID参数 2026-03-27 00:20:33 +08:00
Wenjie Zhang
9f51cfd96b refactor(chat-api): 重构聊天接口请求模型:流式与非流式聊天统一使用 query + agent_config_id 请求体 2026-03-26 23:13:44 +08:00
Wenjie Zhang
7037d48d51 fix: 将内置的 MCP 修改为默认禁用,避免启动加载问题 2026-03-26 18:06:59 +08:00
Wenjie Zhang
dbc230e205 style(lint): 优化格式 2026-03-26 13:53:35 +08:00
Wenjie Zhang
56d11db978 feat: 更新版本号至 0.6.0.beta1,修改相关文档和配置文件 2026-03-26 13:13:34 +08:00
Wenjie Zhang
abee1fcc9b feat: 优化智能体的提示逻辑,简化代码 2026-03-26 11:43:27 +08:00
Wenjie Zhang
b09f4f426f feat: 增加文件预览类型判定,工作台支持 Markdown、文本、图片和 PDF 预览,处理不支持格式的反馈 2026-03-26 05:14:50 +08:00
Wenjie Zhang
e377789812 feat: 优化了沙盒的文件系统的预览 2026-03-26 04:35:21 +08:00
Wenjie Zhang
6dad206f10 feat: 添加支持待办事项的补充说明,更新相关组件以处理任务显示 2026-03-26 04:34:57 +08:00
Wenjie Zhang
623f6f31ab refactor: 用户数据路径从 '/home/yuxi' 重构为 '/home/gem' 2026-03-26 03:29:34 +08:00
Wenjie Zhang
2be5aedaf2 feat: 添加知识库文件在沙盒以及文件系统中的映射 #576 2026-03-26 03:25:55 +08:00
Wenjie Zhang
cea53cc67c fix(skill): 修复 skills 在文件系统的可访问性的错误并优化并发体验 2026-03-26 02:29:05 +08:00
Wenjie Zhang
0836fd8d4f feat: 添加非流式对话接口和相应的集成测试 2026-03-26 00:26:45 +08:00
Wenjie Zhang
4ad4321992 fix: 修复旧版本名称错误 2026-03-26 00:24:34 +08:00
Wenjie Zhang
51c2159b8c fix(LightRagKB): 修复知识库配置更新后,实例没有销毁导致的模型未更新 Fixes: #580 2026-03-25 20:46:57 +08:00
Wenjie Zhang
a92b8a77ef fix: 更新版本号至 0.6.0-dev2 2026-03-25 20:45:19 +08:00
Wenjie Zhang
637981b060 fix(viewer): 更新下载文件逻辑以处理大文件并返回正确的响应 2026-03-25 13:39:24 +08:00
Wenjie Zhang
1d8a5e88af fix(kb): 修剪文件列表负载并清理处理参数 2026-03-25 08:06:25 +08:00
Wenjie Zhang
ecb2252e36 Merge branch 'feat/agent-sandbox' of https://github.com/xerrors/Yuxi-Know into feat/agent-sandbox 2026-03-25 07:42:52 +08:00
Wenjie Zhang
a6ef621184 fix(web): 修复数据库获取接口未过滤文件字段而导致的数据包过大的情况 2026-03-25 07:42:49 +08:00
Wenjie Zhang
b1746c9270 fix: 移除上传文件时的多余参数,简化 MinIO 上传逻辑 2026-03-25 07:28:17 +08:00
Wenjie Zhang
e4ae12dc75 refactor: 重构并清理多个模块的测试
- 移除了文件系统和沙盒路由器的过时集成测试。
- 更新了文件系统路由器测试,确保正确的身份验证和线程所有权检查。
- 调整了沙盒端到端测试,以改进附件处理和命令执行。
- 修改了设置路由器测试,对未授权访问返回404而不是401/403。
- 增强了任务路由器测试,以处理精简模式场景并确保任务创建和查询按预期工作。
- 优化了查看器文件系统测试,使用附件上传代替直接文件写入。
- 改进了技能后端测试中的错误处理,为越界访问引发适当的异常。
2026-03-25 06:32:14 +08:00
Wenjie Zhang
aeed32264f fix: 移除 chat_stream_service.py 中的知识库权限过滤逻辑,已在工具层添加 2026-03-25 05:51:22 +08:00
Wenjie Zhang
d433f56aaf refactor: 将沙盒虚拟路径前缀更新为 /home/yuxi/user-data
- 将代码库中所有对 /mnt/user-data 的引用更改为 /home/yuxi/user-data。
- 更新测试用例以反映新的路径结构。
- 调整 Docker 配置以使用新路径。
- 修改文档以与新的路径约定保持一致。
- 增强沙盒配置器中文件读取操作的错误处理。
- 改进代理文件管理系统中的附件处理。
2026-03-25 05:26:00 +08:00
Wenjie Zhang
969330a7e7 Merge branch '0.6.0-dev' into feat/agent-sandbox 2026-03-25 03:36:08 +08:00
Wenjie Zhang
e49d8dda53 docs: 更新大量文档 2026-03-25 00:36:42 +08:00
Wenjie Zhang
423eca3fb0 Merge branch '0.6.0-dev' of https://github.com/xerrors/Yuxi-Know into 0.6.0-dev 2026-03-24 22:48:47 +08:00
Wenjie Zhang
b4f0b6e11f fix(web): 更新智能体名称,优化图标映射和样式对齐 2026-03-24 22:48:32 +08:00
Wenjie Zhang
4df242e63b format: 格式化代码 2026-03-24 22:37:03 +08:00
Wenjie Zhang
e07e88ae49 feat: 新增沙盒能力对齐改造:详见 docs/advanced/sandbox-validation.md 2026-03-24 21:48:28 +08:00
Wenjie Zhang
d9b9980877 fix: 重构内置技能目录处理逻辑,改为复制以兼容沙盒场景 2026-03-24 15:46:01 +08:00