v2.8.5-go
·
9 commits
to go-rewrite
since this release
v2.8.5-go
适配 ZCode 3.14.4 的「关闭模型请求验证码校验」更新。修复上游已经允许模型免验证码时,
网关仍因求解器不可用而在本地返回 503 captcha_required 的问题。
修复内容
- 识别官方配置
captcha.skip_model_request。明确为true时,同步/v1/messages、
异步票务以及 OpenAI Chat/Responses 兼容入口均跳过模型验证码,不再依赖浏览器或人工回填。 - 模型策略判断先于人工 token 缓存,避免跳过后仍发送旧验证码;下游传入的验证码头仍被过滤。
- 套餐领取保留验证码,包括人工回填及
3007后换码重试;模型跳过不会清空领取所需的共享人工缓存。 - 将 JWT 请求形态与验证码需求分离,保留原有鉴权、system 注入、设备 metadata、会话归因及风控处理。
- 保留并发、限流、过载和真实验证码挑战的有界重试,不将验证码挑战误判为账号鉴权失败。
- 默认上游客户端版本及环境示例由旧版本同步至 3.14.4。
升级说明
- 替换网关二进制或容器镜像并重启即可,无需数据库迁移。
- 若部署显式覆盖
ZCODE_CLIENT_VERSION/UPSTREAM_USER_AGENT,同步更新为 3.14.4 / ZCode/3.14.4,或移除覆盖值使用默认值。 - 自动领取仍需浏览器求解或人工验证码,不要为了跳过模型验证码关闭整个浏览器池。
- 上游策略沿用默认 10 分钟配置缓存;字段为 false、缺失、配置获取失败时保留原验证要求。
- 本版不修改独立的 zcode-switch 工程,不代表上游关闭了鉴权、限流或其他风控。
回归验证
- 新增 12 个顶层回归测试,覆盖配置解析与失败回退、缓存及策略刷新、同步/异步请求、
领取验证、流式响应、重试,以及 OpenAI Chat/Responses 的 JSON/SSE 两种模式。 - 新增场景连续运行三轮通过;本地
go test ./... -count=1、go vet ./...、go build ./...通过。 - 发布标签前由 GitHub Actions 执行 Linux 全量测试、竞态检测、SDK 兼容性、交叉编译及容器构建检查。
- 测试使用本地模拟上游,不涉及真实账号模型请求或实际领取操作。
发布产物
- 跨平台二进制:Linux amd64/arm64、macOS amd64/arm64、Windows amd64。
- 多架构镜像:
ghcr.io/fujunchao/zcode2api-plus:2.8.5-go和latest,支持 Linux amd64/arm64。