修复与改进
- 修复 #54:免费模型探测使用规范的 OpenCode 会话 ID、项目 ID 与独立请求 ID,避免非法会话格式导致 403。
- 区分临时失败与明确模型失效:429、超时、网络错误、5xx、鉴权错误及无法确定的错误不新增禁用,1 小时后复测;明确不存在或已下架的模型禁用后每 24 小时重试,仍支持管理端手动恢复。
- 升级后自动清除旧探测逻辑产生的禁用状态并安排重新探测;新版确认的禁用状态在重启后继续保留。
- System One 使用原生结构化请求探测“1 + 1 是否等于 2”,校验响应结构;模型列表补充协议和端点信息,普通对话请求会提示使用 /v1/systemone。
- 未配置 Go Key 或没有符合条件的模型时,不再暴露不可用的轮转别名。
- 新增 reasoning.effort = auto:通过探测选择模型可接受的最高思考档位,客户端明确指定的强度仍优先。WebUI 展示已探测档位及时间。
使用说明
自适应强度需手动启用,现有固定档位配置保持原语义:
{"reasoning":{"effort":"auto"}}主动探测仅覆盖 Zen/匿名通道免费模型(名称包含 free,或元数据输入、输出价格均为零且未弃用)。auto 只使用近期成功验证、协议匹配的档位;不为 Go、付费模型或尚未验证的模型猜测强度。探测会产生额外上游请求。
验证:本地回归测试、go vet/build、格式与 WebUI 检查通过,GitHub Checks 全部通过。回归验证使用本地 HTTP fixtures,未声称完成真实上游推理验证。发布源码不包含测试文件。
Downloads
提供 Linux、Windows、macOS 的 amd64/arm64 压缩包及 SHA256 校验文件,包含 GPL-3.0-or-later LICENSE。
容器镜像:ghcr.io/jasonxu114514/opencode2api:v1.3.7(linux/amd64、linux/arm64)。
Full Changelog: v1.3.6...v1.3.7