Communitygithub.com

huzhongyyuan/watch-codex-session

一个 Codex 技能和 tmux 看门狗,可在 429 错误、阻塞或停止状态后恢复交互式 Codex 会话。

watch-codex-session 是什么?

`huzhongyyuan/watch-codex-session` 是一个专为 Codex AI 编码代理设计的技能,旨在自动监测和恢复因 API 限流(429 错误)、阻塞或意外停止而中断的交互式会话。它利用 tmux 会话作为持久化环境,当检测到代理停止响应或收到特定错误信号时,自动重新启动或恢复 Codex 会话,从而大幅减少人工干预。该技能支持 Linux 和 macOS 系统,需要安装 tmux 和 Python 3。通过配置 tmux 会话名称和监测间隔,用户可以灵活地适应不同的工作流,确保长时间运行的编码任务不会因为临时故障而失败。

兼容平台~Claude Code✓Codex CLI~Cursor
npx skills add huzhongyyuan/watch-codex-session

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

watch-codex-session 是做什么的?

一个 Codex 技能和 tmux 看门狗,可在 429 错误、阻塞或停止状态后恢复交互式 Codex 会话。

概述

watch-codex-session 是一个轻量级守护进程,它监控 tmux 中运行的 Codex 会话。当会话因 API 限流(HTTP 429)、终端阻塞或意外停止而中断时,它会自动重新启动或恢复对话,确保编码工作流持续进行。

工作原理

  • 在 tmux 会话中启动 Codex 代理。
  • 周期性地检查会话是否仍处于活动状态且响应正常。
  • 如果检测到 429 错误或会话停止,则自动终止旧会话并启动新会话(保留上下文)。
  • 可选的恢复机制会在重启时重新加载之前的对话历史。

安装

前置要求

  • tmux(版本 >= 3.0)
  • Python 3.8+
  • Codex CLI 已安装并配置

步骤

  1. 将技能克隆到本地:
git clone https://github.com/huzhongyyuan/watch-codex-session.git
cd watch-codex-session
  1. 安装 Python 依赖:
pip install -r requirements.txt
  1. 将 watch-codex-session 脚本添加到 PATH 中,或直接从项目目录运行。

使用

基本用法

在 tmux 会话中启动看门狗:

python watch_codex_session.py --session-name my-codex-session

高级选项

选项描述默认值
--session-nametmux 会话名称codex-agent
--check-interval健康检查间隔(秒)30
--max-restarts最大重启次数5
--restore-context重启时恢复对话历史false

作为后台服务运行

nohup python watch_codex_session.py > watchdog.log 2>&1 &

配置

通过环境变量自定义行为:

变量描述
CODEX_SESSION_NAME要监控的 tmux 会话名称
CODEX_RESTORE_FILE会话状态保存文件路径
CODEX_MAX_RESTARTS放弃前的最大重启次数

平台支持

  • Linux(Ubuntu 20.04+,CentOS 7+)
  • macOS(10.15+)
  • Windows(通过 WSL2)

故障排除

  • 问题: 看门狗未自动启动 Codex。 解决方案: 确保 Codex CLI 已在 PATH 中,且 tmux 已正确安装。

  • 问题: 429 错误后会话未恢复。 解决方案: 检查网络连接,并验证 API 密钥是否有效。

许可

MIT 许可证。

相关技能