一个本地监控工具:读取 Codex CLI 的 CODEX_HOME(默认 ~/.codex)会话日志(JSONL),输出每个对话(conversation/session)的状态变化,并按项目(cwd + config.toml 的 [projects."..."])归类。
- Node.js 18+
- 推荐使用
pnpm(Web 前端目录web/使用 pnpm 锁文件);也可使用npm --prefix web ...方式运行脚本
在项目根目录执行:
npm i
pnpm -C web i如未安装 pnpm,可改用:
npm --prefix web i构建 Web UI(生成 web/dist/),并启动后端服务(默认端口 8787):
npm --prefix web run build
npm run web打开 http://127.0.0.1:8787。
说明:
npm run web会自动先执行一次npm run build(用于生成dist/server.js)- 若看到提示
codex-monitor web UI is not built...,说明web/dist/index.html不存在,先执行npm --prefix web run build
先启动后端(提供 /api/*),再启动 Vite 开发服务器(默认端口 3000,并代理 /api 到 8787):
npm run web
pnpm -C web dev打开 http://127.0.0.1:3000。
node dist/server.js --codex-home ~/.codex --port 8787 --debug默认不显示已归档对话;可通过顶部按钮“归档:关/开”切换显示。
codex-monitor watch --codex-home ~/.codex --json默认不会输出已归档对话(archived_sessions/)。如需包含归档对话,添加 --include-archived。
codex-monitor snapshot --codex-home ~/.codex --jsonarchived: 日志文件位于archived_sessions/(已归档)lifecycle:running: 最近一段时间内持续追加事件(或出现明确的“进行中”事件)idle: 会话在sessions/中,但超过--inactivity-ms没有新事件aborted: 观察到event_msg.payload.type == "turn_aborted"error: 观察到event_msg.payload.type == "error"|"stream_error"unknown: 无法判断
