Repository files navigation
修复 QQ TUI 的工作目录:
codexm --qq N 连接共享 app-server 时,以启动 TUI 的本机当前目录创建、恢复或 fork thread
statusline 不再显示共享 systemd app-server 的工作目录 /
增加临时编号 QQ 机器人绑定:
支持 codexm --qq N、codexm resume <session-id> --qq N 和 codexm resume --last --qq N
同一编号机器人只允许一个运行中的本地 TUI;退出后自动解绑,不把机器人与 session 持久关联
新建但还没有首回合的 live thread 现在可以由第二个 app-server 客户端立即恢复
扩大命名 API key 池的故障切换范围:
有效多 key 模式下,所有 HTTP 响应错误码都计入当前 key 的连续失败次数;前 10 次重试当前 key,第 11 次切换到下一把 key
单 key 模式和无 HTTP 状态码的网络/超时错误保持原有处理路径
完成 codexm 本地化改造:
CLI 名称和帮助信息从 codex 调整为 codexm
TUI 状态栏开始携带本地版本展示信息
增强错误处理:
将 server_is_overloaded 视为可重试错误
重做停止后续跑逻辑:
移除旧的 silent_continue
改为基于 thread goal 的 continue / complete / blocked 判定
增强 goal stop 可观测性:
在停止边界显式发出 warning 事件,便于确认自动续跑、完成或阻塞判定
修复 compaction 后上下文恢复问题:
保留 resumable in-turn context,避免 compact 后丢失 goal / continuation 状态
修复 goal 中断卡死问题:
解决 Esc 中断后界面可能卡住的问题
让 goal 状态更新更及时反映到本地 TUI
增加 idle-settled queue 能力:
只有在真正进入 waiting-for-user 空闲边界后才释放队列项
支持 /queue append|edit|delete|clear
新增 ThreadWaitingForUser 运行时边界,并贯通到协议层、服务层和 TUI
实现 codexm --version 与 TUI statusline 版本一致:
CLI 与 TUI 统一展示同一个本地完整版本串
安装脚本改为以刚构建出的源二进制版本作为校验基准
同步原始仓库 main 到 c7f21a852c 并完成本地升级安装:
本地 main 已快进到 2026-07-16 的上游官方头
codexm 已合入新的 main、完成本地适配并安装为 0716.codexm.260716.14
保留本地 waiting 边界与续跑语义:
ThreadWaitingForUser 继续保持为运行时空闲边界,不写入 rollout 持久化
idle continuation / goal hook / resumable context 在 pre-turn 与 mid-turn compaction 后继续保留
适配上游协议与测试接口漂移:
合并 rawResponse/completed、环境连接通知等上游协议扩展
补齐 cache_write_input_tokens、ThreadHistoryMode 和 TestAppServer builder 路径的测试适配
修复 tui idle queue 在上游 ChatWidget 字段调整后的编译漂移,保持本地自动续跑路径可构建
修复冷启动 resume 采用旧 provider/model 的问题:
该修复已安装到当前本地版本 0716.codexm.260716.15
thread/resume 不再把线程持久化的 model、model_provider、reasoning_effort 覆盖回当前配置
冷重启后会采用当前 config.toml 和当前登录态 / API key 对应的 provider 配置
approvals_reviewer 仍按线程状态恢复,不受这次修复影响
增加命名 API key 池故障切换:
可选的 $CODEX_HOME/authMKeys.json 可使用 OPENAI_API_KEYS 配置有名称的 key 列表,首项为 primary;它存在且内容合法时优先于标准凭据
auth.json 始终保持标准单 key / Codex 凭据结构,继续兼容 VS Code Codex;login 与 logout 只会读写这个标准文件,不会修改或删除 authMKeys.json
primary 或备用 key 遇到 401、403 或 429 时,未产生模型输出的请求会先用当前 key 额外重试 10 次;第 11 次连续失败才切换到下一把可用 key,成功响应会重置该 key 的失败周期
切换 warning 只显示 key 名称;多 key 配置仅由用户管理
primary 失败后 10 分钟才在新的请求边界尝试恢复;恢复 primary 会开始新的 10 次重试周期,全部 key 连续失败时每个 key 最多尝试 100 次,随后返回原始错误
增强本地 API key 可见性和恢复提示:
默认 TUI statusline 显示 单 key 模式,命名 key 池则显示当前 active key 的名称;故障切换或 primary 恢复后立即刷新,绝不显示 key 值
退出后的会话恢复提示统一使用 codexm resume <session-id>,避免提示用户调用系统 codex
固定 TUI 启动与 /status 标题为 >_ Codexm,不再显示版本号。
明确 goal 模式的 Esc 队列语义:
有待处理的普通消息、rejected steer 或 pending steer 时,只中断当前 turn,保持 goal active,并在 interrupted turn 确实结算后提交后续输入
没有待处理消息时,Esc 仍暂停 active goal;/goal resume 可恢复
调整请求重试与命名 API key 池故障切换:
所有通用指数退避由每轮乘 2.0 降为乘 1.1
仅在有效命名多 key 模式下,503 Service Unavailable 复用 401、403、429 的 retry-before-rotation 策略:当前 key 连续 10 次失败仍重试,第 11 次才切换到下一把可用 key
单 key 模式的 503 仍保留既有通用 5xx 重试策略
支持可选的图片专用 API key:
$CODEX_HOME/authMKeys.json 的 OPENAI_IMAGE 仅用于 image_gen 工具的 Images API 请求,模型固定为 gpt-image-2
default 多 key 池仍只处理普通编码请求;图片请求不会改变 default 的活动 key、失败计数或轮转状态
配置示例:
{
"OPENAI_API_KEYS" : [{"name" : " default" , "key" : " sk-default" }],
"OPENAI_IMAGE" : {"name" : " image" , "key" : " sk-image" }
}
About
Codex Modified
Resources
License
Contributing
Security policy
Stars
Watchers
Forks
Languages
Rust
96.6%
Python
2.6%
Starlark
0.2%
TypeScript
0.2%
Shell
0.2%
PowerShell
0.1%
Other
0.1%
You can’t perform that action at this time.