[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-96436":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":17,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":18,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":25,"readmeContent":26,"aiSummary":10,"trendingCount":16,"starSnapshotCount":16,"syncStatus":15,"lastSyncTime":27,"discoverSource":28},96436,"ccodex-sleep-state","gylive\u002Fccodex-sleep-state","gylive","尝试改善 Codex 降智、限流与连接体验。本地一键启动、网页配置修复，支持 Astra \u002F Sol \u002F Terra、订阅和代理；不保证取得指定 state 或提升模型质量。","",null,"Go",455,135,134,2,0,154,462,6.4,"GNU General Public License v3.0",false,"main",true,[],"2026-09-21 02:04:32","# ccodex-sleep-state\n\n**一个尝试改善 Codex 降智、限流和连接问题的本地工具。不是百分百有效，但把这套思路做成了大家能自己用的程序。**\n\n做这个项目，是因为 Codex 有时用着用着就不对劲：回答质量变了，请求被限了，换个配置又接不上。我们从代理出口和 turn-state 入手做了一些尝试，觉得值得继续验证，就整理成 Go 程序开源了。\n\n它不会增加账号额度，也不能保证换个出口就恢复质量。真正要做的是：**让连接、配置、采集和排错都看得见，别把所有问题都留给使用者手改文件。**\n\n一个服务，一个本地网页。官方 ChatGPT、官方 API key 和 Responses 中转按各自的认证方式走；支持 Astra、5.6 Sol、5.6 Terra，能否调用仍取决于你的账号和上游。已有代理软件就填本地 HTTP \u002F SOCKS5 地址，也可以导入自己的订阅或本地文件。\n\n[Windows 上手](docs\u002Fwindows.md) · [macOS 上手](docs\u002Fmacos.md) · [面板教程](docs\u002Fweb-panel.md) · [代理与订阅](docs\u002Fproxies.md) · [问题与验收清单](docs\u002Fissues-and-verification.md) · [测试记录](docs\u002Ftesting.md) · [联系与交流](#一起试一起反馈)\n\n> **当前仍是公开测试版。** 此 README 描述当前源码；下载时以对应 Release 的说明为准，旧发布包不会自动多出新功能。本轮真实 Sol 回复、V2 远程压缩及压缩后回复、Terra 回复已跑通；追加的两次 Astra 短回复也成功，但本轮仍没有采到合格 292；旧式 V1 压缩直连上游返回 404，Team 仍只做合成测试。不能把部分成功写成全部验收通过。具体边界见[问题与验收清单](docs\u002Fissues-and-verification.md)。\n\n## 下载后，怎么开始\n\n先确认 Codex **不经过本工具时原本就能用**。官方账号先登录；中转先配好自己的 API key。用 CCS \u002F CC Switch 的，先选好这次要用的配置，再退出 Codex，暂时别继续切换。\n\n1. 到 [Releases](https:\u002F\u002Fgithub.com\u002Fgylive\u002Fccodex-sleep-state\u002Freleases) 下载并完整解压。普通 Windows 选 `windows-amd64`，Windows ARM 选 `windows-arm64`；Apple 芯片 Mac 选 `darwin-arm64`，Intel Mac 选 `darwin-amd64`。\n2. **Windows 双击 `start.cmd`，macOS 双击 `start.command`。** 浏览器会自动打开并进入本地面板，不需要先复制口令。\n3. 程序会自动备份并接入，打开面板。看到已接管后，**重启 Codex，新建会话**，发一条短消息；不用再点一次接入。旧会话不会被热切换。\n\n已有代理、订阅、模型和注入开关会保留；没有配过来源时尝试识别常见本地代理。首次 `setup` 没有明确设置兜底策略，就采用“采不到 state 时先正常转发”；之前明确选过严格模式的会继续保留。\n\n没有找到本地代理，或你只拿到了订阅链接，再到「订阅与代理」填写并保存。首页「一键接入 Codex」用于需要时重新检查和修复，不是每次启动的必点步骤。\n\n如果浏览器没有打开，按终端显示的地址手动进入，再粘贴本次管理口令。默认地址是 [http:\u002F\u002F127.0.0.1:17841\u002Fadmin\u002F](http:\u002F\u002F127.0.0.1:17841\u002Fadmin\u002F)。如果包里没有启动脚本，可以在程序目录执行以下命令；旧版不支持 `setup` 时先更新。\n\nWindows：\n\n```powershell\n.\\ccodex-sleep-state.exe setup\n```\n\nmacOS：\n\n```sh\n.\u002Fccodex-sleep-state setup\n```\n\n`setup` 会创建缺失的服务配置、启动服务并打开面板；已有订阅和代理设置不会被重置。自动接入只检查本机 `127.0.0.1` 的常见 SOCKS5 端口，不扫描网络、不读取代理软件账号库。**启动本身不发送模型请求**；接入 Codex 后的采集可能消耗额度。服务 JSON 写坏了会进入修复面板，不会因为启动失败就静默删掉旧文件。\n\n服务运行时保留终端窗口。退出用 **Ctrl+C**，等配置恢复完成，再重启 Codex。关闭浏览器、关闭注入和停止服务，是三个不同操作。\n\n## 面板里能做什么\n\n| 你想做的事 | 去哪里 |\n| --- | --- |\n| 看 Codex 有没有接上、请求有没有经过 | 「开始使用」里的配置、请求计数和会话 |\n| 开关 state 注入 | 「turn-state 注入」；开关开启不代表已经拿到合格 state |\n| 切 Astra \u002F Sol \u002F Terra | 「连接设置」里的模型与账号规则；修改默认模型后重启 Codex 或新建会话 |\n| 调整采集时间与次数 | 「连接设置」→「采集时间与次数」；支持默认值、低频预设、撤销修改和保存确认 |\n| Team 账号不再死等 292 | 「连接设置」选自动识别，识别不了就手动选 Team |\n| 没有合格 state 时先正常回复 | 首次 setup 未设置策略时采用普通转发兜底；「连接设置」可明确改成严格 |\n| 填本地代理、远程订阅、本地订阅文件 | 「订阅与代理」；不用手改 JSON，也不用猜环境变量在哪个终端生效 |\n| 测试连接、固定出口、恢复自动选择 | 「路由」；连接成功不代表拿到了合格 state |\n| 从旧版本或 CCS 冲突中恢复 | 「检查与修复配置」；先预览，再确认保留当前配置或恢复备份 |\n| 不知道怎么反馈问题 | 「遇到问题」下载脱敏诊断，或运行 `doctor` |\n\n[面板教程](docs\u002Fweb-panel.md)有逐步操作，不需要先看懂代码。我们也对照研究了 GPT-Load 的路由诊断、失败分类和部署体验，但**没有把它的账号池、所有协议、计费和多渠道平台完整移植进来**。[功能映射与取舍](docs\u002Fgpt-load-design.md)\n\n## 292、332 到底是什么\n\n程序处理的是响应里的 `X-Codex-Turn-State`。它从候选出口发短请求，检查封装、时间和密文块数，保存可用值；后续请求带上这份值，并走对应出口。\n\n| 账号规则 | 本项目接纳的经验形状 | 不会当成合格值 |\n| --- | --- | --- |\n| 个人 | 10 块，通常 292 字符 | 11 块 \u002F 312 字符 |\n| Team \u002F Business | 12 块，通常 332 字符 | 13 块 \u002F 356 字符 |\n\n**这不是 OpenAI 公布的质量指标。** 符合长度不证明模型“满血”，不符合也不能只凭这一点断定代理坏了或模型降智了。\n\n自动识别使用当前请求里的套餐提示，提示不明确时会说明采用了什么规则；不会仅凭长度把账号认成 Team。你也可以在面板明确选个人或 Team。state 按账号、凭据和模型隔离，不在 Astra、Sol、Terra 之间混用。\n\n没有合格 state 时有两种选择：\n\n- **严格模式。** 不使用不合格 state；采集失败返回明确原因。明确选过 `strict`，之后 `setup` 不会自动覆盖。底层转发在策略为空时仍按严格处理。\n- **普通转发兜底。** 首次 `setup` 没有明确策略时采用，也可在面板自行开启；重新点首页接入按钮会提示并选择此模式。 没有可用 state 时不注入，仍走选定出口，正式请求最多转发一次。状态会说明本次没有注入，而不是假装采集成功。\n\n兜底不是解除限流。401、403、429 的停止规则照常生效；已经发到上游的正式生成不会换出口再重放一次。\n\n## CCS、中转和官方登录怎样兼容\n\n程序只处理当前 Codex 选择的 provider，不接管 CCS 的账号数据库。它读取上游与认证方式，临时把 Codex 的入口接到本地服务，停止后恢复。\n\n| 你原来怎么用 | 本工具怎么处理 |\n| --- | --- |\n| 官方 ChatGPT 登录 | 可采集、注入 state，也可关闭注入 |\n| OpenAI 官方 API key | 按 API 通道转发，不当成 ChatGPT 订阅登录 |\n| Responses 中转、CCS API key | 保留原上游和 API key 方式，不向中转发送官方登录凭据，不注入官方 state |\n| Codex profile \u002F 独立 Codex Home | 需要选择同一份配置；本工具不会自动清空项目或任务级覆盖 |\n\n运行中只改注释或无关设置，不应再把整份配置判为冲突。**CCS 真正切换了 provider、上游或认证时，仍会停止转发**，防止凭据送错地方。这时去面板检查并保留当前配置，再重新接管；不要删除事务文件，也不用照着群消息盲改 TOML。\n\n最稳妥的切换顺序还是：**停止本服务 → CCS 切换 → 启动本服务 → 重启 Codex。** 兼容不是让两个程序同时抢写同一份配置。\n\n远程上下文压缩单独验收：本轮真实 Sol 的新版 V2 压缩及压缩后继续回复已成功；旧式 V1 直连上游返回 404，发送前桥接已在本地模拟客户端通过，但追加真实验收的第一条 Sol 回复发生出口传输失败，不能写成所有压缩方式都已跑通。[压缩问题进展](docs\u002Fissues-and-verification.md#p01-远程上下文压缩优先项)\n\n## 有问题，先看这几项\n\n| 现象 | 下一步 |\n| --- | --- |\n| 面板能打开，但显示「未接管」 | 服务启动不等于 Codex 接入。处理配置提示；确认不是 `--no-config` 只读模式 |\n| Codex 能回复，面板没有请求 | 重启 Codex，检查是不是另一份配置、profile、任务覆盖或另一实例 |\n| `codex_config_changed` \u002F 409 | 面板点「检查与修复配置」，优先保留 CCS 当前配置，再重新接管 |\n| `state_unavailable` \u002F 本地 503 | 看账号规则、采集诊断和冷却；需要先用时可明确选普通转发兜底或关闭注入 |\n| `state_shape_changed` | 正式请求可能已经消耗额度，服务不会自动重放；检查规则和上游变化 |\n| 415 \u002F 不支持请求编码 | 新版支持官方客户端的 gzip\u002Fzstd 请求；确认不是仍在运行旧版，再查看脱敏诊断 |\n| 上游 503 \u002F 502 \u002F 超时 | 查看出口连接及上游情况，不能改个 state 长度掩盖网络问题 |\n| 401 \u002F 403 \u002F 429 | 分别处理登录、访问权限或等待限流恢复，不通过换 IP 继续撞 |\n| 服务配置 JSON 坏了 | `setup` 打开只读修复面板，确认备份后重建，重新启动 |\n| Codex 提示 `503 service_not_ready` | 直接打开错误里的 `admin_url`，按面板唯一的绿色按钮「一键接入 \u002F 检查与修复」操作；不要在 CCS 或 Codex 里手改配置 |\n| Codex TOML 坏了 | 先保留备份；使用明确的重建流程或让 CCS 重新生成，不从坏文件里猜 API key |\n\n给群友或 AI Agent 发排查信息，先运行：\n\n```powershell\n.\\ccodex-sleep-state.exe doctor\n```\n\nmacOS 对应 `.\u002Fccodex-sleep-state doctor`。不要发 `auth.json`、管理口令、完整订阅或整个数据目录。更多问题、修复与尚未验收项都记录在[问题清单](docs\u002Fissues-and-verification.md)，不会只留在聊天记录里。\n\n## v0.4.0：更简单的配置与可控代理池\n\n本版新增：**拿到可用值后固定使用**、多订阅代理池、手动粘贴\u002FTXT 导入、已用\u002F失败清单、单节点重试，以及独立出口与大请求设置。首页给出下一步操作，复杂参数留在高级设置里。\n\n现有版本不会自动升级。下载前请看[v0.4.0 发布说明](docs\u002Frelease-v0.4.0.md)和[升级与回退指南](docs\u002Fupgrade-0.4.0-preview.md)，运行边界见[合规与风险说明](docs\u002Fcompliance.md)。\n\n## 用之前知道这些边界\n\n- 支持的模型是 **`gpt-6-astra`、`gpt-5.6-sol`、`gpt-5.6-terra`**，上游必须实际提供对应模型。工具不会替你开通权限，也不会悄悄换模型。\n- 目前走 **Responses HTTP \u002F SSE**，不支持 WebSocket 和任意协议转换。\n- 采集会使用实际额度。默认每轮最多 6 个候选出口，单次探测最多 20 秒，两轮至少间隔 180 秒。正常生成请求不自动重放。\n- 代理支持 HTTP、HTTPS、SOCKS5，以及 Clash\u002FMihomo YAML、逐行 URI、Base64 URI 订阅。内嵌出站适配支持 AnyTLS、SS、SSR、VMess、VLESS、Trojan、Hysteria、Hysteria2、TUIC；不导入订阅的 TUN、DNS 或系统规则。[具体限制](docs\u002Fproxies.md)\n- 认证值和完整 state 不写常规日志。程序没有遥测，不把日志上传给作者；但本地代理配置和恢复备份仍可能含敏感信息，要自己保管。\n- 不切换系统代理，不刷新 Codex 登录，不使用重置卡。中转站能接上不代表 state 思路对中转也有效。\n\n## 文件一般放在哪\n\n| 内容 | Windows | macOS |\n| --- | --- | --- |\n| 程序，建议完整解压位置 | `%LOCALAPPDATA%\\Programs\\ccodex-sleep-state` | `~\u002FApplications\u002Fccodex-sleep-state` |\n| 本工具配置与日志 | `%LOCALAPPDATA%\\ccodex-sleep-state` | `~\u002FLibrary\u002FApplication Support\u002Fccodex-sleep-state` |\n| 默认 Codex 配置 | `%USERPROFILE%\\.codex\\config.toml` | `~\u002F.codex\u002Fconfig.toml` |\n| 接管前备份 | 与 Codex 的 `config.toml` 同目录 | 与 Codex 的 `config.toml` 同目录 |\n| 修复时新增的归档 | 本工具数据目录下的 `backups` | 本工具数据目录下的 `backups` |\n\n设置过 `CODEX_HOME` 会跟随它；本工具还有 `CCODEX_STATE_HOME` 和 `--data-dir`。不确定实际用的是哪份，运行 `paths`，不要凭目录名猜。\n\n## 一起试，一起反馈\n\n用起来有没有改善、哪个版本接不上、什么情况下又出问题，都欢迎来聊。报错和复现步骤也可以提 [Issue](https:\u002F\u002Fgithub.com\u002Fgylive\u002Fccodex-sleep-state\u002Fissues)，方便后面查找。\n\n| 个人微信 · 等待 | QQ 群 · 此间大梦无边 |\n|:---:|:---:|\n| \u003Cimg src=\"docs\u002Fassets\u002Fwechat-personal.jpg\" alt=\"作者个人微信二维码，扫码添加好友\" width=\"280\"> | \u003Cimg src=\"docs\u002Fassets\u002Fqq-group.jpg\" alt=\"QQ 群“此间大梦无边”二维码，群号 754842541\" width=\"280\"> |\n| 扫码添加作者个人微信；这是好友二维码，不是微信群入口。 | 扫码，或搜索群号 **754842541**。 |\n\n### 朋友的卡网 · RedeemAI\n\n\u003Cimg src=\"docs\u002Fassets\u002Fredeemai-ad.jpg\" alt=\"朋友的卡网 RedeemAI：AI 服务兑换及 Codex 额度相关商品，具体信息见卡网页面\" width=\"640\">\n\n朋友的卡网：[faka.redeemai.org](https:\u002F\u002Ffaka.redeemai.org)。友情展示，商品、价格及售后以卡网页面为准，图中的服务承诺未由本项目核验。本工具免费使用，无需购买；不代表 OpenAI 官方授权或背书。\n\n\n反馈时带上系统、Codex 版本、工具版本和错误提示就够了。**不要发账号凭据、完整订阅链接或未经检查的配置文件。**\n\n## 想改代码\n\n项目用 Go 编写，静态管理页嵌入二进制，不需要另外启动前端服务。\n\n- `cmd\u002Fccodex-sleep-state`：命令、一键入口、诊断。\n- `internal\u002Fcodexconfig`：provider 解析、接管、语义检查与可恢复修复。\n- `internal\u002Fgateway`：模型与账号隔离、采集、压缩和流式转发。\n- `internal\u002Fturnstate`：封装规则、当前值与备用值。\n- `internal\u002Fproxyroute`：订阅和出站连接。\n- `internal\u002Fservice`：单实例、面板、配置热切换和请求诊断。\n\n[构建方法](docs\u002Fdevelopment.md) · [设计取舍](docs\u002Farchitecture.md) · [GPT-Load 功能映射](docs\u002Fgpt-load-design.md) · [隐私说明](SECURITY.md)\n\n## 许可证\n\nGPL-3.0，见 [LICENSE](LICENSE)。代理部分复用了 Mihomo，见 [依赖说明](THIRD_PARTY_NOTICES.md)。本项目与 OpenAI、Mihomo、GPT-Load 没有隶属关系。\n","2026-09-20 02:30:03","CREATED_QUERY"]