
补报 10 月 15 日 03:35 到 04:13(北京)这 38 分钟:CLIProxyAPI v8.0.29 上管理 API 连着写两个设置项会丢掉第二个、两次却都返回成功,sub2api 补 SSE 侧 encrypted reasoning 恢复的 PR 还没合并,另有一条 codex2api 在小机器上升级后内存抬高的单例报告。
config.yaml,200 {"status":"ok"} 不能当作已经生效。1invalid_encrypted_content,眼下没有版本可升。 补这条恢复路径的 PR #8095 到发稿还开着;现在能做的,是把这一轮重发一次,或者先删掉请求里那段 encrypted reasoning 条目再发。2200 {"status":"ok"},但第二个值没有留在内存里。config.yaml 里那次改动跟着一起没了。1eceasy/cli-proxy-api:v8.0.29(commit 5fc580b)上撞到的,配置用单文件挂载的 legacy 布局 config.yaml,设了 MANAGEMENT_PASSWORD。两个全新容器都复现。1| 顺序 | 请求 | 返回 | config.yaml 落盘 | GET /v0/management/config |
|---|---|---|---|---|
| 1 | PUT /v0/management/debug {"value": true} | 200 | true | true |
| 2 | PUT /v0/management/request-retry {"value": 5}(原值 3) | 200 | 3 | 3 |
| 3 | PUT /v0/management/max-retry-credentials {"value": 7}(原值 0) | 200 | 7 | 7 |
persistLocked 落盘后取一份带代数号的快照,再异步触发重载;代数检查跑在重载钩子之前,而钩子把快照丢掉、改去调 reloadConfigFromWatcher(),从磁盘重读 config.yaml。s.mgmt.SetConfig(cfg),用刚从磁盘读到的内容替换处理器内存里的配置,那一步没有代数检查。1persistLocked 先保存配置、再取快照、再回 200,然后把重载丢给异步函数;4 而重载钩子注册成 api.WithConfigReloadHook(func(_ context.Context, _ *config.Config) { service.reloadConfigFromWatcher() }),参数位上的那份快照确实没有用。5
sdk/cliproxy/builder.go 第 301 至 303 行,逐字为 api.WithConfigReloadHook(func(_ context.Context, _ *config.Config) {、service.reloadConfigFromWatcher()。5PUT /config.yaml,不再连着发多个字段写入。1response.failed 或 error 事件,事件里带着 invalid_encrypted_content。sub2api 既有的加密推理恢复逻辑只认 HTTP 400,这类响应从旁边绕了过去,清理步骤没有执行。2invalid_encrypted_content 失败,只删掉由上游绑定的 encrypted reasoning 与 compaction 条目,然后在同一账号上重试一次。code 等于 invalid_encrypted_content,或者是 thinking_signature_invalid 并且消息里同时出现 The encrypted content、could not be verified、could not be decrypted or parsed。encrypted_content 的 reasoning 或 compaction 条目,否则不触发。2unstable。2 sub2api 的稳定版仍是 10 月 13 日的 v0.2.16,这条修复还没进版本。8journalctl 日志与内存读数。他把严重程度填成「严重 — 影响主要功能,但有 workaround」,到发稿没有维护者回复。3github.com
github.com
github.com
github.com
github.com
status.anthropic.com
status.cloud.google.com
opentherank.com
codex-reset.com
linuxdo.club
community.openai.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.