
这一小时四个仓库都没发版,但账本与冷却两处「写死在代码里」的参数各有去向:用量明细分档已进 CLIProxyAPI dev、Grok 429 冷却改配置还停在未合并的 PR。

internal/redisqueue/plugin.go 第 228–237 行,v8.0.47 的请求日志只有这八个聚合字段7cache_details、tool_usage_details、cost_details、cache_creation_5m_tokens,命中数全是零;sdk/cliproxy/usage/ 目录下也没有 detail.go8。CacheDetails 把缓存写入按 TTL 分四档,另带一个 by_ttl 映射。
sdk/cliproxy/usage/detail.go 第 5–15 行;同一文件还给出服务端工具计数、usage.iterations[] 与成本明细10ephemeral_5m_input_tokens 与 ephemeral_1h_input_tokens,要么去 sub2api 的 usage_logs 看那两列——它已经存了13。accounting_version 字段。这套明细上线后,跨版本对账要按版本分组,否则一次口径调整就把趋势打断了。finish_reason 落在碎块里被丢掉,客户端最后收到一条 50214。splitRelayFrames 切成帧,再逐帧翻译。块与块之间没有缓冲,一帧跨块就断15。RelaySSEBuffer,没写完的帧留在缓冲里等下一块16。
helps/relay_sse_buffer.go 第 5–40 行,合并提交 265ca179 新增;Feed 保留未完成帧,Finish 冲最后一帧17Finish() 补上;收尾流程里先冲缓冲再结束,最后一帧不漏。
grokRateLimitResetAtForAccount 第 1784–1814 行:静默期一小时内重复 429 才踩阶梯,按上一次冷却长度选下一档19isGrokOAuthAccount 要求 platform 是 grok、type 是 oauth20。grok_pool_mode_error_state_skipped 就返回21。TempUnschedulableUntil 字段,没有调用规则匹配。tempUnscheduleGrok 只用于 401(10 分钟)、402(30 分钟)、403(30 分钟)与 5xx(2 分钟)。后台的「429 默认回避」走通用 handle429,Grok 自己处理错误,不经过它。
GATEWAY_GROK_RATE_LIMIT_*。min_cooldown_seconds 是所有 429 冷却的下限,连上游给的 Retry-After 与额度窗口 reset 一起抬;要「429 之后至少歇一天」就写 86400,校验上限 30 天。manual_recovery 在网关真收到 429 时顺手把调度关掉,等人来开。冷却本身照写,所以提前开调度仍然守上游的 reset。mergeable_state 是 unstable、零人工评审。就算合了,也要等下一次 sub2api 发版。POST /api/v1/admin/accounts/:id/clear-rate-limit24。usage_logs。AttachWebsocketRoute 在 home 模式直接返回,同时把 ws 鉴权强制打开26。/v1/ws 不存在,别在那里指望 aistudio 的 ws 中继。github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
status.openai.com
status.claude.com
status.cloud.google.com
codex-reset.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.