Skip to content

v2026.11.01

Choose a tag to compare

@github-actions github-actions released this 31 Oct 18:08
· 43 commits to main since this release

版本概览

  • v2026.11.01 合并了经过兼容审查和完整验证的上游更新。
  • 已完成合并候选的内容整合与累计审查,保留兼容的上游功能和二开能力;工作树无遗留冲突标记,交由外层暂存并执行完整验证。

新增功能

  • 厂商原生路由与多插件分发:插件同时服务厂商原生路径和 /{key} 地址,共享方法及路径可由多个插件声明,最终执行插件由模型候选和所选渠道决定;支持模型大小写规范化及渠道别名。保护管理命名空间和既有静态路由,返回 skipped_routes;查询按任务所属插件与用户处理。
  • 内置插件原生协议完善:多个内置插件改用厂商请求和响应形态,补充原生错误码、查询参数和状态处理;Vidu 接受 Token 认证形式,Google 接受厂商 API Key 形式但保留既有 Authorization 优先级。百炼增加 OSS 引用解析头及原生 SSE 选择,xAI 返回原生待处理状态和用量,并拒绝额外存储选项。即梦新增厂商提交与结果路径,移除的旧入口已在本次整合中兼容保留。
  • 原生 SSE 与交付后计费修复:Seedream 和百炼原生接口可直接转发上游 SSE,支持较大的非持久化图片响应;客户端断开不取消上游结算。发送事件后,追加预扣或任务插入失败仍收费;正常完成使用有效结果,异常中断保留预扣,避免重试和退款造成已交付工作漏收。
  • 可灵 4.0 请求与价格处理:可灵新增 4.0 文生、图生及全能视频路径,时长限定为 3 至 30 秒,完善所有视频尺寸映射及输入视频预留。完成结算优先读取资源用量,现金计费优先使用 list_price,避免将折扣 amount 当作标准价格。
  • Veo 结果解析与视频附件:Google Veo 按 REST 返回的 generatedSamples 读取结果;Vertex AI 增加 v1beta1 路径,将内联视频作为附件按需重新获取,通过受限 JSON 路径提取 Base64 内容,避免把大视频写入任务快照。保留 Cloud Storage 结果处理和下载授权。
  • 插件价格告警与启用预检:新增价格问题接口,识别未配置、表达式用量不兼容及已失效的插件模型价格;插件操作结果、价格表筛选和侧栏徽标同步展示。上传、启用、激活及删除后回退均预检路由冲突,移除 force 绕过能力,允许关闭状态保存冲突插件。
  • 日志轮转与资源消耗防护:访问和异常恢复日志改为写入时取得当前文件,修复轮转后继续写旧描述符的问题;zstd 解压增加窗口、内存和并发限制并采用惰性读取;URL 脱敏尾部处理改为线性裁剪,避免重复扫描。
  • 认证相关界面与配置顺序:登出后卸载认证布局,停止无凭据查询;Turnstile 按密钥先保存、启用后保存的顺序串行提交,失败时中止;个人侧栏配置只展示全局允许的模块,重置操作也服从全局显隐。
  • 依赖维护:更新 DOMPurify 3.4.17、marked、CodeMirror、tailwind-merge 及开发工具依赖;go-jose 更新至 4.1.6,Electron 更新至 42.11.16,同时更新 undici、fast-uri。整合时保留本项目原有较高安全覆盖版本。

功能改进

  • 接口与兼容性:任务插件增加厂商原生地址及插件专属地址,共享地址按模型和渠道选择插件;查询验证任务所有权。厂商状态码、错误体和参数支持更贴近原生协议,不支持的回调、存储或实时查询选项会明确报错;即梦旧入口另行保留兼容。
  • 计费与任务生命周期:已向客户端发送 SSE 后,客户端离线、追加预扣失败或任务插入失败不会使已交付内容免费;异常中断保留预扣,正常完成按有效用量结算。按秒模式与新版原生请求时长保持一致。
  • 认证与权限:新增价格问题接口沿用后台角色限制和 PAT option:read 范围;厂商凭据形式转换后仍走服务器令牌鉴权,查询仍校验所属用户。参考 OWASP Authentication Cheat Sheet 和 Session Management Cheat Sheet 核对凭据日志保护、服务端授权及登出后的页面卸载,未宣称完整 ASVS 合规验证完成。
  • 前端与国际化:管理员可查看价格缺失、不兼容及过期原因和导航数量徽标;个人侧栏设置服从全局显隐。累计新增 19 个翻译键,已核对七语言键集合、占位符和变更组件的静态翻译引用。
  • 发票、抽奖与数据:累计版本增加发票预览、复制、邮件补发记录及全部抽奖。EmailSentAt 为非持久化投影,邮件时间来自成功审计记录;本轮没有升级 GORM 或数据库方言驱动。真实 SQLite、MySQL、PostgreSQL 的迁移与后端验证由外层执行。
  • 部署与桌面端:Electron 升至 42.11.16,并显式安装运行时以兼容现有启动、许可证资源和打包路径;工作流使用的 Node 22 满足新版依赖要求。未启动、重启或发布任何服务。

