Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Releases: james-6-23/codex2api

v2.3.5

16 Jun 21:39
@github-actions github-actions

Choose a tag to compare

Codex 反代网关:默认按请求隔离上游身份(修复跨请求上下文污染)、坏 WS 连接异常后丢弃不复用、OpenAI 主动重置链路反爬与幂等加固、TRUSTED_PROXIES 可配置可信反代、账号在途请求数指示与 team 空间 id 展示等改进

Features

  • 默认按请求隔离上游身份(#268):无显式会话的请求,其上游身份键(prompt_cache_key + Session/Conversation id)原本按下游 API Key 确定性派生,导致同一 API Key 的不同请求落到同一上游会话标识、跨请求上下文污染。现把「上游会话身份 / WS 8 槽连接池路由键 / 账号粘性」三者解耦:默认每个无会话请求获得唯一上游身份(isolated 模式),连接池仍按 API Key 稳定路由(保住 8 槽复用与抗握手限流 503),账号粘性不变。如需回到旧的「按 Key 共享缓存」语义,可设 CODEX_REQUEST_ISOLATION_MODE=per-api-key
  • 账号在途请求数指示:账号列表状态列新增蓝色药丸(呼吸圆点 + 在途请求数 active_requests),仅 >0 时显示并带中/英 tooltip,方便一眼看出哪些账号正在被使用、并发多少。
  • 展示 chatgpt_account_id(team 空间 id):chatgpt_account_id 是 team 计划下的空间(workspace)id,从 AT 的 JWT 解出,一个登录账号可加入多个空间;现以等宽小字在账号列表邮箱下方单行展示(过长省略号 + 悬停 tooltip),便于区分同邮箱的不同空间。
  • OpenAI 主动重置次数链路加固与优化:wham/usage 与 reset/consume 改走 uTLS Chrome 指纹 transport(与 /responses 网关一致),降低被 Cloudflare 拦截概率;consume 复用同一 redeem_request_id 作幂等键,刷新后重试不再重复消耗一次重置次数;账号级互斥锁消除「次数检查→消耗」的 TOCTOU 竞态;上游 401 自动刷新 token 后用同一幂等键重试一次;重置后那次 wham/usage 往返挪到后台异步执行以缩短响应路径;成功重置写入 account_events 审计记录。
  • TRUSTED_PROXIES 可配置可信反向代理:#265 禁用了全部可信代理(默认更安全),但反代部署下会丢失真实客户端 IP(影响 IP 限流、审计日志、引导来源校验)。现支持通过 TRUSTED_PROXIES(逗号分隔的 IP/CIDR 列表)按需开启;留空保持「不信任任何代理」的安全默认,非法配置在启动时直接报错。
  • 上游重置错误码中文化并保留原文:主动重置遇到上游拒绝时(如 business/credits_only 计划返回 rate_limit_not_resettable),把已知 code 翻译成中文说明并将上游原始 JSON 括在其后;未识别 code 回退上游原文,空 body 回退状态码。
  • 1h 时间范围采样粒度:改为 1 分钟 ×ばつ 60 桶。
  • 账号卡片布局优化

Fixes

  • 坏掉的上游 WS 连接异常后丢弃而非复用(Refs #267):强制 WebSocket 模式下,上游 WS 异常(close 1006/1009/1011、broken pipe、unexpected EOF)后,WsResponse.Close() 原先只移除 pending 并归还连接池,从不关闭底层 socket、也不从池中移除坏连接,结果坏连接被误判为可复用(CLOSE_WAIT 下 probe 写 Ping 仍成功的假阳性),导致后续请求首字变慢/断流,且 fd 长期滞留 CLOSE_WAIT。现读到非正常 read error 即标记连接损坏,Close() 区分正常完成(归还复用)与异常终止(丢弃:关闭底层连接并用 CompareAndDelete 精确移出池)。
  • 重置次数刷新独立于用量新鲜度:重置次数(rate_limit_reset_credits.available_count)只由 wham/usage 探测刷新,但原先探测受用量快照新鲜度限制;由于正常 /responses 流量会通过响应头刷新用量快照(但其中不含重置次数),繁忙账号一直显得「新鲜」而从不触发 wham 探测,导致重置次数陈旧或无法被发现。现单独跟踪重置次数探测时间,并允许在 rate_limited 冷却与 premium 5h 限制期间执行零成本的纯 wham 探测。
  • 禁用 Gin 默认可信代理(#265)
  • Codex 邀请账号下拉只显示一个账号:账号选择器原先预填并按选中账号邮箱过滤列表,导致打开下拉只匹配到选中账号;现打开/聚焦时显示全部符合条件的 Codex OAuth 账号,仅在用户主动输入时按文本过滤。

Contributors

感谢以下贡献者对本版本的贡献:

Installation

Docker

docker pull ghcr.io/james-6-23/codex2api:2.3.5
# or
docker pull ghcr.io/james-6-23/codex2api:latest

Manual Downloads

见下方 Assets,提供 Linux / macOS / Windows 的 amd64 与 arm64 预编译产物及 SHA256SUMS。

Contributors

huangye123
Assets 8
Loading

v2.3.4

16 Jun 01:22
@james-6-23 james-6-23

Choose a tag to compare

Codex 反代网关:账号健康可视化与「自用模式」、Codex 主动重置额度、Prompt 检查审查 Key 与完整请求内容记录、本地 token 计数兼容端点,以及流式 cyber_policy 记录、失败图像用量统计、缓存计费等修复

Features

  • 账号健康可视化与「自用模式」:账号管理列表/卡片新增「健康状态」条(基于最近请求成败按时间分桶着色),仪表盘在顶部卡片与使用统计之间新增系统级健康概览,时间跨度选择器提升为页面级共用;账号管理页新增「号池模式 / 自用模式」切换——自用模式以更高级的双列卡片呈现(头像、等高对齐、图标+文字操作区),首次升级按号池账号数自动选择模式。
  • Codex 主动重置额度(#249):账号用量弹窗、列表徽章、桌面表格与卡片操作区均可查看剩余「主动重置次数」并一键重置(二次确认、消耗 1 次后刷新),复用现有 wham 上游链路,不走通用透传。
  • Prompt 检查审查 Key(#257):本地规则命中后可选调用审查模型(OpenAI/Anthropic 兼容 moderation)复核,降低误杀;支持 base_url / 模型 / 超时 / fail-closed 配置。
  • 拦截请求记录完整内容并可查询(#259):被拦截(block)的请求在「提示词过滤 → 日志」记录完整请求内容(不再只有 500 字预览,按 32K 截断)并纳入搜索;「使用统计」里 cyber_policy 报错可点击查看触发的完整请求内容。
  • 本地 token 计数兼容端点(#238):新增 POST /v1/messages/count_tokensPOST /v1/responses/input_tokens,本地返回 input_tokens 估算,不转发上游、不消耗额度,避免 LiteLLM 等客户端探测时收到 404。
  • Codex 推荐邀请功能(#260):新增 Codex 推荐邀请界面与批量邀请能力,并优化账号选择器(#264)。
  • 按 OAuth 身份去重账号(#262):导入/新增账号时按 OAuth 身份去重,避免同一账号重复入池。
  • 账号批量更新 API(#263):新增账号批量更新接口,支持批量调整调度等配置。
  • 编辑 OAuth 账号授权配置与重新授权 UI(#250):支持在前端编辑已有 OAuth 账号的授权配置并重新授权。
  • 外部异步图片任务接口(#254):新增外部异步图片生成任务 API。
  • 后端流式转发性能优化(#252):优化流式转发链路性能。

Fixes

  • 流式 cyber_policy 处罚未记录(#258):cyber_policy 封禁在 Codex 流式响应里以 response.failed(HTTP 200)下发,原先只有非 2xx 错误才写入 prompt_filter_logs,导致流式场景下的 cyber_policy 在提示词过滤日志里看不到;现已在 4 条流式失败路径补齐记录。
  • 失败图像请求用量未统计(#239):修复使用统计中不显示错误图像请求记录的问题。
  • /v1/messages 缓存 token 重复计费(#253):Anthropic usage 扣除缓存命中 token,避免缓存部分被重复计费。
  • Claude Code 工具参数兼容清洗修正(#251):修正过宽的工具参数清洗导致的兼容问题。
  • 升级 vite 修复 npm audit 高危(#261):前端依赖升级,修复 npm audit high 漏洞。

Contributors

感谢以下贡献者对本版本的贡献:

  • @huangye123 — 失败图像请求用量统计(#239)、后端流式转发性能优化(#252)、外部异步图片任务接口(#254)、工具参数兼容清洗修正(#251)、编辑 OAuth 账号授权配置(#250)
  • @jenfonro — 按 OAuth 身份去重账号(#262)、账号批量更新 API(#263)、邀请账号选择器优化(#264)

Installation

Docker

docker pull ghcr.io/james-6-23/codex2api:2.3.4
# or
docker pull ghcr.io/james-6-23/codex2api:latest

Manual Downloads

见下方 Assets,提供 Linux / macOS / Windows 的 amd64 与 arm64 预编译产物及 SHA256SUMS。

Contributors

jenfonro and huangye123
Loading

v2.3.3

13 Jun 13:13
@github-actions github-actions

Choose a tag to compare

Codex 反代网关:生图支持返回云存储链接、API Key Token 上限单位选择器,以及请求转发错误处理、WebSocket relay 稳定性、tool_choice 形态归一、缺失加密推理内容兼容、5h 用量新鲜度拆分等修复

Features

  • 生图支持返回云存储链接(#240):配置了 S3 兼容对象存储且客户端请求 response_format=url 时,/v1/images/generations 会把每张生成图上传到对象存储并返回 1 小时有效的预签名链接,替代 base64 data URL;上传或签名失败时自动回退到 data URL,保证存储配置异常时接口不会硬失败。上传的图片会通过惰性创建的合成 job + asset 记录登记进后台图库,可在画廊/历史中查看,删除时连同 DB 记录与后端对象一并清理。
  • API Key Token 上限单位选择器(#234):API Key 的 5h/7d Token 上限输入框新增单位选择(token / K / M / B),大额配额可用可读单位录入与展示,不必再填写原始 token 数。

Fixes

  • 请求转发错误处理与成功统计修复(#246):为 OpenAI Responses ttftGuard 调用点增加显式 nil-safe 包装;处理 OpenAI/Codex compact 响应体读取失败并保留最终 502 错误;Codex compact 读取失败时同步 usage headers、成功时记录请求成功;改用 json.Marshal 构造 Anthropic stream error 的 SSE payload。
  • WebSocket relay 稳定性修复(#247):优化 wsrelay 的 executor、manager 与 session 处理,提升上游 WebSocket relay 长连接的稳定性。
  • tool_choice 形态归一:缺失 type、但带有 function 对象或顶层 nametool_choice 现在按 OpenAI SDK 惯例归一为 type:"function" 并展平 name,避免上游因形态不规范拒绝请求。
  • 兼容缺失的加密推理内容(#235):除 invalid_encrypted_content 外,现在还能识别 *.encrypted_content 参数上的 missing_required_parameter 错误,缺失加密推理内容的请求会进入重试而非直接失败。
  • 5h 用量新鲜度与 7d 拆分(#241):5h 用量快照改为持久化独立的 codex_5h_usage_updated_at 时间戳,不再覆盖共享的 codex_usage_updated_at,避免 5h 与 7d 用量新鲜度互相冲掉,修正 5h auto-pause 的新鲜度判断。
  • 使用日志每页支持 500 条(#244):使用日志接口现在允许每页 500 条的分页大小。
  • Read 参数清洗范围收窄(#245):收窄 Claude Code 工具参数清洗(Read pages sanitizer)的作用范围,修复过宽清洗导致 Read/Write 出错的问题。

Contributors

感谢以下贡献者对本版本的贡献:

  • @huangye123 — API Key Token 上限单位选择器(#234)、请求转发错误处理与成功统计(#246)、WebSocket relay 稳定性(#247)、5h 用量新鲜度拆分(#241)、使用日志每页 500 条(#244)、Read 参数清洗收窄(#245)
  • @gulang91-svg — 兼容缺失的加密推理内容(#235)与 tool_choice 形态归一

Installation

Docker

docker pull ghcr.io/james-6-23/codex2api:2.3.3
# or
docker pull ghcr.io/james-6-23/codex2api:latest

Manual Downloads

见下方 Assets,提供 Linux / macOS / Windows 的 amd64 与 arm64 预编译产物及 SHA256SUMS。

Contributors

huangye123 and gulang91-svg
Loading

v2.3.2

11 Jun 21:23
@github-actions github-actions

Choose a tag to compare

Codex 反代网关:分组筛选支持未分组/屏蔽分组、spark 模型生图工具注入修复、缺失 type 的工具定义兼容、usage log 写入失败重试与热路径性能优化

Features

  • 分组筛选支持「未分组」与「屏蔽分组」(#229):账号页的分组筛选从单选下拉升级为三态筛选面板——每个分组可在「只看 → 屏蔽 → 取消」间切换,并新增「未分组」快捷项。账号较多时可以快速找出未分组或不属于某些分组的账号,全选后批量分组。表格视图的分组列改为默认显示。

Fixes

  • gpt-5.3-codex-spark 不再被注入默认生图工具(#230):Responses 转换层此前会给普通文本请求自动注入 hosted image_generation 工具及桥接 instructions,而 spark 是纯文本模型,上游直接拒绝带 hosted 生图工具的请求,导致 HTTP 上游路径下 spark 文本请求必然失败。现在对 spark 跳过默认注入,用户显式自带的生图工具仍正常保留。
  • 缺失 type 字段的工具定义不再导致请求失败(#219):部分客户端发送的工具定义省略 type(或为 null),此前被原样转发,上游对整个请求返回 400 Unsupported tool type: None。现在 Chat Completions 与 Responses 两条路径都会按 OpenAI SDK 惯例将 function 形态的工具(嵌套 function 对象或顶层 name)补全为 type:"function";完全无法识别形态的工具被剔除而不是拖垮整个请求。
  • usage log 写入失败回队列重试(#233):批量写入失败的 usage log 不再直接丢弃,而是放回缓冲区前部等待下轮 flush 重试;SQLite 与 PostgreSQL 均将日志插入与 API Key 配额更新放入同一事务,任一失败整体回滚,保证用量统计与配额数据一致。
  • 降低 Redis token 刷新等待的 timer 分配(#231):WaitForRefreshComplete 改用可复用的 ticker + 超时 timer,替代每 200ms 轮询新建一个 timer(30 秒超时下最多约 150 个),减少刷新竞争场景下的堆分配与 GC 压力。

Performance

  • 请求体单次读取复用(#232):RequestSizeLimiter 读取并校验请求体后直接缓存,后续中间件与所有 JSON 代理入口(responses / compact / chat completions / messages / images)复用缓存,热路径上最多减少约 2/3 的请求体重复 buffer 分配,降低大请求与高并发场景的内存峰值与 GC 压力。

Contributors

感谢以下贡献者对本版本的贡献:

  • @huangye123 — usage log 写入失败回队列重试(#233)、请求体单次读取复用(#232)、Redis 刷新等待 timer 优化(#231)三个 PR
  • @sailstudio — 报告 spark 模型生图工具注入问题并提供详细分析与修复方案(#230)
  • @WEP-56 — 提出分组筛选「屏蔽分组」的功能建议(#229)
  • @oneadms — 报告工具 type 缺失导致的 Unsupported tool type: None 问题(#219)

Installation

Docker

docker pull ghcr.io/james-6-23/codex2api:2.3.2
# or
docker pull ghcr.io/james-6-23/codex2api:latest

Manual Downloads

见下方 Assets,提供 Linux / macOS / Windows 的 amd64 与 arm64 预编译产物及 SHA256SUMS。

Full Changelog: v2.3.1...v2.3.2

Contributors

huangye123, sailstudio, and 2 other contributors
Loading
gnayhz reacted with hooray emoji
1 person reacted

v2.3.1

10 Jun 20:00
@github-actions github-actions

Choose a tag to compare

Codex 反代网关:分组/全局用量自动暂停阈值、API Key 并发限制、WS 模式 prompt cache 修复与高 RPM 连接复用

Features

  • 分组与全局用量自动暂停阈值(#227):自动暂停阈值现在支持在系统设置中配置全局默认值、在分组弹窗中按分组配置,按「账号 > 分组 > 全局」优先级解析——账号有设置时用账号的,否则取所属分组中最小的非零阈值,再回退到全局默认。修改即时生效无需重启,三个层级统一校验取值范围。
  • API Key 并发数限制(#226):每个 API Key 可通过 limits.max_concurrency 限制同时进行中的请求数,超限请求在所有代理入口(responses、compact、chat completions、Anthropic messages、图像、WebSocket turn)返回 429 并附说明。不填或 0 表示不限制。
  • 账号分组下拉多选绑定(#217#222):分组与账号的绑定改为可搜索的下拉多选形式,不再出现新建分组被分配给所有账号的问题。

Fixes

  • WS 模式 prompt cache 丢失修复(#202):自 v2.2.7 起,未携带显式会话标识的请求在 WS 上游路径会获得每请求随机的 stateless- 连接 ID,并泄漏到 prompt_cache_key 与 WS 握手会话头中,导致 WS 模式下上游 prompt cache 永远无法命中(HTTP 模式不受影响)。现在 WS 与 HTTP 一致地注入按下游 API Key 派生的确定性 cache key,实测重复前缀场景缓存命中恢复到约 86% 的 input tokens。
  • 高 RPM 下 WS 连接复用:无会话请求此前每个请求都新建一条 WS 连接,持续高压(约 200 RPM)会触发上游握手限流(bad handshake → 503)。现在此类请求在 (账号, cache key) 维度的 8 个槽位池内复用温热连接,槽位全忙时回退一次性连接。实测 200 RPM 从 128/200 成功提升到 200/200、零握手失败,延迟约降一半(p50 2288ms → 1303ms,首 token p50 231ms)。
  • Codex CLI compact v2 输入兼容(#224):/responses 不再对 Codex CLI compact v2 载荷返回 400 Invalid input type 'compaction_trigger'
  • OAuth 账号添加后立即探测用量:新添加的 OAuth 账号立即执行一次用量探测,不再等待下个周期。
  • 账号表格滚动调整:修复管理台账号表格的滚动行为。

Installation

Docker

docker pull ghcr.io/james-6-23/codex2api:2.3.1
# or
docker pull ghcr.io/james-6-23/codex2api:latest

Manual Downloads

见下方 Assets,提供 Linux / macOS / Windows 的 amd64 与 arm64 预编译产物及 SHA256SUMS。

Full Changelog: v2.3.0...v2.3.1

Loading
WEP-56 reacted with laugh emoji
1 person reacted

v2.3.0

10 Jun 01:33
@github-actions github-actions

Choose a tag to compare

Codex 反代网关:账号回收站、中继账号路由修复、图像生成 WS 卡死修复与安全加固

Features

  • 账号回收站:软删除的账号现在会进入回收站而不是直接消失。回收站中的账号可以一键恢复到调度池(无需重启)、恢复前测试连通性(429 / 额度限制会记为「限流」而非「失败」)、批量测试并可选「测试通过自动恢复」,支持按套餐类型筛选、搜索与分页;清空回收站需要输入确认文本,API 侧同样强制校验。
  • 用量日志记录客户端 IP:用量记录现在会采集请求来源的客户端 IP,并在用量页面展示。

Fixes

  • /v1/messages/v1/chat/completions 支持中继账号(#181):这两个端点此前会过滤掉 OpenAI Responses(中继 API-KEY)账号,只有中继账号的部署在 Codex OAuth 账号限流后会返回 503「无可用账号」。现在与 /v1/responses 一致,中继账号可参与调度并走 HTTP 转发,附带两条链路的端到端测试。
  • 图像生成不再走 WebSocket 上游(#220):携带 image_generation 工具的请求(包括自动注入的)强制走 HTTP;确实走 WS 的请求会剥离自动注入的图像工具、tool_choice 与桥接指令,避免模型在 WS 流上自行生图导致大 base64 负载卡死流(用户自带的 instructions 保留)。
  • 图像 SSE 保活:图像生成的 SSE 流在上游长时间无输出时保持心跳,不再因空闲被掐断。
  • 账号限流状态同步:用量探测 / WHAM 检查观察到的限流状态会同步回运行时账号状态,调度决策与状态展示保持一致。
  • 账号状态统计对齐:管理台账号状态汇总计数与列表筛选口径对齐。

Security

  • 代码扫描加固:本地图片存储写入时拒绝含路径分隔符的文件名、读取/删除时拦截 .. 遍历段(存量相对路径 ref 不受影响);远程实例迁移与 sub2api 导入的 URL 强制完整 http/https 地址;站点 Logo 的 SVG 压缩改为循环剥离注释直到不动点,<!-- 无法通过拼接残留。

Installation

Docker

docker pull ghcr.io/james-6-23/codex2api:2.3.0
# or
docker pull ghcr.io/james-6-23/codex2api:latest

Manual Downloads

Platform Download
Linux amd64 codex2api_2.3.0_linux_amd64.tar.gz
Linux arm64 codex2api_2.3.0_linux_arm64.tar.gz
macOS amd64 codex2api_2.3.0_darwin_amd64.tar.gz
macOS arm64 codex2api_2.3.0_darwin_arm64.tar.gz
Windows amd64 codex2api_2.3.0_windows_amd64.zip

Verify downloads with SHA256SUMS.txt from this release.

Documentation

Loading

v2.2.9

08 Jun 22:01
@github-actions github-actions

Choose a tag to compare

Codex 反代网关:WS 大消息自动 HTTP 降级、账号导入与批量测试状态修复、代理测试与用量显示优化

Features

  • 账号代理连通性测试(#212):新增账号、编辑账号、OAuth 链接生成、OpenAI Responses 账号配置中的代理地址现在可以直接测试连通性,并返回可达性、延迟、出口 IP 和位置。
  • 用量范围与重置时间显示优化:仪表盘用量卡片现在会跟随当前选择的时间范围,不再固定显示"今日";账号列表中的配额重置时间精确到秒,并在 tooltip 中保留完整时间。

Fixes

  • WebSocket 大消息自动降级(#214):上游 WS 在首包前出现 close 1009 / message too big 时,会自动改走 HTTP 完成本次请求,不再继续换账号用 WS 重试;日志错误类型标记为 message_too_big
  • CPA/sub2api JSON 导入修复(#215):导入 JSON 时会识别冲突的重复 ChatGPT Account ID,凭据不同的账号不会再被误认为同一个账号,修复 CPA/sub2api 导出文件导入失败或账号被折叠的问题。
  • 批量测试状态同步修复:批量连接测试现在会像单账号测试一样更新账号状态,覆盖 response.failed、unauthorized、普通上游错误和 usage-limit 结果;成功测试仍会恢复过期的 banned/cooldown 状态。
  • 额度阈值调度修复(#216):达到配置用量阈值的账号在配额窗口仍有效时会保持不可调度,过期 reset 时间会被忽略,避免账号状态和调度资格出现不一致。

Installation

Docker

docker pull ghcr.io/james-6-23/codex2api:2.2.9
# or
docker pull ghcr.io/james-6-23/codex2api:latest

Manual Downloads

Platform Download
Linux amd64 codex2api_2.2.9_linux_amd64.tar.gz
Linux arm64 codex2api_2.2.9_linux_arm64.tar.gz
macOS amd64 codex2api_2.2.9_darwin_amd64.tar.gz
macOS arm64 codex2api_2.2.9_darwin_arm64.tar.gz
Windows amd64 codex2api_2.2.9_windows_amd64.zip

Verify downloads with SHA256SUMS.txt from this release.

Documentation

Full Changelog: v2.2.8...v2.2.9

Loading
DeliciousBuding reacted with laugh emoji WEP-56 reacted with hooray emoji
2 people reacted

v2.2.8

08 Jun 02:45
@github-actions github-actions

Choose a tag to compare

Codex 反代网关:账号导入与用量统计增强、批量测试判定修复、首字统计模式、WS/compact 请求记录加固

Features

  • 账号用量详情增强:使用详情弹窗新增概览 / 明细 / 质量信号视图,支持按时间范围统计、模型维度按请求 / Token / 费用切换,并展示错误率、重试次数、平均首字、P95 响应、流式请求占比和 compact 请求占比。
  • 批量导入 Refresh Token 体验优化:批量导入现在有进度反馈,并会触发/补齐用量采样,避免必须额外手动批量测试后才刷新用量数据。
  • 首字统计模式设置(#207):系统设置新增严格 / 宽松首字模式,方便在真实内容首字和更宽松的流事件判定之间切换。
  • 用量统计范围与显示增强(#203, #209, #210):统计页支持更灵活的时间范围,Token 数字可切换完整值,并在请求记录中显示 WS / Fast / compact 标记。

Fixes

  • 批量测试与单账号测试一致(#194):批量测试先用 WHAM 预检用量,再解析真实短请求 SSE 终止事件;response.failed、无输出和 usage_limit_reached 不会再把限流/失败账号误恢复为可用。
  • 强制 WebSocket 记录修复(#205, #210):强制 WS 的请求现在会正确保存并展示 via_websocket,Fast 计费 tier 也会显示为独立标记。
  • Responses compact 与 usage_limit 加固(#174, #201):API-key OpenAI Responses 账号支持 /v1/responses/compact,嵌套错误或 5xx 形态里的 usage_limit_reached 也会正确触发冷却/采样处理。
  • Tier 计费策略保存修复(#206):billing_tier_policy 前端保存、后端归一化和数据库持久化保持一致。
  • OAuth 授权链接与复制体验优化:OAuth 授权支持重新生成链接,并在 HTTP 管理后台环境下提供兼容复制路径。
  • 生图与 WS 路由稳定性(#198):显式 image generation 请求在强制 WS 时绕回 HTTP,避免复用 WS 会话导致上下文串扰;gpt-5.3-codex-spark 调度过滤已加固。

Installation

Docker

docker pull ghcr.io/james-6-23/codex2api:2.2.8
# or
docker pull ghcr.io/james-6-23/codex2api:latest

Manual Downloads

Platform Download
Linux amd64 codex2api_2.2.8_linux_amd64.tar.gz
Linux arm64 codex2api_2.2.8_linux_arm64.tar.gz
macOS amd64 codex2api_2.2.8_darwin_amd64.tar.gz
macOS arm64 codex2api_2.2.8_darwin_arm64.tar.gz
Windows amd64 codex2api_2.2.8_windows_amd64.zip

Verify downloads with SHA256SUMS.txt from this release.

Documentation

Loading
WEP-56 reacted with thumbs up emoji
1 person reacted

v2.2.7

05 Jun 00:54
@github-actions github-actions

Choose a tag to compare

Codex 反代网关:WS 上游错误静默换号重试、OpenAI Responses compact 路由、模型/额度判断加固,以及安全扫描修复

Features

  • WebSocket 静默重试控制(#195):新增 codex_ws_hide_upstream_errorscodex_ws_silent_retry_enabledcodex_ws_silent_max_retries 三个系统设置。开启后,WS 上游在首 token 前遇到可恢复错误时会在服务端换账号、重建上游连接并继续等待,客户端连接不再立即收到上游失败帧。
  • WS 错误隐藏与友好兜底:重试耗尽后,客户端只收到统一友好提示 上游服务临时繁忙,请稍后重试;原始上游错误仍保留在后端日志与用量记录中,方便排查。
  • WHAM-only 用量探针控制:新增后台用量探针控制,支持优先/仅使用零额度成本的 WHAM 用量端点,减少探针走 /responses 的额度影响。
  • WebSocket 设置入口:管理后台的 WebSocket(Codex 上游)设置卡片新增静默重试、隐藏错误和最大重试次数控制。

Fixes

  • WS 上游失败处理(#195):usage_limit、429、5xx、读取错误、超时、EOF 等首包前失败会按配置静默换号重试,不再直接触发客户端反复 Reconnecting。
  • Responses 路由和模型加固(#198):放宽本地 plan_type 约束,避免本地记录不准导致真实上游调用被提前拦截;同时加固 gpt-5.3-codex-spark 等新 Codex 模型的 Responses 路由与 TTFT 判断。
  • OpenAI Responses compact 路由:通过 base_url + api_key 添加的 OpenAI Responses API 账号现在也能走 /v1/responses/compact,不会再误发到 ChatGPT-only compact 路径。
  • 额度耗尽识别:usage_limit_reached 即使包在 response.errorresponse.status_details 或 5xx 形态 payload 里,也会按账号额度耗尽处理。
  • 账号工具栏布局:账号页搜索、筛选和操作按钮在窄屏下换行更稳定。
  • 安全扫描修复:React Router 升级到 patched 版本,Go toolchain 提升到 1.26.4,修复 npm audit 与 govulncheck 报错;Docker 构建镜像也同步使用 Go 1.26.4 builder。

Installation

Docker (GHCR):

docker pull ghcr.io/james-6-23/codex2api:2.2.7
# 也可使用 latest tag
docker pull ghcr.io/james-6-23/codex2api:latest

Manual download:
从下方 Assets 选择对应平台的压缩包,使用 SHA256SUMS.txt 校验。

Platform Asset
Linux x86_64 codex2api_2.2.7_linux_amd64.tar.gz
Linux arm64 codex2api_2.2.7_linux_arm64.tar.gz
macOS x86_64 codex2api_2.2.7_darwin_amd64.tar.gz
macOS arm64 codex2api_2.2.7_darwin_arm64.tar.gz
Windows x86_64 codex2api_2.2.7_windows_amd64.zip

Documentation

Loading

v2.2.6

02 Jun 17:05
@github-actions github-actions

Choose a tag to compare

Codex 反代网关:Codex 上游 WebSocket 长连接模式、空闲连接保活、传输层调优与上游错误透传,配套 TLS 会话复用与账号查找优化

Features

  • Codex 上游 WebSocket 模式:系统设置新增 codex_force_websocket 开关,开启后对 Codex 上游的请求改走 WebSocket 长连接(复用 wsrelay 连接池),减少每次请求的 TLS/连接握手开销,更接近官方 CLI 体验。默认关闭,关闭时仍走原有 HTTP 路径;下游用普通 https://.../v1/responses(或 /v1/chat/completions)HTTP POST 发起的请求会被透明地转发为 wss:// 上游连接,客户端无感。
  • WS 空闲连接保活:新增 codex_ws_keepalive_enabledcodex_ws_keepalive_interval_sec(默认 60 秒),后台定期对已建立的空闲上游 WebSocket 连接发送 Ping 保活。保活不会发起新连接、不发送任何业务帧,零账号额度消耗,降低复用时的冷启动延迟。默认关闭。
  • WS 请求徽章:用量日志中,走 WebSocket 的请求会在状态码与模型之间显示一个 ws 小徽章,便于区分传输方式。
  • WebSocket 设置独立卡片:将 WS 相关设置从拥挤的"调度策略"卡片中抽出,独立成全宽的"WebSocket(Codex 上游)"卡片。
  • 内置 Codex CLI 版本升级:内置 Codex CLI 版本从 0.128.0 升级到 0.136.0,指纹更真实,并可使用更新的模型。

Fixes

  • WS 上游错误透传:上游 WebSocket 错误帧现在会作为 response.failed SSE 事件透传给客户端并保留原始错误内容,不再被转成底层 read error 而表现为"空响应 / 卡 32-90 秒"这类难以排查的现象。任何上游错误(限流、模型不支持、参数错误)现在都能被客户端看到。
  • WS 传输层健壮性:修复 wsrelay 拨号器副本丢失 NetDialContext 导致 TCP KeepAlive 从未生效的隐藏 bug;为 48-91KB 的大上游帧设置 64KB 读写缓冲与共享写缓冲池;将忙连接的固定 10ms 自旋等待改为指数退避加最大等待超时;将读超时从 60 秒放宽到 120 秒,避免长推理 turn 被误判断开;并在 WS 路径静默回退 HTTP 时打印告警。
  • TLS 会话复用:标准与 uTLS 传输现在共享 ClientSessionCache,重连走 TLS resumption(1-RTT),降低冷连接握手成本;同时调大 MaxIdleConnsPerHostIdleConnTimeout,并将 HTTP 服务改为显式 ReadHeaderTimeout/IdleTimeout + 优雅关闭(WriteTimeout 保持 0,确保流式响应不被中途切断)。
  • 账号查找 O(N) → O(1):内存账号池新增 DBID → 账号 索引,会话粘性热路径与所有 FindByID 查找不再线性扫描账号列表。

Installation

Docker (GHCR):

docker pull ghcr.io/james-6-23/codex2api:2.2.6
# 也可使用 latest tag
docker pull ghcr.io/james-6-23/codex2api:latest

Manual download:
从下方 Assets 选择对应平台的压缩包,使用 SHA256SUMS.txt 校验。

Platform Asset
Linux x86_64 codex2api_2.2.6_linux_amd64.tar.gz
Linux arm64 codex2api_2.2.6_linux_arm64.tar.gz
macOS x86_64 codex2api_2.2.6_darwin_amd64.tar.gz
macOS arm64 codex2api_2.2.6_darwin_arm64.tar.gz
Windows x86_64 codex2api_2.2.6_windows_amd64.zip

Documentation

Loading
james-6-23 and lzdyes reacted with thumbs up emoji
2 people reacted
Previous 1 3 4 5 8 9
Previous

AltStyle によって変換されたページ (->オリジナル) /