郭诣
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
2e0b4a8358
refactor: 增强模型提供程序管理和 UI 组件
...
- 在 PostgresManager 中添加了用于嵌入和重新排序基本 URL 的新列。
- 更新了模型提供程序数据结构,以包含新的端点。
- 重构了模型提供程序服务和路由器中的凭据状态检查。
- 引入了一个可重用的组件,用于跨组件进行模型状态检查。
- 通过调整页面内边距的 CSS 变量,提高了 UI 的响应速度。
- 重构了模型选择器组件,以利用新的模型状态组件。
- 更新了模型配置视图,以处理响应式编辑模型状态。
- 清理了未使用的代码,并改进了模型状态检查中的错误处理。
2026-04-26 19:59:15 +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
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
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
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
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
8a3094cb1e
feat(milvus): 增加 BM25 支持,优化混合检索功能及相关参数配置
2026-04-07 20:39:10 +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
4a98969d0e
fix: 修复包管理的导入问题 #603
2026-04-03 13:09:12 +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
70c61aa53e
feat(agent): 添加流式消息处理功能,支持实时更新智能体状态
2026-04-01 03:17:43 +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
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