Commit Graph

335 Commits

Author SHA1 Message Date
6f730dca06 refactor(channel-repo): 清理废弃仓储与冗余方法
1. 删除未使用的 ChannelReportRepository 及其所有引用
2. 移除 route_binding_repository 中的 list_enabled_by_account 方法
3. 精简 channel_account_repository 中的冗余字段与 update_last_message_at 方法
4. 简化 channel_outbox_repository 的锁相关与 update 参数
5. 精简 channel_idempotency_repository 的冗余查询方法与字段
6. 优化 content_review_record_repository 的查询与清理逻辑
2026-07-08 03:57:28 +08:00
c7eb196a7e chore: 批量完成多模块迭代优化与功能完善
本次提交涵盖了近百处代码优化与功能补全,包括:
1. 完善配置与数据模型:新增expired_at配对记录字段、路由绑定乐观锁版本控制、会话路由信息追踪字段
2. 优化业务流程:添加幂等记录操作人审计、会话合并领域服务文档更新、媒体处理异步化改造
3. 新增功能能力:健康检查时间更新、会话路由信息更新接口、内容审核/幂等记录清理定时任务
4. 修复与简化:移除废弃的max_message_length属性、修复微信iLink适配器配置读取路径、简化配对过期扫描逻辑
5. 代码规范优化:统一敏感词检测工具导入、完善事务上下文处理注释、调整wechat_woc入站适配器sender回退逻辑
2026-07-08 03:57:05 +08:00
17abcd4502 refactor(wechat_woc): 优化WocBridgeClient HTTP请求逻辑,减少凭证查询次数并调整重试策略
- 新增_resolve_endpoint方法一次性解析bridge URL与鉴权token,避免重复调用_get_credentials
- 重构_execute_http,替换原有的URL构造与token获取逻辑,统一通过新方法处理
- 调整重试策略:仅对瞬时网络错误做1次快速重试,移除超时与5xx错误的重试,避免双重重试放大延迟
- 更新相关注释与常量命名,对齐现有逻辑说明
2026-07-08 00:18:55 +08:00
eb80382da0 feat(wechat-woc): 新增SSE流式推送支持,优化日志与幂等性
1.  新增WeChatWocStreamConnectorAdapter,实现SSE长连接接收消息,支持热更新配置
2.  升级wechat_woc插件依赖bridge版本至1.5.0,开启both传输模式
3.  新增SSE相关常量与配置项,完善woc_bridge_client SSE实现
4.  重构RouteStage,复用会话缓存避免重复查询
5.  新增入站/出站全链路日志打点,优化异常场景日志输出
6.  实现入站幂等记录状态回写机制,独立事务避免死锁
7.  新增TransportManager重启恢复逻辑,自动恢复在线账号传输任务
8.  修复inbound_pipeline移除冗余persistence_port参数,注入idempotency仓储
9.  新增InboundContext.idempotency_record_id字段,传递幂等记录主键
2026-07-08 00:17:39 +08:00
f9584fe9ca refactor(channel): 完成多批次bug修复与功能优化
本次提交覆盖了多个生产环境问题修复与功能增强:
1. 修复WeChatWoc拉取适配器游标回传死循环(H-7):将游标offset改为累计偏移,避免重复拉取导致死循环
2. 修复base_worker重启计数逻辑(C-2):区分手动启动与恢复重启,max_restart_attempts阈值正确生效
3. 修复auth_expired死锁问题:改用异步调度停止账号,避免与事件总线形成环路死锁
4. 修复outbox持久化降级路径BUG:极端竞态下正确赋值outbox_entry,避免deliver_stage抛错
5. 修复幂等校验超时死锁问题(C-3):支持超时清理卡死的in_progress幂等记录,从环境变量配置超时阈值
6. 修复stream_chunk_stage异步资源释放:替换废弃的asynccontextlib.aclosing为标准库aclosing
7. 修复异常静默吞没问题:心跳任务、连接关闭异常不再静默忽略,改为记录warn日志
8. 新增多组单元测试覆盖上述修复,同时完善了outbox恢复扫描、入站幂等校验等模块的测试覆盖
9. 优化异常信息格式与代码可读性,替换原生ValueError为业务自定义ValidationError
2026-07-07 20:14:15 +08:00
1c6bed1403 feat: 完成微信公众号插件全链路修复与基础设施增强
本次提交包含多项核心改进:
1. 新增微信公众号插件拉取传输模式配置,完善manifest与manifest加载逻辑
2. 新增运行态状态机与幂等冲突错误体系,补充错误映射与领域错误导出
3. 优化出站与入站上下文,新增幂等键、流式中断标记等字段
4. 完善发件箱仓储与模型,新增失败条目查询、投递原子语义字段
5. 修复签名验证阶段异常捕获逻辑,防御性处理内置NotImplementedError
6. 新增出站预算释放方法,完善机器人循环预算管控
7. 优化出站管道格式阶段,新增消息长度校验逻辑
8. 完善出站打字指示器阶段,新增重复启动防御与状态同步
9. 重构出站标记失败阶段,按源状态分支处理状态转换
10. 新增入站幂等过滤阶段,修复入站路由阶段空指针问题
11. 优化出站恢复扫描器,修复状态机调用与聚合根重建逻辑
12. 完善微信公众号适配器,新增类型校验与异常包装
13. 修复数据库事务回滚逻辑,简化不必要的显式回滚操作
2026-07-07 18:54:33 +08:00
682d851ff5 feat(storage): add multi-channel gateway storage support
1. 新增独立的渠道账户模型文件,重构基类导入逻辑
2. 在Postgres管理器中集成渠道表元数据,新增渠道Schema初始化与升级方法
3. 为用户表、会话表、消息表新增渠道关联扩展字段
4. 格式化优化现有模型文件的代码排版与注释
2026-07-07 16:23:08 +08:00
ba2b27961f style(trace_context): 格式化代码行,简化变量定义语句
调整trace_context.py里的trace id上下文变量定义格式,合并多行代码为一行提升可读性
2026-07-07 16:21:58 +08:00
b0e035fd2e refactor(repositories): 统一格式化仓库方法签名并新增路由绑定仓储
1.  统一所有仓库类的方法换行格式,将多行参数折叠为单行
2.  新增ChannelRouteBindingRepository仓储实现,用于渠道路由绑定规则的数据访问封装
2026-07-07 16:21:32 +08:00
56cffed4e0 refactor: 优化代码格式与修复Snowflake schema配置问题
1. 合并多行异常抛出为单行简化代码
2. 修正Snowflake驱动配置中schema字段名冲突,使用schema_name作为内部字段并通过alias保留schema对外键名
3. 调整异步任务调用的换行格式提升可读性
4. 为Pydantic模型添加populate_by_name配置支持按名称填充字段
2026-07-07 16:20:58 +08:00
53e067aa4b feat: 多渠道网关核心功能迭代
包含以下变更:
1. 重构微信WOC账户模型,移除固定DEFAULT_ACCOUNT
2. 新增路由绑定管理、目录搜索导出能力
3. 扩展消息查询与出站管理过滤条件
4. 新增SSE事件广播、敏感字段/配置作用域注册表
5. 新增审计日志与配对过期定时任务
6. 优化会话处理与参数校验逻辑
7. 修复sender_id校验与outbox序列化问题
2026-07-07 16:20:40 +08:00
f28b77b1c1 feat(wechat_woc): 新增微信 WechatOnCloud 渠道插件
实现完整的微信 WechatOnCloud 渠道对接插件,包含适配器、生命周期管理、凭证处理等核心模块,支持扫码登录、消息收发、白名单管理等功能
2026-07-07 02:49:53 +08:00
742299cb07 chore: 批量清理报告相关代码并完成多项功能迭代
本次提交包含多维度代码优化与功能增强:
1.  移除报告模块冗余导入与枚举,清理报表相关代码
2.  新增扫码登录支持方法与飞书适配器适配
3.  完善异常日志与健康检查信息
4.  扩展目录、配对管理、能力查询等接口
5.  优化出站管道与事务提交后钩子逻辑
6.  修复飞书消息解析与响应空值问题
7.  重构配置更新与服务账号创建逻辑
8.  统一传输错误分类契约与错误基类扩展
2026-07-06 20:49:35 +08:00
8eead29de0 refactor: 批量清理冗余空行,优化部分枚举使用方式
1.  移除所有适配器文件中多余的空导入行
2.  调整ValidationError继承,移除不必要的ValueError继承
3.  修正多处ChannelType使用方式,从.value改为直接使用枚举实例
4.  优化飞书插件部分硬编码渠道类型为枚举实例
5.  更新wechat_ilink插件清单与适配器配置
6.  新增飞书目录适配器缓存清理支持判断与iLink生命周期适配器凭据轮换支持判断
7.  优化配置处理器历史查询逻辑,区分键不存在与无历史记录场景
2026-07-04 00:14:56 +08:00
29a45916ff refactor(channel-repo): 批量优化渠道仓储层代码,新增两个仓储实现
1. 新增ChannelReportRepository与ChannelContentReviewRecordRepository两个仓储类
2. 重构ChannelAccountRepository新增service_user_uid字段支持
3. 将channel_status_history参数类型从list改为tuple并更新注释
4. 新增RepositoryError异常并完善仓储层依赖边界说明
5. 重构BaseRepository的hard_delete_before方法参数与count_undeleted_by_fields异常处理
6. 优化多个仓储的查询方法:参数重命名、移除冗余方法、新增for_update参数、完善时间过滤逻辑
7. 更新仓储层导出与聚合类Repositories
2026-07-03 19:18:57 +08:00
1965b9f742 refactor(external_systems): 优化时间参数处理与新增异常能力
1. 将工具、webhook的时间DTO字段从字符串改为datetime类型
2. 移除工具服务中的手动ISO时间解析逻辑
3. 新增CapabilityNotSupportedError异常与get_integration_or_raise方法
4. 格式化代码行内表达式简化写法
2026-07-03 19:18:32 +08:00
00092c818e chore: 批量代码优化与规范完善
本次提交包含多项代码优化与规范修正:
1. 文档与注释优化:修正注释术语、补充注解与FR编号
2. 代码格式调整:统一空格、换行与缩进规范
3. 类型与接口完善:补充__all__导出、修正返回类型注解
4. 错误处理增强:新增领域错误类与校验逻辑
5. 依赖与导入调整:修复路径引用、统一时区导入
6. 协议与契约更新:完善接口文档与一致性注解
2026-07-03 19:18:13 +08:00
0d067d61d3 chore: 批量更新契约与实现,修复多处细节问题
本次提交包含多类代码优化与修复:
1. 重命名适配器协议类:WebhookTestable→WebhookTestAdapter、AttachmentUploadable→AttachmentUploadAdapter,并同步更新所有引用
2. 为飞书/企业微信插件添加凭证克隆能力开关配置
3. 修复飞书入站适配器URL解析错误,使用hostname替代host属性
4. 新增批量发送消息DTO与已读状态DTO
5. 新增插件目录列表接口与插件能力校验规则
6. 修复权限阶段配置,添加analytics权限映射
7. 优化健康检查、限流模块的环境变量配置支持
8. 修复配对过期扫描器参数名不匹配问题
9. 优化日志调用、文档注释与代码可读性
10. 移除废弃的AuditExportTask聚合根与相关导入
2026-07-02 18:27:06 +08:00
b7d15601a6 feat(channels): 新增渠道仓储层完整实现
本提交新增了完整的渠道域仓储层实现:
1.  新增基础仓储基类,提供软删除、分页、LIKE转义等通用能力
2.  实现9个业务仓储类,覆盖渠道会话、消息、身份、审计日志等全业务场景
3.  提供仓储聚合类与工厂函数,支持共享数据库会话的事务一致性
4.  严格遵循领域分层设计,不跨限界上下文耦合
2026-07-02 03:24:17 +08:00
b88c0ae29e feat(channels): 批量新增多渠道网关限界上下文基础代码与契约
新增完整的 channels 限界上下文模块,包含契约层、领域核心层、应用服务、管道编排、插件体系、基础设施组合根等全层级代码,新增飞书与微信 iLink 渠道插件基础结构,补充各类 DTO、端口协议与领域服务实现。
2026-07-02 03:22:12 +08:00
2c190b2a5c refactor(utils): 统一敏感字段脱敏逻辑,新增trace_id上下文工具
1.  新增请求级trace_id上下文共享模块,通过ContextVar存储trace_id供跨层使用
2.  重构gRPC和SOAP执行器的脱敏逻辑,统一使用crypto模块的敏感头集合
3.  扩展crypto模块的敏感字段匹配规则,新增全量遮蔽的强敏感字段类型
4.  新增mask_full和mask_partial两种脱敏模式,完善脱敏工具链
5.  定义SENSITIVE_HTTP_HEADERS作为HTTP敏感头的单一事实源
2026-07-01 19:48:25 +08:00
23a0022d18 feat(external_systems): add graceful resource cleanup on app shutdown
新增外部系统模块的优雅关停逻辑,在应用关闭时释放所有连接池资源和适配器实例缓存,确保httpx、gRPC等连接能够正常发送FIN包完成关闭流程,而非依赖操作系统强制回收文件描述符。
2026-06-25 16:56:19 +08:00
67d42fc246 refactor(scheduler/exceptions): 完善异常基类与子类的错误码和序列化能力
1. 为SchedulerError基类新增error_code类变量、trace_id参数和to_dict序列化方法
2. 为所有异常子类补充对应的业务错误码
3. 优化异常的字符串展示格式,增加error_code前缀
2026-06-24 21:52:02 +08:00
1003b842e1 refactor(exceptions): 统一异常体系并替换零散异常抛出
1. 新增FrameworkError作为框架技术异常基类,统一处理非业务校验类错误
2. 为所有异常类添加error_code和trace_id支持,完善异常序列化能力
3. 将多处原生异常、RuntimeError替换为标准领域/框架异常
4. 优化WSDL解析逻辑,添加详细的警告日志便于排查问题
2026-06-24 21:51:44 +08:00
2a401450cb refactor(scheduler): 整理代码格式与导入,新增调度器配置与handler注册框架
本次提交包含多类改进:
1.  清理冗余空行、修复导入格式与类型检查占位
2.  新增external_systems与scheduler上下文的handler注册框架
3.  补全调度器相关配置项与环境变量覆盖逻辑
4.  新增配置校验与敏感字段脱敏逻辑
5.  简化协议方法声明格式
2026-06-22 21:22:07 +08:00
fa519d12b9 refactor(utils/datetime): rewrite utc datetime formatting logic
明确 naive 时区 datetime 的处理逻辑,补充和数据库存储约定的注释,将原逻辑拆分为显式的 naive/aware 分支处理,保持原有功能不变
2026-06-22 21:20:35 +08:00
077de8e6d6 feat(agent-toolkit): add web search and crawl built-in toolkits
实现了完整的网页搜索与抓取内置工具集:
1. 新增搜索工具链:支持SearXNG与Tavily多Provider降级、滑动窗口限流、统一结果格式
2. 新增网页抓取工具:单页抓取、站点递归抓取、内容入库知识库功能
3. 完善安全防护:SSRF校验、robots.txt合规、请求限流
4. 自动注册工具到系统注册表,无需额外配置即可使用
2026-06-22 21:20:02 +08:00
6498af03e3 feat(scheduler): 完整实现定时任务调度限界上下文基础架构
本次提交完成了定时任务调度限界上下文的全量基础架构搭建,包括:
1.  基于六边形架构的完整分层(core/use_cases/framework/adapters/infrastructure)
2.  任务调度核心领域模型、端口契约与校验工具
3.  持久化适配器层与SQLAlchemy仓储实现
4.  调度运行时核心组件(handler注册表、执行引擎)
5.  内置维护型任务handler(日志清理、幂等记录清理)
6.  全局异常处理器与PostgreSQL表结构适配
7.  ARQ worker调度任务集成与启动装配逻辑
2026-06-22 20:07:20 +08:00
825a5e9769 feat: 新增外部系统工具加载能力,补充数据库初始化和异常处理
1. 在agent资源解析中新增从数据库加载外部工具的逻辑
2. 新增全局外部适配器注册和数据库外部schema初始化
3. 添加外部系统异常统一处理中间件
4. 在运行时工具解析中追加外部系统工具加载
2026-06-20 22:17:20 +08:00
74709ba2d3 feat: 完成外部系统限界上下文核心代码实现
新增六边形架构核心代码包,包含:
1. 协议适配器层:HTTP/SMTP/IMAP/SSH/GRPC等多协议适配器实现
2. 认证插件体系:基础认证、API密钥、HMAC等多类型认证插件
3. 执行编排框架:工具执行器、上下文构建、运行时治理组件
4. 用例端口与DTO:定义领域服务端口与数据传输对象
5. 厂商集成包框架:支持第三方系统集成扩展
6. 基础设施装配层:实现依赖注入与服务装配

