Commit Graph

207 Commits

Author SHA1 Message Date
supreme0597
554c83a5b4 fix(skill): 修复安装技能时配置持久化路径错误及单元测试失败的问题
- 修正 AgentConfigRepository 技能写入路径,确保技能保存至 config_json->context->skills
- 修复 test_install_skill 单元测试的各种 mock 与断言,解决由于接口变更和依赖不匹配导致的失败
2026-05-17 01:58:04 +08:00
supreme0597
e153e86fd9 fix(skill): 修复 install_skill 同步异步混用及数据库连接问题
- 将 install_skill 改为 async def,消除 asyncio.run() 事件循环冲突
- 修复 agent_config_repository 表名及 jsonb 类型转换
- 增加数据库连接池配置,避免高并发耗尽连接
- 修复远程 skill 批量安装列表引用共享 bug
- 修复 slug 冲突 warning 误报(目录名 vs SKILL.md name)
- 新增 UserRepository 支持外部传入 db 会话
- 更新测试适配 async 签名
2026-05-17 01:58:04 +08:00
supreme0597
fadf6a0abe feat(skill): 新增 Agent 会话中安装 Skill 功能
- 新增 install_skill 工具,支持从 Sandbox 路径或 Git 仓库安装 skill
- 支持管理员权限校验(admin/superadmin)
- 安装后自动持久化到 agent config,新对话自动生效
- 动态激活当前会话,无需重启
- 新增 AgentConfigRepository.add_skills_to_config_json() 原子 JSONB 操作
- 新增 21 个单元测试,覆盖权限、Schema、安装流程等场景
2026-05-17 01:58:04 +08:00
Wenjie Zhang
bd73d59795 feat(doc): 优化 rapidocr 2026-05-17 01:58:04 +08:00
Wenjie Zhang
0e174a3ba8 feat(doc): 更新 MinerU 解析器参数,修改 Docker 配置,优化文档说明 2026-05-17 01:58:04 +08:00
Wenjie Zhang
87977bb927 Merge branch 'main' of https://github.com/xerrors/Yuxi 2026-05-17 01:23:51 +08:00
Wenjie Zhang
f29ad639e8 fix: 修复分块硬切句末标点归属 2026-05-17 01:18:03 +08:00
Wenjie Zhang
bac93a5d04 chore(release): 发布 0.6.2.beta 2026-05-14 19:20:02 +08:00
supreme0597
44d1b20383 feat(skills): 优化远程 Skill 批量安装,单次克隆完成多 skill 安装
新增 install_remote_skills_batch() 函数,利用 npx skills add 原生多 --skill 支持,
将安装 N 个 skill 的仓库克隆次数从 2N 降至 1。

后端:
- remote_skill_install_service.py 新增批处理 + _find_skill_dir()
- skill_router.py 新增 POST /remote/install-batch 端点 (admin 权限)
- 非法 skill 名不阻塞其他合法 skill,结果按请求顺序返回
- CLI 部分失败时仍导入已安装的 skill
- import 失败后 rollback session,不影响后续导入

前端:
- skill_api.js 新增 installRemoteSkillsBatch()
- SkillCardList.vue 改为单次批处理调用

测试:
- 4 个单元测试覆盖正常安装/缺失跳过/部分失败/非法名场景

文档:
- docs/develop-guides/roadmap.md 更新开发记录
- docs/vibe/2026-05-14-remote-skill-batch-install-plan.md 方案文档(含设计决策)
2026-05-14 17:15:38 +08:00
Wenjie Zhang
77ed3b4a4d
Merge pull request #692 from finch04/main
fix(system): 强制以 UTF-8 编码读取系统日志文件,忽略编码错误
2026-05-14 13:24:07 +08:00
Wenjie Zhang
33a71068ed feat(auth): 下放扩展管理权限
允许管理员进入扩展管理并管理 Skills,补充权限测试和 PR 检查说明,保持前后端权限口径一致。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-14 13:13:41 +08:00
付申祺
c6c6527029 fix(system): 强制以 UTF-8 编码读取系统日志文件,忽略编码错误 2026-05-14 13:04:17 +08:00
Wenjie Zhang
6733710e18 feat(agent): 默认启用可访问知识库
未显式配置知识库时默认使用当前用户可访问的全部知识库,保留显式空列表表示不启用知识库的语义。
2026-05-12 13:40:44 +08:00
Wenjie Zhang
bdf983f1e0 fix(parser): 修复 Docling 图片异常占位回填
保留上传失败的图片占位说明,并补充混合图片类型回填顺序的回归测试,避免占位符错位或异常路径掩盖原始错误。

Taskr: 2026-05-12-fix-docling-image-replacement-regression
2026-05-12 10:17:44 +08:00
Aw
56166abff6 fix(parser): 修复 Docling 解析文档时图片错位问题
遍历所有图片生成等长替换列表,非 data URI 图片填空字符串,
确保占位符替换严格 1:1,避免混合图片类型时顺序错乱。
2026-05-11 21:55:51 +08:00
Cao Hanzhe
29c9396b54 fix: 修复知识库检索配置多次保存卡死的问题
知识库检索配置保存接口(update_knowledge_base_query_params)在持有
metadata_lock 的同时调用了 _save_metadata(),该方法会遍历所有知识库
和所有文件并逐条执行数据库操作。当知识库数据量较大时,锁持有时间过长,
导致多次快速保存请求排队阻塞,表现为前端卡死。

