|
|
b438af3ba8
|
feat(channel-sdk): 新增完整的渠道SDK工具链
本提交新增了全渠道SDK核心模块:
1. 异步锁、目标解析、动作调度等基础工具
2. 消息动作注册与统一调度系统
3. 测试套件与契约测试框架
4. 完整的目标解析流水线与工具函数
5. 资源依赖注入与生命周期管理
|
2026-05-21 10:29:12 +08:00 |
|
|
|
d52e9b518d
|
feat(channel/runtime): 新增链路追踪与启动运行时工具集
新增trace_ctx实现链路ID上下文管理与日志注入,添加boot.py启动管理器、startup.py启动任务执行器、backoff.py退避策略工具以及trace.py启动链路追踪模块,完善channel运行时基础能力
|
2026-05-21 10:28:46 +08:00 |
|
|
|
8ee9c1425e
|
feat(channel/render): 新增markdown渲染模块
实现了完整的markdown解析与渲染能力,包含IR中间节点定义、markdown解析器以及两种渲染风格(markdown格式与纯文本格式),支持常见markdown语法渲染
|
2026-05-21 10:28:14 +08:00 |
|
|
|
dd1857221c
|
feat(channel/plugins): 新增渠道插件系统完整实现
实现了渠道插件的全生命周期管理能力,包括:
1. 插件清单的加载、解析与存储
2. 依赖校验与拓扑排序安装/卸载
3. 插件发现与安全沙箱执行环境
4. 插件注册中心与目录管理能力
|
2026-05-21 10:27:58 +08:00 |
|
|
|
79c6e6b74f
|
feat(channel/monitoring): 新增完整的频道监控模块
实现了包括事件循环监控、健康检查、状态聚合、诊断心跳、稳定性追踪在内的全套监控能力,提供指标采集、就绪检查、告警推送等功能
|
2026-05-21 10:27:34 +08:00 |
|
|
|
0b19470c70
|
feat(channel/message): 新增消息处理核心模块及相关工具类
本次提交新增了渠道消息处理的完整核心模块,包含以下核心功能:
1. 新增会话围栏类,实现会话并发控制与过期清理
2. 新增媒体清理器,实现过期媒体文件自动清理
3. 新增熔断器组件,实现服务降级与故障隔离
4. 新增消息处理器,完成渠道消息的完整流转处理
5. 新增限流器组件,实现渠道级和账户级流量控制
6. 新增链路追踪模块,集成Langfuse实现调用链路监控
7. 新增指标统计模块,实现消息处理全链路指标采集
8. 新增统一消息模型,封装全渠道消息格式
9. 新增块回复流水线,实现流式回复的合并与去重
10. 新增本地媒体存储模块,实现媒体文件的本地管理
11. 新增回复分发器,实现回复内容的有序发送与延迟处理
12. 完善__init__.py导出所有核心模块与工具类
|
2026-05-21 10:27:16 +08:00 |
|
|
|
a81279cf61
|
feat(channel/hooks): 实现完整的钩子系统模块
新增了完整的钩子系统,包括元数据定义、扫描器、解析器、生命周期注册表和加载器,支持从目录扫描HOOK.md配置、验证依赖和系统兼容性,以及通过沙箱加载钩子脚本,实现了事件驱动的钩子回调机制。
|
2026-05-21 10:26:47 +08:00 |
|
|
|
ecd3c90e80
|
feat(channel/gateway): 新增完整网关通道模块
新增设备身份管理、认证限流、并发通道、Webhook路由、RBAC权限控制、SSE/轮询降级等全套网关通道功能,包含:
1. 设备身份生成与签名验证
2. 设备令牌认证与速率限制
3. 内存+数据库双重设备注册表
4. 并发通道限流管理
5. Webhook安全处理与路由
6. RBAC权限校验系统
7. OpenAI API兼容适配层
8. Tailscale认证支持
9. HTTP轮询降级机制
|
2026-05-21 10:26:33 +08:00 |
|
|
|
c9d0a26f52
|
feat(channel/events): 新增事件总线模块及相关类型定义
实现了完整的频道事件总线系统,包含:
1. 事件主题枚举类,定义了全量可用事件主题
2. 钩子函数到事件主题的映射字典
3. 异步事件总线实现,支持并行/顺序/首结果发布
4. 订阅、取消订阅、启用禁用订阅等管理能力
5. 订阅优先级排序、超时和错误处理机制
6. 对外暴露的统一导出接口
|
2026-05-21 10:25:43 +08:00 |
|
|
|
058513022a
|
feat(channel/doctor): 新增渠道诊断修复工具模块
新增了完整的渠道诊断修复工具,包含数据模型定义与核心执行逻辑:
1. 定义了检查状态、严重性、修复模式等枚举类型
2. 实现了诊断选项、各类检查结果、修复步骤与结果等数据类
3. 提供了ChannelDoctorRunner核心类,支持单渠道/多渠道诊断、单步骤/全量修复
4. 实现了配置规范化、过期配置清理、权限/凭证/连通性检查等完整流程
5. 支持诊断结果序列化为字典格式,以及上下文管理器式的运行器管理
|
2026-05-21 10:25:13 +08:00 |
|
|
|
0dcc370819
|
feat(cron): 实现完整的定时任务调度模块
新增了从调度引擎、任务注册、状态追踪到结果投递的全套cron任务系统,支持cron表达式、一次性任务和周期任务,包含失败告警、任务持久化和运行日志功能
|
2026-05-21 10:24:54 +08:00 |
|
|
|
4962d1f6f8
|
feat(channel/config): 新增完整的配置模块实现
新增了channel目录下的配置相关模块,包含默认配置、配置迁移、配置差异计算、文件加载器、重载计划、重载器以及配置校验功能,完善了配置管理体系
|
2026-05-21 10:24:03 +08:00 |
|
|
|
5d098c3423
|
feat(channel/common): 添加上传附件缓存工具类
新增AttachmentCache缓存管理类和CachedAttachment数据类,实现会话级别的附件缓存管理,支持自动过期清理、本地文件删除逻辑
|
2026-05-21 10:23:27 +08:00 |
|
|
|
79ee930957
|
feat(approval): 新增审批流程核心模块
实现了完整的审批功能链路,包含审批请求投递、模板渲染、回复解析、引擎管理以及原生交互式卡片支持
|
2026-05-21 10:22:45 +08:00 |
|
|
|
90b16ce9b1
|
feat(agents): add channel tool middleware support
新增渠道工具中间件,支持从对话渠道加载并执行对应Agent工具:
1. 新增ChannelToolMiddleware中间件实现工具注入逻辑
2. 扩展BaseContext增加channel_type和channel_tools字段
3. 在内置聊天机器人和深度代理中注册渠道工具中间件
4. 导出中间件到包公共接口
|
2026-05-21 10:19:37 +08:00 |
|
Wenjie Zhang
|
6c35fd732a
|
feat: 优化文明命名,更加清晰
|
2026-05-04 11:36:08 +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
|
04db4357b4
|
fix(config): 修正默认模型为 v2版本
Co-authored-by: Copilot <copilot@github.com>
|
2026-04-27 09:15:18 +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 |
|
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
|
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 |
|