本地优先的 Codex 诊断

Codex Speed Doctor

在清理任何东西之前,先找出 Codex 为什么变慢。用只读报告诊断 sessions、logs、plugins、skills、model cache 和本地进程。

只读优先 不自动清理、删除或改配置。
默认脱敏 默认隐藏真实本地路径和 session 文件名。
先 handoff 归档前先让长对话可继续接上。
备份意识 清理动作放到单独确认过的维护步骤里。

识别真正的日志燃烧

新版本不会只因为 TRACE 多或日志大就动数据库。它用 TRACE 占比加增长采样判断是不是正在写盘,再建议退出 Codex 后做备份优先轮转。

组合信号

只有 TRACE 达到 70% 且采样期间行数或文件组继续增长,才标记 active log burn。

不粗暴掐写入

默认不创建 SQLite trigger,不把日志库软链到临时目录,避免隐藏诊断证据。

尊重 SQLite 文件组

处理日志时把主库、WAL 和 SHM 作为一组,只在确认后做备份优先轮转。

给谁用,解决什么

可以把它理解成 Codex 的本地体检报告。它不诊断患者,也不读取医学资料;它只检查你的 Codex 本地状态,帮你判断为什么工具变慢,以及下一步怎样处理更安全。

医疗与科研人员

当 Codex 用来写综述、做数据分析、整理课程或长期项目时,大会话很有价值。工具帮你先保留交接说明,再把不常用的大文件移出启动热路径。

刚开始用 Codex 的小白

不用先理解数据库、日志或插件缓存。报告会把问题拆成 sessions、logs、plugins、skills、cache 和进程,并给出可读建议。

工具维护者

适合在清理前做一次只读盘点,确认是大 session、日志膨胀、Skill warning,还是 app-server 进程仍在阻塞。

重视安全边界的人

默认不删除、不归档、不改配置、不读取凭证。阈值只提醒你该复查,不代表自动清理。

用普通话说,它在查什么

如果 Codex 像一间工作室,Speed Doctor 会先看桌面上是不是摊着太多大项目,日志本是不是太厚,工具箱有没有坏工具,而不是直接把东西扔掉。

打开慢

检查是否有超过 50 MB 的 active session 还留在启动路径里。

日志变大

64 MB 开始提醒观察,100 MB 建议关闭 Codex 后备份轮转。

插件或 Skill 报 warning

先定位 warning 来源,再决定是否移动某个插件或 Skill。

一条命令先体检

先在本地运行报告。第一次输出应该解释问题形状,再决定是否归档、恢复、移动插件或重建缓存。

git clone https://github.com/2023Anita/codex-speed-doctor.git
cd codex-speed-doctor
PYTHONPATH=src python3 -m codex_speed_doctor.cli

# JSON output
PYTHONPATH=src python3 -m codex_speed_doctor.cli --json

# Static snapshot without the 5-second growth sample
PYTHONPATH=src python3 -m codex_speed_doctor.cli --log-growth-seconds 0

本地状态地图

Codex 启动变慢可能来自多个本地因素。工具把这些检查拆开,避免把日志问题误判成 session 问题,也避免把插件 warning 误判成模型问题。

Sessions

标记 50 MB 以上、需要先写 handoff 再归档的大 active session。

Logs

汇总日志大小和 warning target;64 MB 开始观察,100 MB 建议备份后轮转。

Plugins and Skills

统计本地加载面,并突出插件与 Skill 的 warning 模式。

A clinical diagnostic map of Codex local state modules
图片不承担关键文字说明;页面文字负责标注 sessions、logs、plugins、skills 和 model cache。

归档前先 handoff

更安全的流程是:诊断、给重要线程写继续说明、只归档不活跃的大 session、建立索引,并保留恢复路径。

1 诊断

测量 active sessions、logs、plugins、skills、cache 和进程。

2 Handoff

写下目标、当前状态、关键文件、命令和下一步。

3 归档

只移动不再需要留在热路径里的 session。

4 索引

留下可检索记录,之后能按主题找回旧工作。

5 恢复

需要找回 session 时使用备份和恢复脚本。

A clinical handoff style flow from large chat to handoff note to archive
Handoff 是一份紧凑、可读的续接说明,不替代原始 session,而是回到工作的安全桥梁。

安全边界

Codex Speed Doctor 是诊断工具,不是清理器。它先回答“可能慢在哪里”,再让维护动作进入明确确认流程。

不自动清理

CLI 不删除 sessions、不轮转日志、不移动 worktree。

不读取凭证文件

报告不会读取或输出 auth.json 内容。

详细信息需主动开启

真实路径和 session 文件名需要显式传入 --details

清理保持可审阅

归档和恢复应放在 backup-first 的维护流程里。

A read-only safety boundary diagram for local diagnostics
默认姿态是本地、只读、脱敏,所以第一次诊断足够低风险。