Codex会话过长需主动干预:先用/compact压缩历史并用/status验证token回落,再用/new开启新线程;批量清理用codex-history工具,Windows用户可用.bat脚本强制重启清理。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

Codex会话记录太长会导致上下文窗口超限、启动卡顿、响应变慢甚至报错“context_window_exceeded”,这时必须主动干预,不能等它自动崩溃再处理。
立即释放空间:用 /compact 压缩当前会话
第一步:在 Codex 交互界面中直接输入 /compact,回车执行。
这一步会把当前会话里冗余的对话轮次、重复解释、中间调试输出等,自动提炼成一段工程化摘要,并用摘要替换原始历史。压缩后模型仍记得任务目标和关键状态,但 token 占用大幅下降。
【注意:/compact 不清空历史,只是压缩;它不会丢失你刚确认的变量名或已修改的文件路径】
第二步:输入 /status 查看压缩效果,重点关注 “Context tokens” 数值是否明显回落——理想值应低于 80000。
换任务前重置:用 /new 开新对话线程
当你已完成一个功能模块、修复完一个 Bug,准备开始下一个完全无关的任务时,直接输入 /new。
这个命令会在同一进程内新建一个干净的上下文线程,旧会话历史彻底不参与新推理,但所有已生成的代码文件、本地修改、shell 快照都保留不动。
⚠️ 切勿用 Ctrl+L 替代 /new —— 那只是清屏,模型依然背着全部历史干活。
安全清理历史:用 codex-history 工具批量删
方法一:列出所有本地会话
codex-history list
方法二:按关键词筛选(比如只看 Astro 相关会话)
通过 Codex CLI 生成图片,支持尺寸控制和批量模式。依赖:codex (npm)。代理默认启用。用 generate.sh 生成单张,batch_generate.sh 批量生成游戏 UI 素材,gen_size.sh 指定尺寸。所有输出保存至 ~/.codex/generated_images/。
codex-history list --grep "Astro"
方法三:删除指定会话(用 list 输出的 short-id)
codex-history purge abc123
方法四:清理孤儿数据(残留快照、断连日志)
codex-history purge-orphans
执行前工具会自动校验本地数据结构兼容性,【若 doctor 检查失败,purge 命令将拒绝运行】,避免误删导致会话链断裂。
Windows 用户一键重启清理
新建一个 .bat 文件,粘贴以下脚本并保存:
@echo off
setlocal
set "TARGET=%USERPROFILE%\.codex\sessions"
for /f "usebackq tokens=1" %%P in (`powershell -NoProfile -ExecutionPolicy Bypass -Command "Get-Process -Name Codex -ErrorAction SilentlyContinue | ForEach-Object { $_.Id }"`) do (
taskkill /pid %%P /t /f >nul 2>nul
)
timeout /t 3 /nobreak >nul
if exist "%TARGET%" (
attrib -r -s -h "%TARGET%\*" /s /d >nul 2>nul
rd /s /q "%TARGET%" >nul 2>nul
md "%TARGET%"
)
start "" "shell:AppsFolder\OpenAI.Codex_2p2nqsd0c76g0!App"
双击运行即可强制结束 Codex 进程 → 清空 sessions 目录 → 重建空目录 → 重新启动应用。
【该脚本只删 .codex\sessions 下内容,不碰 logs_2.sqlite 或 shell_snapshots】

