修复方案:将全量 _save_metadata() 替换为针对性的单条记录更新,仅更新
当前知识库的 query_params 字段,大幅减少锁持有时间和数据库操作次数。

Fixes #679
2026-05-08 22:58:55 +08:00
Wenjie Zhang
6ef0e40df5 chore(release): bump version to 0.6.2.dev1 2026-05-07 09:52:51 +08:00
Wenjie Zhang
81b5d1eb96 feat: 使用 json_repair 替代 json 处理 LLM 评判结果,增强错误处理能力 2026-05-07 09:49:01 +08:00
Wenjie Zhang
7b664e35d0 feat: 添加默认查询参数提取功能,优化知识库检索配置加载 2026-05-06 23:09:45 +08:00
Wenjie Zhang
ab513e2619 feat: 优化评估基准生成,支持仅使用 commonrag/Milvus 知识库,调整参数配置 2026-05-06 22:12:09 +08:00
Wenjie Zhang
179b048f07 refactor(eval): 重构评估指标和基准生成
- 引入了一个新的指标计算模块,用于检索和答案评估。
-通过整合基准生成和评估指标来简化评估服务。
-为新指标和基准生成功能添加了单元测试。
- 更新了前端组件,以利用新的图标,并改进了评估基准的样式。
-将与评估相关的逻辑整合为专门的“知识/评估”结构,以更好地组织。
2026-05-06 18:04:31 +08:00
Wenjie Zhang
0890e504d8 feat: 添加文件状态标记功能,处理缺失 markdown_file 的情况 2026-05-06 16:59:26 +08:00
Wenjie Zhang
1437a6be93 refactor(mention): 优化 Agent 输入框文件 mention,支持未启动对话的时候 mention 工作区的文件 2026-05-06 15:47:01 +08:00
Wenjie Zhang
6c35fd732a feat: 优化文明命名,更加清晰 2026-05-04 11:36:08 +08:00
Wenjie Zhang
7fbefc0963
Merge branch 'main' into feat/workspace 2026-05-04 10:51:41 +08:00
Wenjie Zhang
1e8b20e30b fix: 修复身份认证绕过问题
Refs GHSA-6959-99pq-c56x
2026-05-04 09:33:47 +08:00
Wenjie Zhang
a450be57e3 fix(workspace): 修改文件上传逻辑,新增上传工具函数,支持文件大小限制和错误处理 2026-05-04 08:24:13 +08:00
Wenjie Zhang
cbd265fea8 feat(workspace): 增强工作区功能,处理符号链接和非 UTF-8 文本文件的预览支持 2026-05-04 08:18:37 +08:00
Wenjie Zhang
596eeeaaac feat(workspace): 新增工作区文件内容编辑功能,支持 Markdown 和 TXT 文件的保存与预览 2026-05-04 08:18:37 +08:00
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
郭诣
75b5f36f09 fix(knowledge): 修复 general parser 分块超限导致 LightRAG 索引失败
naive_merge 不保证输出 chunk 在 token 上限内,当单行内容超过
chunk_token_num 时会产生超大 chunk,导致 LightRAG 报错
"Chunk token length 3140 exceeds chunk_token_size 1200"。

- nlp.py: 新增 hard_split_by_token_limit 公共硬切分函数
- general.py: 新增 _ensure_chunk_token_limit 兜底保护
- laws.py: 删除本地重复函数,改用 nlp 版本(DRY)
2026-05-01 22:31:58 +08:00
Wenjie Zhang
bba9bc974f feat: 添加 separator 解析器及相关配置,支持严格分隔功能 Question: 知识库对excel切分无法按行切分
Fixes #664
2026-04-28 20:30:02 +08:00
Wenjie Zhang
f4c56499b9 fix: 中断任务不再加入内存 Question: 启动加载中断的知识库任务状态
Fixes #656
2026-04-27 18:19:39 +08:00
Wenjie Zhang
ebf0ed9975
Merge pull request #660 from supreme0597/fix/model-cache-import
Fix/model cache import
2026-04-27 18:08:47 +08:00
Wenjie Zhang
04db4357b4 fix(config): 修正默认模型为 v2版本
Co-authored-by: Copilot <copilot@github.com>
2026-04-27 09:15:18 +08:00
supreme0597
e3307b4592 fix(model): 修复刷新模型缓存接口 NameError: model_cache is not defined
refresh_model_cache 函数中引用了 model_cache 但未导入,
该导入仅在 _refresh_model_cache 内部作用域中,外部无法访问。
添加局部 import 解决此问题。
2026-04-27 06:45:34 +08:00
supreme0597
775ac129dc fix(knowledge): 修复知识库测试问题生成报错 Unknown model provider
select_model() 无参调用走了 V1 旧逻辑,无法正确解析 V2 格式的
default_model 配置(如 supreme_newapi:openai)。传入
config.default_model 作为 model_spec 参数,使模型选择走 V2 路径。

影响范围:知识库测试问题生成、知识库描述生成、思维导图生成
2026-04-27 06:36:12 +08:00
Wenjie Zhang
9f1ccf9093 feat(release): 更新版本号至 0.6.2 2026-04-27 02:27:28 +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
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