Codex 状态监控:本地状态与轮到你了提醒

2026-08-03 核实。Agent Island v1.7.1 在 macOS 与 Windows 上监控 Codex 会话状态。共同的已发布范围是实时状态与轮到你了提醒。监控不会把 rollout 内容上传到 Agent Island

光看文件时间戳,判断不了 Codex 是不是在工作。rollout 文件里混着任务开始、用户消息、已完成回合、工具结果和元数据。状态监控必须认出最近一次有意义的事件、保住它们的顺序,并让旧证据过期

Agent Island 的 Codex 轮到你了闹钟,带一个返回 Codex 的操作
已发布的 Codex 轮到你了界面。完成事件要先过新鲜度与会话身份两道检查才有意义

读语义事件,而不只是修改时间

Codex 会在本地数据目录下记录结构化的 JSONL 事件。在当前的状态解析器里,一次新的任务开始或用户消息意味着会话是活跃的;一个 task_completeturn/completed 事件意味着最近一个回合结束了。解析器从后往前走,这样末尾的工具或元数据记录就不会挡住那个决定回合的事件

任务开始或用户消息        -> 工作中
任务完成                  -> 轮到你了
有新鲜活动但无终止事件    -> 工作中
证据已旧                  -> 空闲

这也是监控不该从「安静」推断出「完成」的原因。没有新的写入,可能是回合结束了,可能是一个长任务在跑,可能是监听器断了,也可能是会话被放弃了。完成状态需要一个完成事件

让已完成的回合过期

一个终止事件不该让红色角标永远留在屏幕上。Agent Island 把可行动的轮到你了窗口限制在 20 分钟内。窗口之内的完成回合可以请求你的注意,更旧的证据回到空闲。这个具体的窗口是一条实现边界,不是「编码任务本身成功了」的证明

启动时同样需要克制。如果 App 发现一个在监控开始之前就结束的回合,那属于历史上下文。提醒层会跟踪事件身份,所以重连或者重扫同一份记录不会产生第二次提醒

别让子线程的噪音混进主信号

Codex 会派生子线程,它们可能在父任务还在跑的时候就结束。把每一次子线程完成都当成前台闹钟,监控就没法用了。Agent Island 默认关闭子线程通知,并把当前服务商状态的排序与提醒投递分开处理

面对多个活跃会话时,指示器会选出最紧急的新鲜状态。一个尚未确认的轮到你了事件的优先级高于普通工作,而需要认证与被限流则单列,因为它们要求的是另一种回应

回到正确的那个会话

通知只有在保留了足够的本地身份、能把人带回对应会话时才有用。Agent Island 用稳定的事件或会话标识派生出一个本地线程键,再把提醒与对应的 Codex 上下文关联起来。界面因此可以给出返回操作,而不必让会话内容经过 Agent Island 的服务器

监控无法保证另一个 App 会永远保留每一个历史导航目标。返回操作是一种基于本地观测身份的便利,不是一套远程会话控制协议

状态证明不了什么

工作中 表示近期会话证据在动。轮到你了 表示最近一个新鲜回合走到了终止事件。卡住 表示此前在工作的证据在注意力窗口内安静了下来。这三种状态都不能验证测试、代码质量、部署或产品意义上的完成

Codex 已经不再暴露早期版本用的那套五小时额度模型,所以本页不做任何 Codex 五小时额度或自动续跑的声称。用量与报告界面也各有各的平台验证边界。在假定 macOS 与 Windows 界面对齐之前,请先看 能力矩阵

一份可操作的 Codex 监控清单

  1. 解析完整的 JSONL 记录,忽略末尾残缺的片段
  2. 使用语义化的开始、用户与完成事件
  3. 保留稳定的事件或线程键用于去重
  4. 套用新鲜度窗口,让旧的完成变回空闲
  5. 把子线程提醒与服务商主状态分开
  6. 会话内容留在本地,提醒的投递方式要讲明白

Agent Island 是一个免费开源的 AI 编码 Agent 状态伴侣。可以对照 Claude Code 的状态模型,查看 可复现的会话状态测试样本,或者下载当前的稳定版本

← 全部文章