所有代码遵循六边形架构设计原则,实现端口与适配器解耦,支持动态扩展与自动发现。
2026-06-20 22:12:42 +08:00
33b7da1a43 refactor(skills): 移动SkillRepository到repositories层
解决跨模块循环导入问题,将技能仓储类从agents/skills目录下沉到通用repositories目录,统一仓储层代码位置
2026-06-20 21:03:29 +08:00
bea74470cc feat(utils): 新增加密工具模块并完善SSRF防护能力
1. 新增crypto.py实现基于Fernet的敏感字段加密脱敏通用工具
   - 封装CryptoHelper类,支持密钥注入、环境变量加载
   - 实现单值加解密、递归处理字典列表的敏感字段加解密与脱敏
   - 提供模块级便捷函数和全局实例便于调用
2. 优化net_security.py的SSRF防护逻辑
   - 新增IPv4嵌入IPv6地址检测处理
   - 增加歧义netloc拦截规则
   - 拆分同步异步校验逻辑,新增解析IP返回能力
   - 优化代码结构与注释可读性
2026-06-18 03:23:00 +08:00
32b213593e feat: 新增会话通信工具与子会话嵌套管理能力
1. 新增会话通信工具集,支持列出会话、查看会话历史、发送会话消息和查询智能体进度
2. 实现子智能体嵌套深度限制与父子会话关系管理
3. 新增数据库字段与索引支持会话层级存储
4. 添加会话工具单元测试与LITE模式适配
2026-06-13 20:19:07 +08:00
436c09fb90 refactor(ssrf): 优化SSRF策略的主机名匹配逻辑
将主机名拦截规则从直接使用原始配置改为使用预归一化后的数据,提升匹配效率和一致性
2026-06-13 18:54:01 +08:00
9ce17c1662 feat: 新增通用 SSRF 防护模块并重构 URL 校验逻辑
- 新增完整的 SSRF 防护工具类与配置项
- 重构 URL 校验逻辑,替换原有白名单校验实现
- 新增 DNS 缓存与防重绑定防护
- 兼容原有 YUXI_URL_WHITELIST 环境变量配置
- 新增配套单元测试覆盖防护逻辑
2026-06-13 18:22:38 +08:00
Wenjie Zhang
a8a933d3dc chore(release): 发布 0.7.0 正式版
- 版本号 0.7.0.beta3 → 0.7.0(pyproject ×2 / package.json / docker-compose ×2 / uv.lock ×2 / README ×2 / quick-start / 文档首页)
- changelog 标题更新为 v0.7.0 (2026-06-13),修正版本号描述
- quick-start 版本表更新为当前稳定版
- 修复 package import 排序,同步前端 prettier 格式化
2026-06-13 01:02:43 +08:00
Wenjie Zhang
253cc0b149 fix: 修复多模态图片上传和历史渲染 2026-06-12 00:03:04 +08:00
Wenjie Zhang
bfad68ac3f fix: 调整智能体模型默认解析 2026-06-11 22:48:28 +08:00
Wenjie Zhang
ac98684932
Merge pull request #755 from xiangfei258/fix/stream-toolcall-id-loss
fix: 修复百炼/SiliconFlow 工具调用经 LangGraph v3 流式丢失 tool_call id 导致状态卡在进行中
2026-06-11 20:56:51 +08:00
Wenjie Zhang
9ac635f7f7 fix: 分批写入 Milvus chunks 避免 gRPC 超限 2026-06-11 20:55:44 +08:00
xiangfei258
f1349ec455 fix: 修复阿里云百炼工具调用经 LangGraph v3 流式累积丢失 tool_call id
百炼(alibaba provider)的 OpenAI 兼容流经 LangGraph v3 event stream
累积工具调用时会丢失 tool_call.id,空 id 写入 checkpoint 后导致工具结果
无法按 tool_call_id 关联、工具状态永远停留在"进行中"。

