Repository navigation
v2026.10.29
·
81 commits
to main
since this release
版本概览
- v2026.10.29 合并了经过兼容审查和完整验证的上游更新。
- 已完成 upstream/main(e449cc700eb569cdfc2199cb73e97de46944f43c)与本项目 origin/main(2b82951141af5b94fd7c9c76d3cc9ac4f646fc66)的工作树内容整合。三处文本冲突均已解决,并修复累计开票接口的 PAT 权限声明遗漏和新增回归测试的全局状态隔离问题。审查覆盖 v2026.10.26(5deb18e704e1c3977269df34a0b40823036fd173)至当前候选的全部累计差异。
新增功能
- GPT-6.1 Sol 与 Terra 的 Chat 参数兼容:gpt-6.1-sol、gpt-6.1-terra 及对应快照纳入 GPT 系列参数能力判断,使用 max_completion_tokens。Sol 移除不支持的采样参数,Terra 仅在显式 reasoning_effort=none 时保留采样参数。
- 补计连接取消后的非流式成功响应:非流式请求已无错误完成时,即使请求上下文随后取消,也可作为成功性能样本。调整位于性能结果分类,不改变扣费、退款、渠道禁用或重试决策。
- Bedrock Invoke 保留 safeguards:AWS Bedrock Invoke 请求结构增加 safeguards 原始 JSON 字段,使 Claude 请求中的该配置在流式与非流式转换后继续发送;未提供时仍省略。
- SSE 精确识别结束标记:去除首尾空白后,仅精确的 [DONE] 被视为结束标记,兼容裸标记和 data: 前缀。data: [DONE]extra 等内容继续作为数据处理,避免提前结束响应。
- Azure 显式启用 Responses WebSocket:Azure 加入允许显式开启 Responses WebSocket 的渠道类型,前端提供对应设置入口。默认仍关闭;启用后沿用 Azure Responses 路径、api-version 和 api-key 请求头,并保留相关握手回归用例。
- 修复 Cloudflare embedding 响应转发:embedding 请求改用 OpenAI 兼容响应处理器,避免误入聊天响应处理路径,保留向量数据和用量。
- 亲和性失败后从最高优先级回退:亲和性尝试不再被误算为已访问普通渠道优先级。后续普通选择减去亲和性偏移,从最高优先级开始;亲和性仍消耗原重试预算,切换自动分组时清除偏移。
- 立即完成的任务纳入性能统计:任务提交后立即成功的结果,在任务持久化和结算成功之后记录性能样本,并在存在令牌数量时记录吞吐相关数据。立即失败或尚未完成的任务不作为此类成功样本。
- 累计未发布的参数覆盖正则缓存:发布基准之后已合入的 01da3a5 将正则编译结果按表达式文本缓存,供条件匹配、对象裁剪和正则替换复用,避免每次请求重复编译;缺失路径和无效正则的原有处理保留。
功能改进
- 接口与协议兼容:GPT-6.1 Chat 参数、Bedrock safeguards、Cloudflare embedding 和 SSE 结束判断发生上述行为修正;Azure Responses WebSocket 增加显式启用能力。可选请求字段、显式零值及本项目原有请求数量检查未被替换。
- 渠道与分组路由:普通优先级回退修复与本项目路由体系并存:密钥分组路由仍优先进入专用选择流程,普通选择仍经过 selectSatisfiedChannel,继续执行冷却、同渠道重试及请求过滤。亲和性偏移不扩大重试预算。
- 监控统计:性能统计新增两类此前可能遗漏的成功样本,因此升级后的成功率、延迟和吞吐统计可能变化。智力测试公开结果新增重试次数,管理员历史结果按实际分组展示并支持按需查看预览。
- 累计开票接口与权限:新增本人开票申请、查询、撤回、文件下载及邮件交付接口,以及管理员处理、上传和通知设置接口。补齐六条遗漏的 PAT 路由声明:本人读写使用 wallet:read 或 wallet:write,管理员读写使用 billing:read 或 billing:write;服务端角色和归属校验继续执行。
- 计费与订单状态:累计开票功能检查订单归属、支付状态、金额和开票状态,通过事务处理申请与订单开票状态,并用唯一占用键防止订单同时进入多份待处理申请。该流程不修改充值金额或余额;本轮性能采样增加也不改变预扣、结算和退款流程。
- 数据库:相对发布基准新增 InvoiceRequest、InvoiceRequestOrder 两张表,纳入现有 GORM 迁移。订单占用采用可空唯一 active_top_up_id,事务行锁沿用 lockForUpdate;未调整 GORM、数据库驱动或模块依赖版本。真实三库新建、升级、重复迁移及完整后端验证由外层流程执行。
- 前端与国际化:新增用户开票页面、管理员申请管理与通知设置,接入钱包、充值统计、侧栏和路由;复用已有表格、表单、弹窗、确认及复制组件。累计新增的 89 个前端翻译键在七种语言中均有对应条目,未发现占位符不一致;开票邮件与管理员通知按现有产品设计使用中文。
- 部署与发布:Docker 运行镜像累计增加 Poppler、Tesseract 和中英文识别数据,用于本地发票辅助识别。私有附件默认保存在 data/invoices,可通过 INVOICE_STORAGE_DIR 配置,部署需持久化并备份该目录。新增候选发布说明 .github/release-notes/upstream-sync-e449cc70.md,披露累计更新和既有风险;未修改发布工作流或执行发布操作。
问题修复
- 客户端请求转发:GPT-6.1 请求按模型能力转换参数,Bedrock 保留 safeguards,Cloudflare embedding 返回向量结构,SSE 仅在精确结束标记时终止。
- Azure WebSocket 配置:管理员可为 Azure 渠道显式启用 Responses WebSocket;启用后使用 Azure 对应路径、版本参数和 api-key,其他渠道的既有配置方式继续有效。
- 路由故障回退:亲和性渠道失败后,普通优先级选择从最高优先级开始,同时遵守本项目分组路由、冷却、过滤和重试预算;跨自动分组时不携带前一分组的亲和性偏移。
- 用户开票:用户可选择本人 1 至 100 笔符合条件的已支付订单申请开票,查看记录并撤回待处理申请;已开具发票可下载或发送到申请中固定的邮箱。用户不能通过接口读取其他用户的发票。
- 管理员开票处理:管理员可筛选、开具或驳回申请,上传不超过 10 MB 的 PDF、PNG、JPEG,或提供 HTTPS 链接,并配置启用的管理员账号接收通知。OCR 仅辅助填写明确的发票号码,识别失败仍可手动填写;邮件发送失败会单独反馈,不回滚已经完成的开票处理。
- 监控与日志:已完成的非流式响应和立即成功的任务补入性能样本;智力测试显示重试次数并按分组查看历史。stream_status 按已确认产品决策完整展示,其他管理员诊断信息维持既有访问边界。
- 累计界面与性能改进:开票相关页面提供七种前端语言;CC Switch 导入支持站点名称、自定义名称和合规 Logo;参数覆盖规则复用已编译正则,保留原有匹配及错误处理语义。
移除与调整
- service/channel_affinity.go、service/channel_select.go:保留本项目状态字段、首次选择标记、失败清理和重绑定逻辑,同时增加上游偏移;保留专用分组路由入口及 selectSatisfiedChannel,在普通优先级选择中扣除偏移,并在自动分组切换时清零。未整体选择任一侧实现。
- relay/responses_websocket_test.go:合并双方所需导入和测试内容,同时保留授权计费分组恢复、现有连接约束及 Azure URL、api-version、api-key 握手断言。
- middleware/access_token_routes.go、middleware/auth_test.go:按本人钱包操作和管理员账务操作分别补充 wallet:read、wallet:write、billing:read、billing:write,并在现有鉴权测试中加入允许与拒绝用例;保留 UserAuth、AdminAuth 和业务层归属校验。
- controller/channel_pin_retry_test.go:夹具显式关闭渠道路由模式以覆盖普通优先级行为,并通过清理逻辑恢复原路由开关、分组倍率及其他已有全局设置。
- 已知限制:DeepSeek 固定工作日峰谷价格不识别中国法定节假日,管理员可按实际价格政策配置覆盖。
- 已知限制:大型日志表建立联合索引可能产生耗时、资源消耗与锁竞争,升级时需安排合适的迁移窗口。
- 已知限制:缓存用量仅从升级后开始记录,历史数据不回填;跨升级时间范围的缓存统计不代表完整历史用量,界面保留相应提示。
- 已知限制:旧面板令牌在首次迁移后的三十天窗口结束后失效,这是上游迁移设计;需迁移至 PAT,重启不会重置退役期限。
- 已知限制:Responses custom tool 经 Chat function 转换后,grammar 保留为描述提示,不能保证原协议的语法强约束。
- 已知限制:Sobek 切换到 moejs 后,第三方插件仍可能需要适配;本轮未改变该运行时迁移影响。
自上次正式发布以来的累计提交
- 09ba9891d merge: synchronize upstream e449cc7
- 2b82951 feat: 完善开票申请管理和中文邮件交付
- 61ccae0 chore: save local changes before upstream sync
- f3be27c chore: save local changes before upstream sync
- b7857c6 feat: show intelligence test retry counts
- 613bb3b feat: improve intelligence history result grouping
本次候选包含上述已合并但尚未正式发布的更新,以及本报告审查的新增变更。