钩子 additionalContext 默认约 2500 token,超了会 spilled 到磁盘
超限只给模型头尾预览和文件路径。0 会整段塞进上下文。密钥不要写进钩子输出。
命令钩子返回的 additionalContext 默认大约 2500 token。超出时 Codex 把全文写到临时目录 hook_outputs/<session_id>/,模型只看到头尾预览和路径。写盘失败时仍截断预览。
按 handler 改阈值:
[[hooks.SessionStart]]
matcher = "^compactquot;
[[hooks.SessionStart.hooks]]
type = "command"
command = '/usr/bin/python3 "$(git rev-parse --show-toplevel)/.codex/hooks/session_start.py"'
additionalContextLimit = 5000
- 省略:默认 2500
- 正整数:这个 handler 自己的阈值
0:整段直接给模型。只有钩子自己严格限长时才用,否则一次就能吃掉窗口- 不能产出 additionalContext 的事件会忽略这个键并警告
- 工具 feedback、Stop 续写提示仍走默认上限,改这个键管不到
多个钩子和插件的上下文会叠。不要把密钥写进 stdout:spilled 文件落在临时目录。后台钩子同样走这套大输出处理。