- ai快给我干活去2026-09-0523944
1:切第三方后官方登录丢失
解决:
先切到
OpenAI Official,完全退出 Codex,然后:```
codex logout
codex login
``选择:``
Sign in with ChatGPT
``再检查:``
codex login status
``确认显示:``
Logged in using ChatGPT
``然后 CC Switch 开启:``
设置
→ 通用
→ Codex 应用增强
→ 切换第三方时保留官方登录
```这样切第三方后,官方 OAuth 和插件还能保留。2:官方会话切到第三方后打不开
报错:```
Model providercc-switch-officialnot found
``或者第三方旧会话切官方时报:``
Model providercustomnot found
```解决:开启 CC Switch 的:```
统一 Codex 会话历史
``同时修改了:``
会话 JSONL:
session_meta.payload.model_provider数据库:
state_5.sqlite
threads.model_provider
```改完后,这个旧官方会话就能在第三方里继续用了。3:第三方用过的会话再切回官方,报 401 / 502
我遇到过:```
502 Bad Gateway
``和:``
401 Unauthorized: Invalid API key
```而且报错 URL 还是第三方地址:说明虽然 CC Switch 已经切到官方,但这个会话实际还在走第三方。
解决:
把 CC Switch 的“路由”关闭。
最后使用:```
✓ 切换第三方时保留官方登录
✓ 统一 Codex 会话历史
✗ 路由
``ccs中的OpenAI Official,config.toml 里的 custom 改成:``
model_provider = "custom"[model_providers.custom]
name = "OpenAI"
requires_openai_auth = true
supports_websockets = true
wire_api = "responses"
```注意:官方状态下不要保留第三方 base_url
比如不能再有:```
base_url = "https://hub.oaifree.com/v1"开启路由 可以做到:``` ✓ 保持官方 ChatGPT 登录状态 ✓ 正常使用官方插件 ✓ 官方订阅本身也能正常使用 ✓ 平时主要使用第三方中转 ```但是问题是: **第三方会话和官方会话不能稳定继续同一个历史会话** 实际会出现:``` 官方会话 → 第三方继续 有时可以 第三方使用过的会话 → 再切官方继续 容易继续命中第三方 provider, 出现 401 / 502 等问题 ```所以“开启路由”更适合这种情况:``` ✓平时主要使用中转站 ✓希望 Codex 一直保持官方登录 ✓需要稳定使用官方插件 ✓偶尔单独使用官方订阅 ```不适合频繁在:``` 官方订阅和第三方中转之间继续同一个长会话。如果主要需求是:```
同一个 Codex 会话
可以在官方订阅和第三方中转之间来回继续
``则使用:``
✗ 路由
✓ 切换第三方时保留官方登录
✓ 统一 Codex 会话历史
``并把会话统一到:``
custom
``实测这样可以:``
官方会话 → 第三方继续
✓第三方会话 → 官方继续
✓
``所以简单来说:``
开路由:
适合“主要用中转 + 保持官方登录和插件”关路由:
适合“官方和第三方来回继续同一个会话”查看所有会话和对应 provider:``` @' import sqlite3 from pathlib import Path db = Path.home() / ".codex" / "state_5.sqlite" conn = sqlite3.connect(db) for row in conn.execute(""" SELECT id, title, model_provider, rollout_path FROM threads ORDER BY updated_at DESC """): print(row) conn.close() '@ | python - ```只看某个 provider,比如 `cc-switch-official`:``` @' import sqlite3 from pathlib import Path db = Path.home() / ".codex" / "state_5.sqlite" conn = sqlite3.connect(db) for row in conn.execute(""" SELECT id, title, model_provider, rollout_path FROM threads WHERE model_provider = ? """, ("cc-switch-official",)): print(row) conn.close() '@ | python - ```把某一个会话改成 `custom`:``` @' import sqlite3 from pathlib import Path THREAD_ID = "你的会话ID" TARGET = "custom" db = Path.home() / ".codex" / "state_5.sqlite" conn = sqlite3.connect(db) cur = conn.execute(""" UPDATE threads SET model_provider = ? WHERE id = ? """, (TARGET, THREAD_ID)) conn.commit() print("修改行数:", cur.rowcount) conn.close() '@ | python - ```如果要批量把所有 `cc-switch-official` 改成 `custom`:``` @' import sqlite3 from pathlib import Path db = Path.home() / ".codex" / "state_5.sqlite" conn = sqlite3.connect(db) cur = conn.execute(""" UPDATE threads SET model_provider = 'custom' WHERE model_provider = 'cc-switch-official' """) conn.commit() print("修改行数:", cur.rowcount) conn.close() '@ | python -主楼 - 二月萧萧2026-09-057765
虽然说也是分享吧 但是ai生成(
- 灼眼のシャナ2026-09-059798
我以前配置的第三方的provider id不是custom,还折腾了一下给ccs加了个可以改provider id的配置项

cc-switch-official这个也是,默认这个值,也给加了个配置


总算是所有对话都能随意切换了
- Qing3-linuxdo2026-09-0510777
佬,AI生成的内容要用截图