- apollo7772026-09-1431727
请教个问题,就是用codex,ccswitch进行api和官方进行切换的时候,怎么保证会话是可以一直读取的,目前知道的是ccswitch有一个统一codex历史会话的功能,但是打开这个功能之后,我用官方订阅切换第三方api,提示无法打开会话,请加一下大家有没有什么好的建议和办法。
主楼 - XanderC2026-09-1437914
我也遇到了这个问题,是不是可以写个脚本把数据库记录里的provider也一起切换
- UncleTestu2026-09-1430428
不要 resume 之前的会话,而是新开会话让它直接读取上一个会话的本地记录(.jsonl文件)。
- Ming_Wu2026-09-1524093
- L-kongbai2026-09-1523797
(帖子已被作者删除)
- L-kongbai2026-09-1523797
把这段提示词甩给codex
总结
检查是否有 launchd、shell profile、Codex++ 启动参数或 CODEX_HOME 环境变量导致会话目录变化。请帮我配置 Codex,使我在官方 Plus 账号和多个第三方 API provider 之间切换时,左侧会话历史始终保留。
请先只读检查,不要立即修改文件。重点检查:
- 当前 CODEX_HOME 是否统一为 ~/.codex
- sessions、archived_sessions 是否被不同 provider 分流
- state_5.sqlite、sqlite/state_5.sqlite、sqlite/codex-dev.db 中是否存在不同的 model_provider 值
- 侧边栏索引是否依赖 .codex-global-state.json
- 是否存在启动脚本、环境变量或不同配置目录导致会话被分开保存
我的目标是:
- 所有 provider 共用同一个 ~/.codex 会话目录
- 不删除任何历史会话
- 不按 provider 创建多个会话数据库
- 切换 provider 时,历史线程仍然能在左侧显示
- 官方 Plus 和第三方 API 都可以正常新建和继续旧会话
请根据检查结果设计一个安全方案,要求:
- 关闭 Codex/Codex++ 后再修改数据库
- 修改前自动备份整个 ~/.codex,至少备份:
- state_5.sqlite
- sqlite/state_5.sqlite
- sqlite/codex-dev.db
- .codex-global-state.json
- config.toml
- 统一同步以下字段:
- threads.model_provider
- local_thread_catalog.model_provider
- 如果侧边栏索引缺失,重建:
- thread-client-id-v1
- thread-descriptions-v1
- thread-project-assignments
- thread-workspace-root-hints
- projectless-thread-ids
- 生成一个可重复执行的切换脚本,例如:
switch-provider openai
switch-provider custom
- 脚本必须:
- 自动检测 Codex 是否仍在运行
- 修改前创建带时间戳的备份
- 执行 SQLite integrity_check
- 输出修改前后每个 provider 的线程数量
- 支持 rollback
- 不要直接删除数据库、sessions 或 archived_sessions
- 不要修改 API key,不要把密钥写入脚本或日志
- 先告诉我将要修改哪些文件和字段,得到确认后再执行
请优先采用 Codex 现有的数据结构,不要重新设计会话系统
- 白昭2026-09-1537915
我建议还是分隔开吧,我怀疑我就是开了这个功能导致被风控了。这样相当于一个session在多个gpt账号中使用运行喵。