问题修复

  • 任务调用:支持厂商原生请求、插件专属地址、共享路径渠道选择及既有标准协议;即梦旧 Action 客户端继续可用。
  • 流式交付与收费:Seedream 和百炼原生流逐事件返回;客户端断开后继续读取和结算,已发送的工作不会因持久化失败退款,异常流按预扣处理。
  • 厂商计费:可灵 4.0 按新时长、尺寸与价格字段处理;二开按秒价格继续使用实际发送时长,图片重复表示不重复计费。
  • 管理界面:价格问题在插件操作结果、模型价格表和侧栏可见,同时保留内置价格来源;普通用户不请求管理员价格问题接口。
  • 日志与监控:日志轮转后访问和异常日志继续写入当前文件;管理员诊断字段保持权限隔离,stream_status 完整采用上游用户可见行为。
  • 累计未发布业务功能:用户可预览和下载自己的已开票文件,管理员可处理待开票文件、复制开票信息和补发邮件;全部抽奖分批执行且不会自动重放失败请求。

移除与调整

  • main.go、middleware/recover.go、middleware/logger.go:主入口接入新的 PanicRecover,移除无调用的旧恢复函数;访问和异常日志使用当前日志写入器,同时保留 OAuth、SSO 及其他凭据查询脱敏。
  • router/relay-router.go、router/relay_router_test.go:保留两个 API 前缀下的 countTokens 拒绝行为,仅将 predictLongRunning 交给插件;其余 Gemini 请求继续原认证、限流和渠道选择流程,两侧回归用例均保留。
  • plugins/tasks/doubao/plugin.js、plugins/tasks/kling/plugin.js、plugins/tasks/vidu/plugin.js、plugins/task_fork_compat_test.go:按实际发送的原生或协议字段计算时长,预扣与用量字段共用解析结果;保留可灵资源包用量、Vidu 设置及豆包像素档位计费,并保留 URL 与 Base64 表示不重复计数。补充原生时长、自动时长和异常类型回归用例。
  • plugins/tasks/jimeng/plugin.js、plugins/task_fork_compat_test.go:保留新厂商路径,同时恢复旧 Action 入口作为兼容路由;沿用原图片字段转换、时长计费和公开任务编号响应,并补充提交、查询及非法操作回归用例。
  • controller/plugin_native_e2e_test.go:采用实际转发的 kling-v3 模型,并保留 HTTP 202 成功提交覆盖。
  • docs/plugin-api/v1.md:保留新增插件契约,超时说明与本项目 4320 分钟默认值及零值关闭语义保持一致。
  • web/package.json、web/bun.lock、electron/package.json、electron/package-lock.json:保留二开较高的安全覆盖版本,接纳 DOMPurify 等上游更新并核对锁文件一致性;增加显式 install-electron 安装钩子,维持现有开发及打包流程所需的运行时文件。
  • web/src/hooks/use-sidebar-data.ts、web/src/hooks/tests/sidebar-config.test.tsx:组合徽标参数与原导航构造逻辑,保留自定义页面、外链模式、发票和审计入口,合并权限、显隐及徽标刷新用例。
  • web/src/features/system-settings/models/model-ratio-visual-editor.tsx、web/src/features/system-settings/models/model-ratio-table-columns.tsx、web/src/features/system-settings/models/tests/model-ratio-table-selection.test.tsx:同时保留内置来源和价格问题信息,使用 TruncatedCell 展示模型名及原因,保持文本选择和分页行为;复用已有七语言翻译键,并增加来源标识与问题提示同时显示的回归断言。
  • 已知限制:DeepSeek 固定工作日峰谷价格不识别中国法定节假日,管理员可按实际价格政策配置覆盖。
  • 已知限制:大型日志表建立联合索引可能产生耗时、资源消耗与锁竞争,升级时需安排合适的迁移窗口。
  • 已知限制:缓存用量仅从升级后开始记录,历史数据不回填;跨升级时间范围的缓存统计不代表完整历史用量,界面保留相应提示。
  • 已知限制:旧面板令牌在首次迁移后的三十天窗口结束后失效,这是上游迁移设计;需迁移至 PAT,重启不会重置退役期限。
  • 已知限制:Responses custom tool 经 Chat function 转换后,grammar 保留为描述提示,不能保证原协议的语法强约束。
  • 已知限制:Sobek 切换到 moejs 后,第三方插件仍可能需要适配;本轮未改变该运行时迁移影响。

自上次正式发布以来的累计提交

  • 56efa1f fix: 优化发票预览、邮件补发及文件命名
  • 5a99038 feat: 支持一键复制开票信息和抽取全部剩余次数

本次候选包含上述已合并但尚未正式发布的更新,以及本报告审查的新增变更。