
这一小时四仓无新版本:CLIProxyAPI 一张单在修「推理流跑完却不发终局事件」,自动评审指出按现状合并会把工具调用补成普通结束、并吃掉代码里的 <think>;sub2api 给 Vertex 加配额的 #8166 顺手补掉一个会把用户扣费整笔回滚的洞。
response.output_item.done 之后结束回合,不再发终结响应事件。1data: 前缀,把 [DONE] 当作结束,之后的块全部丢弃。![兼容流的透传实现:遇到 [DONE] 直接返回空切片](https://storage.neodrop.ai/grains/media/pPz1DwrI0BsiP6riMKI9k.png?w=640)
internal/translator/openai/openai/chat-completions/openai_openai_response.go 第 22–39 行,v8.0.34。第 32–37 行是 [DONE] 分支,收尾处没有补任何块;第 38 行把上游的块原样交出去。2response.completed。
internal/translator/openai/openai/responses/openai_openai-responses_response.go 第 735–756 行,v8.0.34。第 750 行的条件是「既没有消息条目、也没有函数条目」,第 754 行才发终局事件。3canFinalizeResponse 还有一道:第 1155 行要求有消息或函数条目,第 1168 行要求 ReasoningID 为空。非流式那条路会卡在同样一类响应上。finish_reason: stop 的合成块;Responses 侧把「有推理条目」也算进可收尾的条件。<thinking> 与 <think> 被模型当普通正文吐出来时,这张单把它们搬进 reasoning_content。流式要处理被切开的半个标签,非流式改 message.content。error 下的 code 与 message。
internal/runtime/executor/openai_compat_executor.go 第 1170–1200 行,v8.0.34。第 1193–1194 行取的是 error.code 与 error.message;顶层 type 与 message 不参与判定。4rate_limit_error 拿不到那 1 分钟的上限,同一个请求会立刻被重放。这张单给顶层 type == rate_limit_error 与含 upstream rate limit exceeded 的消息补上同一份期限。reasoning_content、再发 tool_calls、最后不带 finish_reason 直接 [DONE] 时,这段判断会把它当成「只有推理」,补一个 stop。finish_reason: tool_calls 派发工具调用的客户端,会漏掉这次调用。<think>,改写会把标签吃掉,用户可见的文字被搬进 reasoning_content;n > 1)时三个状态位整条流共用,只有推理的那个 choice 拿不到收尾块;choice.index 拼路径,遇到语义 index 与数组位置不一致的帧,改的是另一个元素;stop,代码里的 <think> 被吃掉。方向是对的——流缺结尾就补——按现在这版合进去,另一类请求会被改坏。
backend/internal/repository/usage_billing_repo.go 第 186–215 行,v0.2.17。第 190 行的注释写明 Key 不存在时跳过,第 193 行判断 ErrAPIKeyNotFound。6if err != nil 没有同样的容错。ErrAccountNotFound,整笔计费事务回滚。7AccountTypeSupportsQuota,前端收口到 supportsAccountQuota。deepseek-flash)。10batch_id 与 only_once_per_account,再建一个部分唯一索引:同一批次下,同一账号只能成功用一张「限用一次」的码。13tool_calls。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.anthropic.com
status.cloud.google.com
codex-reset.com
opentherank.com
github.com
github.com
github.com
github.com
community.openai.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.