Commit Graph

317 Commits

Author SHA1 Message Date
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
97abed8f96 feat(model): 更新 DeepSeek 模型版本至 V4-Flash,调整相关文档和配置
Co-authored-by: Copilot <copilot@github.com>
2026-04-26 21:04:57 +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
2920cbeec3 Merge branch 'main' into feat/model-config 2026-04-26 18:54:48 +08:00
Wenjie Zhang
9e1cf9e029 fix(knowledge): 修复 index_file 未传递用户自定义入参 params 导致入库参数不生效的 bug 2026-04-26 18:54:45 +08:00
Wenjie Zhang
e3d312059a feat(model): 重构嵌入模型选择器,新增 Rerank 模型选择器,优化模型提供者管理 2026-04-26 18:51:38 +08:00
Wenjie Zhang
f8acc48184 refactor:移除后端和前端的自定义提供程序管理
- 删除了 system_router.py 中用于添加、更新和删除自定义提供程序的端点。
- 从 system_api.js 中移除了自定义提供程序 API 函数。
- 更新了 ModelProvidersComponent.vue,以反映自定义提供程序管理的移除,包括 UI 更改和迁移到新模型配置的提示。
- 清理了 ModelSelectorComponent.vue,移除了旧模型处理和不必要的依赖项。

Co-authored-by: Copilot <copilot@github.com>
2026-04-26 16:24:54 +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
743b5b03c4
Merge pull request #652 from Flying-Henanese/feat/add-semantic-chunking
feat: 增加基于自然语义的文本切分功能
2026-04-24 19:41:48 +08:00
Wenjie Zhang
be39d118fd chore(release): bump version to 0.6.1
- 单一版本来源:__version__ 改为从 pyproject.toml 动态读取
- Docker Compose 镜像标签环境变量化 (${YUXI_VERSION:-0.6.1})
- info.template.yaml 版权信息支持版本号动态注入
- 测试断言改为动态比较,不再硬编码版本号
- 新增 bump-version.sh 发版脚本,一键同步所有版本位置
- 更新 changelog.md,记录 v0.6.1 变更内容
2026-04-24 19:32:16 +08:00
zhou shujian
2b48190b25 chore: 标准化NLTK数据卷并清理测试文件
- 将docker-compose.yml中的NLTK数据挂载从主机路径改为命名卷,确保跨平台一致性
- 移除测试中生成临时文件的副作用,改为控制台输出切分结果
- 修复语义切分工具中NLTK资源检查逻辑,避免重复下载并提供明确错误提示
- 优化语义切分函数签名,支持embed_fn为None时的退化处理
2026-04-24 16:18:01 +08:00
zhou shujian
32fef0893c fix(knowledge/chunking): 修复列表和数学块切分时丢失上下文的问题
注释掉列表和数学块前的强制切分调用,避免在遇到有序列表、无序列表或数学块时过早中断当前内容块。这确保了列表项和数学公式能够与其前面的标题和段落保持在同一语义单元中,从而保留完整的上下文信息,提高后续检索的准确性。
2026-04-23 11:22:17 +08:00
ZHOU Shujian
8ebfcd8dd5 chore: revert unintentional auto-formatting changes
Reverts formatting changes in files that were unrelated to semantic chunking
to match upstream project style.
2026-04-22 21:21:28 +08:00
zhou shujian
edf66bbe38 docs: 为知识分块工具函数添加详细注释
- 为 html_table_to_key_value 函数添加处理逻辑说明,解释如何应对过长表格的切分问题
- 为 infer_heading_level 函数添加层级推断规则说明,包括数字序号和中文序号的处理
- 为 extract_table_block 函数添加表格提取算法的详细步骤说明
- 为 split_text_by_length_and_newline 函数添加分块逻辑的详细注释,解释段落和行的处理流程
- 为语义分块相关函数添加中文文档,包括句子分割、聚类算法和整体流程说明
- 更新测试用例,使用更清晰的测试文档并添加结果保存功能
2026-04-22 17:14:10 +08:00
ZHOU Shujian
a2ed3d9a10 test(semantic_chunking): replace mock embedding with real model
Use a real embedding model from SiliconFlow for more realistic testing.
Update test assertions to validate LaTeX formula preservation and semantic clustering of distinct chapters.
2026-04-22 16:48:11 +08:00
ZHOU Shujian
6934e19030 feat(chunking): 新增语义分块预设,支持基于嵌入和聚类的智能切分
- 添加语义分块预设选项,使用嵌入模型和聚类算法进行语义切分
- 实现标题路径增强、表格转换和图像标题处理等语义增强功能
- 新增NLTK相关依赖并持久化数据包,避免重复下载
- 添加完整的单元测试验证语义切分逻辑
2026-04-22 16:48:11 +08: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
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
Wenjie Zhang
3b61571bd8 feat(web): UI小幅调整,多处细节优化 2026-03-24 11:10:39 +08:00
Wenjie Zhang
53e0ed37f6 feat: 添加生成对话标题功能,支持根据内容自动生成简短标题,使用 fast_model 2026-03-24 11:09:55 +08:00
Wenjie Zhang
74229c05a4 feat: 添加API密钥管理功能,可通过 API_KEY 代替 Token 访问接口
- 引入了用于API密钥管理的新路由,包含列出、创建、更新、删除和重新生成API密钥的端点。
- 在后端实现了API密钥生成逻辑和验证。
- 增强了认证中间件以支持API密钥认证以及JWT认证。
- 创建了用于在前端管理API密钥的新Vue组件,包括用于创建、显示和删除密钥的用户界面。
2026-03-24 11:09:55 +08:00
Wenjie Zhang
d06c7000ea feat: 添加内置技能支持,包括 reporter 技能的实现和初始化逻辑,移除内置的 reporter 的 Agent 2026-03-24 11:09:53 +08:00
Wenjie Zhang
73bb5ae6b9 refactor: typo 将 gen_tool_info 函数重命名为 get_tool_info 2026-03-24 11:09:53 +08:00
Wenjie Zhang
041aa9a639 chore: 添加加载完成提示 2026-03-24 11:09:52 +08:00
Wenjie Zhang
35ccfbc82d test: 修整测试文件 2026-03-24 11:09:52 +08:00
Wenjie Zhang
78f2ae2a03 fix: 移除_parser_方法中的source_type参数,并更新相关测试用例 2026-03-24 11:09:51 +08:00
Wenjie Zhang
8804c7446c refactor: 移除元数据文件,改为从智能体类属性加载元数据,并更新相关引用 2026-03-24 11:09:51 +08:00
Wenjie Zhang
1bc6285fb1 refactor: 优化代码结构 将 yuxi.agents.common 移动到 yuxi.agents 2026-03-24 11:09:51 +08:00
Your Name
fc6d900bf2 fix: 修复ask_user_question接受json格式的字符串
- 支持questions参数接受JSON字符串并自动解析
- 支持options参数接受JSON字符串并自动解析
- 增加解析失败的错误处理和日志记录
2026-03-24 11:09:50 +08:00
Wenjie Zhang
32968259e1 refactor(web): 重构代理配置侧边栏和输入组件
- 更新了 AgentConfigSidebar.vue 以增强配置管理界面,包括添加用于创建新配置的模态框和改进只读状态的处理。
- 重构了 AgentInputArea.vue 以简化操作按钮并提高响应性。
- 简化了 AgentView.vue 中选择代理配置的下拉菜单,将其替换为切换侧边栏的按钮。
- 增强了 agent.js 中数值的处理,确保正确的类型转换。
- 清理了多个组件中的 CSS 样式,以获得更好的一致性和响应性。
- 删除了不必要的代码并提高了各种组件的可读性。
2026-03-24 11:09:50 +08:00
Wenjie Zhang
69f23ae66e fix(AgentConfigSidebar): 更新数字输入条件以支持整数和浮点数类型 2026-03-24 11:09:50 +08:00
Wenjie Zhang
3babd9be54 feat(chatbot): 添加子智能体支持和摘要中间件 2026-03-24 11:09:49 +08:00
Wenjie Zhang
403608fb7d refactor(deep-agent): 统一使用 get_subagents_from_names
将 DeepAgent 旧的两步调用(get_subagent_specs + resolve_subagent_tools)
替换为统一的 get_subagents_from_names,与 ChatbotAgent 保持一致。
2026-03-24 11:09:49 +08:00
Wenjie Zhang
6f759af54c feat(chatbot): ChatbotAgent 启用 SubAgentMiddleware
集成 SubAgentMiddleware 到 ChatbotAgent,使子智能体配置生效。
2026-03-24 11:09:49 +08:00
Wenjie Zhang
89aed450ab refactor(subagents): 重构服务层,统一工具解析与过滤逻辑
- 合并 normalize/filter 函数为 filter_specs_by_names,移除冗余类型检查
- exists_name 改用 SELECT COUNT(*) 仅查计数
- update 改用字典迭代批量赋值,删除未使用的 upsert
- 新增 list_all_specs 到 repository 层
- 修复 get_subagents_from_names 空列表返回 tuple 的 bug
- 更新相关测试
2026-03-24 11:09:48 +08:00
Wenjie Zhang
446eb652bb fix(chat): 修复 context 未传递导致 subagents 配置不生效
stream_agent_resume 中 graph.get_graph() 调用时未传入 context,
导致 context.subagents 配置无法传递给 SubAgentMiddleware。
2026-03-24 11:09:48 +08:00
Wenjie Zhang
fb7fd6fae5 chore: 移除多余的 profile,并调整 MINIO 的容器名 2026-03-24 11:09:48 +08:00
Wenjie Zhang
2ed4f08cf7 chore: 更新生产部署的 compose 文件 2026-03-24 11:09:47 +08:00
Wenjie Zhang
d62328d73b chore: Bump project version to 0.6.0-dev across backend, web, and Docker configurations 2026-03-24 11:09:47 +08:00
Wenjie Zhang
6a30936a49 feat: 引入 LITE_MODE 以有条件地启用/禁用知识图谱和向量数据库组件,更新 Docker Compose、后端路由器和前端 UI。 2026-03-24 11:09:47 +08:00
Wenjie Zhang
1033b63450 refactor: 优化代码格式 2026-03-24 11:09:46 +08:00
Wenjie Zhang
3c75b0acb3 refactor: 重构智能体配置管理,移除不必要的文件操作和API接口 2026-03-24 11:09:46 +08:00
Wenjie Zhang
1ae2974fad refactor(ui): 优化系统提示词编辑功能,添加弹窗支持和相关逻辑 2026-03-24 11:09:45 +08:00
Wenjie Zhang
29ebeedd4e refactor(parser): 重构解析器为统一入口
- 移除从未使用了 url 解析模块
- parser 的入口统一,职责更加独立
- 优化 MINIO 的上传逻辑
2026-03-24 11:09:45 +08:00
Wenjie Zhang
d655cbe640 feat: 添加subagents管理功能
- 实现了应用程序启动期间的理subagents初始化。
- 为subagents的 CRUD 操作和存储库方法创建了单元测试。
- 开发了用于列出、检索、创建、更新和删除子代理的子代理 API 端点。
- 添加了用于在前端管理子代理的 SubAgentsComponent,包括搜索和详细信息视图。
2026-03-24 11:09:44 +08:00
Wenjie Zhang
8528dae331 refactor: 移除 operation 中没有使用到的 repo #567 2026-03-24 11:09:44 +08:00
Wenjie Zhang
095f0db8e6 refactor: 更新 MinIO 存储逻辑,优化文件路径和桶名称(不兼容) 2026-03-24 11:09:43 +08:00
Wenjie Zhang
fe2153ad76 refactor: 重构解析模块;结构更加清晰,代码解耦 2026-03-24 11:09:43 +08:00
Wenjie Zhang
c7b2bd8d71 foramt: 规范化代码 2026-03-24 11:09:39 +08:00
Wenjie Zhang
90bfd20d8d refactor: 重构:将项目重命名为 Yuxi 并更新模块路径
- 在所有文档和配置中将品牌从 "Yuxi-Know" 重命名为 "Yuxi"
- 将 Python 导入路径从 `src.*` 更新为 `yuxi.*` 以保持后端包的一致性
- 将 Web 包名称从 `yuxi-know-web` 更新为 `yuxi-web`

此更改与后端代码迁移至 backend/ 目录保持一致。
2026-03-24 11:08:31 +08:00
Wenjie Zhang
410dd47c14 refactor: 将后端代码迁移至 backend 目录
- 将 server/, src/, scripts/, test/ 等目录移动到 backend/ 目录下
- 使用 git rename 保留文件历史记录
- 更新 docker-compose.yml 和 api.Dockerfile 配置

WIP: 项目结构重构进行中
2026-03-24 11:08:12 +08:00