资讯动态

Codex 多供应商多ip会话一致性解决方案

发布时间:2026/8/8 6:31:46 来源:尧图企业网站定制
Codex 会话一致性解决方案一句话结论同一台服务器上只要使用同一 Linux 用户、同一 Codex 入口和同一个CODEX_HOME无论通过127.0.0.1、192.168.x.x或其他网卡 IP 登录也无论启动默认codex还是任意 profile/resume都应读取同一份跨 provider 会话列表。问题现象修复前不同入口看到的/resume列表不一致默认codex主要显示 xiaosi provider 的会话codex3060主要显示 3060 Ollama provider 的会话从不同目录或不同环境进入时还可能受到cwd、会话类型或CODEX_HOME的影响结果是会话文件仍然存在但目标会话没有出现在列表中无法从当前 profile 切入。完整逻辑链这条逻辑包含两个缺一不可的层次存储层一致所有入口必须读取同一个CODEX_HOME和同一个sessions目录。列表层一致恢复选择器必须取消 provider、cwd和会话来源造成的过滤。只统一会话目录而不取消过滤会出现“文件在但列表看不到”只取消过滤而使用不同CODEX_HOME会出现“列表逻辑相同但读取的是不同数据”。根因根因一会话根目录可能分叉Codex 根据CODEX_HOME确定配置、状态和会话目录。如果两个终端使用不同用户或不同CODEX_HOME它们读取的会话数据天然不同。本机统一后的会话目录是/home/zhuyq/.codex/sessions根因二恢复列表存在过滤即使会话文件位于同一目录官方恢复选择器仍可能按以下条件过滤当前 model provider当前工作目录cwd是否属于非交互会话。默认 xiaosi、3060 Ollama 和其他 profile 使用不同 provider因此旧运行时下的/resume会显示不同集合。实际修复1. 固定唯一 Codex 入口日常执行的codex是以下包装入口/home/zhuyq/.local/bin/codex它固定设置export CODEX_HOME/home/zhuyq/.codex因此默认入口和所有 profile 共用同一配置根目录与会话目录。2. 使用跨 provider 运行时包装入口调用/home/zhuyq/.local/libexec/codexdp-resume-any-provider-zh该运行时让 TUI 的/resume使用跨 provider 恢复视图不再只显示当前 provider 创建的会话。3. 补齐命令行恢复参数执行顶层codex resume时包装入口自动补充--all --include-non-interactive参数作用参数作用--all取消当前cwd过滤--include-non-interactive包含exec等非交互会话4. 统一默认 xiaosi 配置默认配置和xiaosiprofile 使用相同的ai-xiaosiprovider、base_url、wire_api和内置 bearer token/home/zhuyq/.codex/config.toml /home/zhuyq/.codex/xiaosi.config.toml密钥不会写入本文档。多网卡和不同 IPIP 地址本身不是 Codex 会话的存储键。以下连接只要最终进入同一台机器、同一用户环境就应读取同一列表127.0.0.1 192.168.x.x 服务器其他局域网或公网 IP不同 IP 出现列表不一致时真正需要检查的是whoami printf %s\n $CODEX_HOME readlink -f $(command -v codex)正确结果应满足检查项期望值用户zhuyqCODEX_HOME/home/zhuyq/.codexcodex入口/home/zhuyq/.local/bin/codex如果三项一致网络入口不会导致会话分裂。使用方法默认入口codex3060 profilecodex3060进入 TUI 后执行/resume也可以直接按 ID 恢复codex resume SESSION_ID codex -p 3060 resume SESSION_ID手工验收流程验收必须比较真实 TUI 的/resume不能只以codex --version或 CLI 能启动作为通过依据。退出所有修改前已打开的 Codex TUI 和 App Server。新开终端运行codex输入/resume记录列表中的会话数量和若干目标会话。退出后运行codex3060输入/resume核对数量和目标会话是否相同。对其他 profile 重复上述步骤。如需验证多网卡分别通过127.0.0.1和192.168.x.x登录在两边先核对用户、CODEX_HOME和codex入口再比较/resume。从任意 profile 选择由另一个 provider 创建的会话确认能够实际进入而不只是列表中可见。验收条件所有入口的/resume显示同一会话集合跨 provider 会话能够实际切入不同网络入口使用相同用户、CODEX_HOME和codex路径。已验证与未验证2026-08-06 曾对默认、3060、claude-code-router、deepseek、huoshen和xiaosi六个配置入口进行程序化列表对比当时均返回 145 个活动会话排序后的 ID 哈希均为f4a954577286e790。该结果是当时状态不代表会话数量永久保持 145。原验收回归脚本已按要求删除当前不再提供该脚本。尚未完成的验证没有在本文档本次更新中分别通过127.0.0.1和192.168.x.x建立两个真实远程 TUI 做对照。因此多 IP 结论来自已统一的本机用户、入口和CODEX_HOME机制实际网络验收应按上一节执行。解决范围与边界已解决的范围默认codex与codex3060当前所有 profile不同工作目录同一服务器、同一用户下的不同网卡或 IP 登录交互会话和非交互会话的命令行恢复列表。不会自动合并的情况实际连接的是不同服务器登录的是不同 Linux 用户容器或虚拟机没有共享/home/zhuyq/.codex第三方启动器覆盖了CODEX_HOMEPATH优先命中了另一套 Codex 安装会话已经归档或删除。这些情况需要先统一文件系统、用户环境或启动入口不能仅靠跨 provider 运行时解决。修改文件清单路径作用/home/zhuyq/.local/bin/codex固定CODEX_HOME、转发启动参数、补齐resume参数/home/zhuyq/.local/libexec/codexdp-resume-any-provider-zh提供跨 provider 的 TUI 恢复视图/home/zhuyq/.codex/config.toml默认 xiaosi 配置/home/zhuyq/.codex/xiaosi.config.tomlxiaosi profile 配置/home/zhuyq/.bashrc固定环境变量并定义codex3060等别名重启要求已经打开的 Codex TUI 或 App Server 不会自动重新加载入口脚本和配置。修改后必须退出旧进程重新执行codex或相应 profile 命令再使用/resume。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价