实测确认 ainvoke 与 stream_mode=messages 累积均正常,仅 astream_events
v3 协议丢失 id;升级 langchain-core 至 1.4.4 仍未修复(属上游问题
langchain#37420 / langchainjs#10937 / langgraphjs#2496)。

与已有的 SiliconFlow MiniMax 修复同源,将 alibaba 加入禁流式名单,
工具调用阶段禁用流式(正文回答仍流式)以拿到完整 tool_call。
2026-06-11 20:35:33 +08:00
Wenjie Zhang
6eb57663d9
Merge pull request #746 from szmadd/feat/dashboard-agent-name
feat(dashboard): 数据总览智能体图表中将以 slug 展示的智能体ID替换为名称
2026-06-09 12:34:41 +08:00
Your Name
321eab2ea1 fix(dashboard): 复用智能体仓库查询名称
通过 AgentRepository 封装仪表盘智能体名称映射查询,避免在路由中直接筛选 Agent 表。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-09 08:27:43 +08:00
Wenjie Zhang
18198e6d56 chore(release): 更新版本至 0.7.0.beta3 2026-06-09 00:40:00 +08:00
Wenjie Zhang
e37bd7c808 fix: 修复硅基流动接口与 langchain stream event v3 不兼容的问题 2026-06-09 00:05:47 +08:00
Wenjie Zhang
7f387fd6e7 chore(release): 更新版本至 0.7.0.beta2 2026-06-08 00:45:41 +08:00
Wenjie Zhang
fd2660d21a feat: 优化智能体对话与扩展界面体验
- 智能体状态面板改为仅展示有内容的 section,并为空状态保留统一提示
- 将待办名称在提示词、对话状态面板和工具结果中统一限制为 20 个中文汉字以内,同时通过 title 保留完整内容
- v2 模型列表补充供应商展示名,模型选择器展示并支持按供应商名称搜索
- 收紧文件预览编辑浮动操作、附件状态标签、工作区预览分隔线等界面细节
- 更新扩展/管理页命名、官网首页截图与 Demo 链接,并补充 changelog/roadmap
2026-06-08 00:31:05 +08:00
Wenjie Zhang
00a4a0cdab feat: worker的超时时间修改为 60 分支 2026-06-08 00:31:05 +08:00
Wenjie Zhang
d7a7f4a779 feat: 精简 Message state 事件载荷 2026-06-08 00:31:05 +08:00
Wenjie Zhang
2e8ef62c71 fix: 更新版本号至 0.7.0.beta1 2026-06-06 19:08:57 +08:00