codex历史任务快照中敏感信息以明文存储,可通过手动编辑json文件、sed批量脱敏或配置exclude_patterns从源头禁用记录来防护。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在Codex中查看历史任务时,若之前执行过含身份证号、银行卡号、API密钥等操作,这些敏感信息会以明文形式保留在本地任务快照里,直接翻阅可能造成无意泄露。
手动编辑历史任务快照文件
Codex将每条历史任务保存为独立JSON文件,路径固定在~/.codex/history/目录下,按时间戳命名(如20260805_142231.json)。
第一步:打开终端 → 执行ls -t ~/.codex/history/ | head -n 5 → 查看最近5个任务文件名。
第二步:用VS Code或系统文本编辑器打开目标文件 → 搜索"input"和"output"字段 → 定位到含敏感内容的字符串值。
第三步:将匹配到的明文敏感字段替换为占位符。例如把"api_key": "sk_live_abcd1234"改为"api_key": "[API-KEY-REDACTED]",把"id_card": "11010119900307235X"改为"id_card": "[ID-REDACTED]"。
⚠️注意:不要删除整个"input"或"output"对象,否则可能导致Codex加载失败;只替换值部分,保留JSON结构完整。
用sed命令批量脱敏历史记录
适用于需处理多个历史文件、且确认所有敏感字段均为标准格式(如18位身份证、32位hex密钥)的场景。
方法一:一键清理全部历史文件中的常见PII
在终端执行:find ~/.codex/history -name "*.json" -exec sed -i '' -E 's/([0-9]{17}[0-9Xx]|[0-9]{15})/[ID-REDACTED]/g; s/("api_key"\s*:\s*")[^"]+/\1[API-KEY-REDACTED]/g' {} \;
该命令同时处理身份证号和API密钥,【必须在执行前备份整个history目录】——sed -i '' 在macOS上不支持撤销,误操作将永久损坏原始快照。
方法二:仅清理某类任务(如含“payment”关键词的)
先筛选:find ~/.codex/history -name "*.json" -exec grep -l '"payment"' {} \; → 得到匹配文件列表 → 对每个文件单独运行脱敏命令,更可控。
从源头禁用敏感内容存入历史
最彻底的方案是阻止敏感数据进入历史记录,而非事后擦除。
打开~/.codex/config.toml → 在[history]区块下添加:
exclude_patterns = ["password", "api_key", "id_card", "bank_account", "token"]
重启Codex CLI使配置生效。此后任何含上述字段名的输入/输出内容,都不会被写入历史快照文件。
这一步操作起来很简单,直接编辑配置文件保存即可。但要注意字段名必须与你代码或提示词中实际使用的键名完全一致,比如你用的是auth_token而非token,就得把token换成auth_token。











