Commit Graph

91 Commits

Author SHA1 Message Date
Wenjie Zhang
981fd3170d feat(workspace): 增强工作区功能,新增默认 agents 文件创建及路径管理 2026-05-04 08:18:37 +08:00
Wenjie Zhang
35f09f0bc8 feat: 完善工作区文件管理能力 2026-05-04 08:18:37 +08:00
Wenjie Zhang
c5852617b1 feat: 新增个人工作区预览
新增独立用户级 workspace 只读接口和工作区页面,支持文件列表浏览及宽屏内嵌/窄屏弹窗预览,便于后续扩展团队空间与知识库浏览。

Co-authored-by: Copilot <copilot@github.com>
2026-05-04 08:18:37 +08:00
Wenjie Zhang
f4c56499b9 fix: 中断任务不再加入内存 Question: 启动加载中断的知识库任务状态
Fixes #656
2026-04-27 18:19:39 +08:00
Wenjie Zhang
ee624513f1 style(format): 格式化代码 2026-04-27 02:24:52 +08:00
Wenjie Zhang
7c699cc86f feat(chat): 优化 LangGraph 状态消息保存逻辑,增加错误处理和警告提示
Co-authored-by: Copilot <copilot@github.com>
2026-04-26 21:43:25 +08:00
Wenjie Zhang
a8eb5ab6fe feat(model): 引入 is_v2_spec_format 函数以优化模型规格判断逻辑 2026-04-26 20:59:40 +08:00
Wenjie Zhang
2e0b4a8358 refactor: 增强模型提供程序管理和 UI 组件
- 在 PostgresManager 中添加了用于嵌入和重新排序基本 URL 的新列。
- 更新了模型提供程序数据结构,以包含新的端点。
- 重构了模型提供程序服务和路由器中的凭据状态检查。
- 引入了一个可重用的组件,用于跨组件进行模型状态检查。
- 通过调整页面内边距的 CSS 变量,提高了 UI 的响应速度。
- 重构了模型选择器组件,以利用新的模型状态组件。
- 更新了模型配置视图,以处理响应式编辑模型状态。
- 清理了未使用的代码,并改进了模型状态检查中的错误处理。
2026-04-26 19:59:15 +08:00
Wenjie Zhang
e3d312059a feat(model): 重构嵌入模型选择器,新增 Rerank 模型选择器,优化模型提供者管理 2026-04-26 18:51:38 +08:00
Wenjie Zhang
db13abaa63 feat(model): 增强模型配置功能,支持手动添加模型及源字段,优化远端模型加载逻辑 2026-04-26 15:03:20 +08:00
Wenjie Zhang
d177506d15 refactor(models): 重构模型配置[WIP] 2026-04-25 23:58:01 +08:00
GitHub Actions
a3dd2c96fe style: auto-format with ruff [skip ci] 2026-04-24 11:42:53 +00:00
Wenjie Zhang
753baf176f
Merge pull request #646 from shaun0927/fix/oidc-colon-sub-binding
fix(auth): handle ':' in OIDC raw-username binding placeholders
2026-04-21 09:15:54 +08:00
Wenjie Zhang
ccf0d98eb6 fix(chat): 修复 runs api 的情况下,用户消息延迟渲染以及切换对话的时候,消息渲染异常的问题 2026-04-19 23:44:46 +08:00
Wenjie Zhang
6284dfc3b5 feat(agent): 新增当智能体配置无效的回退方案 2026-04-19 23:28:48 +08:00
JunghwanNA
c0f17b1fe8 fix: 避免 OIDC 已绑定账号在带冒号的 subject 下被误判为冲突账号
OIDC 原始用户名绑定使用 `oidc:{sub}:{target_user_id}` 记录占位关系,
但读取时按固定下标拆分字符串,导致 `sub` 自身包含冒号时无法回到
真实用户,回调流程会把已绑定用户误判成冲突账号。

本次改动保持现有占位格式不变,只把目标用户 ID 的解析改为从右侧
拆分,并补充覆盖 `sub` 包含冒号的单元测试;同时在 roadmap 中记录
这个回归修复,方便和 OIDC 功能演进保持同一条线索。

Constraint: 保持 OIDC 现有占位 user_id 设计,不引入新表或大范围重构
Rejected: 新增专用绑定表 | 变更范围过大,不符合当前最小修复目标
Rejected: 继续按固定位置 split | 无法兼容 subject 中合法出现的冒号
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: 后续若继续沿用字符串占位格式,解析必须始终从尾部提取 target_user_id
Tested: OPENAI_API_KEY=dummy YUXI_SKIP_APP_INIT=1 uv run --group test pytest test/unit/services/test_oidc_service.py
Tested: OPENAI_API_KEY=dummy YUXI_SKIP_APP_INIT=1 uv run --group test ruff check package/yuxi/services/oidc_service.py test/unit/services/test_oidc_service.py
Not-tested: Docker compose 环境下的端到端 OIDC 登录流程
2026-04-17 01:40:32 +09:00
Your Name
174cf84cef fix(oidc): 占位用户username使用sub哈希避免唯一索引冲突 2026-04-16 14:58:16 +08:00
Your Name
3b6f52da80 fix(oidc): 修复_create_oidc_binding_placeholder跨session一致性问题 - 使用同一个db session创建占位记录 2026-04-16 14:56:15 +08:00
Your Name
5db5b847b4 fix(oidc): 占位用户标记为is_deleted=1,禁止参与实际登录,符合注释说明 2026-04-16 14:53:42 +08:00
Your Name
ea530039c9 fix(oidc): 修复use_raw_username绑定验证逻辑 - 占位用户格式存储目标用户ID,find_user_by_oidc_sub返回真实用户 2026-04-16 14:51:38 +08:00
Your Name
ce011748bc refactor(oidc): 移除Discovery元数据中的localhost无条件替换 - 由用户网络配置自行处理 2026-04-16 10:18:21 +08:00
Your Name
243bdfdba5 fix(oidc): 调整force_prompt_login默认值为false,更加安全 2026-04-16 10:15:33 +08:00
Your Name
c6c2c3b1f6 fix(oidc): 修复create_oidc_user中use_raw_username直接返回现有用户的安全问题 - 验证绑定关系 2026-04-16 10:13:39 +08:00
Your Name
1213436dae fix(oidc): 修复use_raw_username模式下的账号冒用安全问题 - 通过占位用户记录绑定关系,无需修改User表 2026-04-16 10:12:19 +08:00
Your Name
5d9aa72e74 refactor: 删除find_user_by_oidc_sub中未使用的raw username分支,避免误导 2026-04-16 10:06:48 +08:00
Your Name
90de80600d fix: 对OIDC获取的部门名称和描述进行清理和长度校验 2026-04-16 10:05:25 +08:00
Your Name
5044243f40 feat: 增强OIDC登录功能,支持原始用户名、部门信息获取和强制登录配置 2026-04-15 15:06:28 +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
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
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
DSYZayn
ffda077746 feat(auth): 将oidc相关功能打包到service中 2026-04-03 23:07:22 +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
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
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
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