全部技能 / 基础工具与工作流 / codex-1m-context-window-setup
基础工具与工作流 · daymade/claude-code-skills

codex-1m-context-window-setup

Configures and verifies an expanded, model-aware context window for OpenAI Codex CLI and Codex Desktop by safely updating the shared base config. Use whenever Codex shows about 258K context, the user asks for 500K or 1M context, auto-compaction happens too often, model_context_window or model_auto_compact_token_limit needs repair, or a workstation/classroom needs the same long-context setup across macOS and Windows. Detects the selected model's live maximum, requests up to 1M tokens, sets compaction to 60% of the attainable window, preserves unrelated TOML, backs up changes, and fails rather than guessing when the model contract cannot be verified.

风险提醒:蓝色 · 知晓即可AI 侦查报告
作者 daymadeGitHub daymade/claude-code-skills ↗Stars 1385许可 MIT(仓库根 LICENSE;GitHub API spdx MIT)commit d5c4678cb5
agent 宿主通常会约束 skill 执行权限;风险提醒为 AI 侦查观点,不构成质量或安全保证。第三方 skill 仅作拆解与展示,安装使用风险自负,版权归原作者。

1实现原理 · 为什么它能做到

单一 Python 脚本三模式(doctor/apply/verify),全部由 subprocess 调 Codex 官方 CLI 取『活数据』:codex doctor --json 解析出所选模型与 config.load 状态,codex debug models 拿当前模型目录,绝不背记/编造模型上限。

daymade-codex/codex-1m-context-window-setup/SKILL.md
If Codex cannot return a live model catalog, stop. Do not substitute remembered model limits, API marketing numbers, or a bundled default.
注:代码侧 selected_model() 先校验 checks.config.load.status=='ok' 才取 model;live_model_catalog() 要求非空 list 且逐项为 dict,否则 SetupError——『模型契约无法验证就失败』是设计主旋律。

model-aware 计算:target_raw = min(1,000,000, 模型 max_context_window);usable = target_raw × effective_context_window_percent;auto-compact = target_raw × 3/5(60% 用户既定策略);并输出 capped_by_model / expands_catalog_default 供报告。

daymade-codex/codex-1m-context-window-setup/scripts/codex_context_window.py
target_raw = min(TARGET_CONTEXT_CEILING, maximum_raw) target_effective = target_raw * effective_percent // 100 compact_limit = target_raw * COMPACT_NUMERATOR // COMPACT_DENOMINATOR
注:TARGET_CONTEXT_CEILING = 1_000_000、COMPACT 3/5 顶部常量;reference context_window_contract.md 解释『skill 名描述的是请求上限,不是每个模型都兑现 1M』(Codex 会 clamp 到 max_context_window)。

apply 是保守编辑器:正则只替换文件顶层两个键(model_context_window / model_auto_compact_token_limit)的简单整数赋值行;语法无法保守保留时拒绝改;新键插在第一个 table 头之前;改完 tomllib 回读校验。

daymade-codex/codex-1m-context-window-setup/scripts/codex_context_window.py
raise SetupError( f"top-level {key} uses syntax the conservative editor cannot preserve; " "no file was changed")
注:SIMPLE_INTEGER_ASSIGNMENT 只匹配顶层裸键;render_config 还对 BOM 报错、保留原换行风格(\r\n vs \n)、改后 tomllib.loads 全量再解析并断言两键值。

写盘安全链:内容寻址备份(config.toml.<UTC时间>.<sha12>.bak 放 CODEX_HOME/backups/codex-1m-context-window-setup/)→ 同目录临时文件+fsync+os.replace 原子替换 → 写前检测并发改动 → 写后 strict-config doctor 验证,失败自动还原原字节。

daymade-codex/codex-1m-context-window-setup/scripts/codex_context_window.py
backup = backup_dir / f"config.toml.{timestamp}.{digest}.bak"
注:apply_configuration 先比 current != original_bytes 则拒绝写;strict_config_check 用 codex --strict-config doctor --json 要求 config.load=ok;异常分支原子写回原文或删新文件。

verify 是漂移检测器:重跑 live catalog 计算推荐值,与当前 base config 不符即以非零退出报告 mismatch——Codex 升级/默认模型变更后一跑即知是否仍合规。

daymade-codex/codex-1m-context-window-setup/SKILL.md
It exits non-zero when the current base config no longer equals the model-aware recommendation. Report the mismatch; do not call it configured.
注:main() 中 mode==verify 时 exit_code = 0 if report["status"]=="configured" else 1;apply 后 restart_required: true(现有会话不会原地长大)。

技能边界显式收缩:不改模型/推理档位/沙箱/审批/插件/MCP/浏览器设置、不碰 profile 级配置、不覆盖 per-command -c flag、不声称当前线程已扩容、不强制 1M。

daymade-codex/codex-1m-context-window-setup/SKILL.md
Do not ask the user for raw token numbers. The model catalog is the authority and the script derives the attainable values.
注:'Refuse scope expansion' 段逐条列出不做清单,配合『不向用户要 token 数字』——把猜测从流程里拿掉。

2核心能力

01doctor:只读诊断当前限制、解释 258K 来源、预览推荐(model/目录默认值/最大值/可用百分比/60% 压缩点/当前配置/目标路径)
02apply:模型感知地把 base config 的两键安全改到可达上限,带备份/原子写/并发检测/失败回滚/strict 验证
03verify:更新/换模型/新机器后校验配置是否仍等于 model-aware 推荐(非零退出=需重配)
04跨平台(macOS/Linux bash + Windows PowerShell 双份命令模板)
05机器可读输出(--json)与人类报告双格式,值全部拷贝自脚本输出
06可测试性:--codex-bin 显式指定可执行路径(供诊断/测试),自带 pytest 测试

3外部依赖

类型依赖
clicodex(官方 CLI;doctor/debug models/--strict-config doctor)
cliuv(uv run --no-project python 执行脚本)

4风险提醒 风险提醒:蓝色 · 知晓即可

风险提醒:蓝色 · 知晓即可
  • 写共享 base config 影响所有未来 Codex 会话 — apply 改的是 $CODEX_HOME/config.toml 顶层键,影响面是全 CLI/Desktop 新线程;SKILL 用 backup+verify+restart_required 提示管理该面,但仍属全局配置变更。
  • 依赖 codex CLI 输出 schema — doctor/debug models 的 JSON 结构随版本漂移时脚本直接 SetupError(fail-fast 而非猜),用户需等脚本适配。
  • codex CLI 网络行为不在本脚本控制内 — 若 codex doctor/debug models 内部联网(官方 CLI 行为),外发面由 Codex 版本决定,本 skill 无法约束。
风险提醒:蓝色,知晓即可。运行自带 stdlib 本地脚本 + 调 Codex 官方本地 CLI,写本地配置($CODEX_HOME/config.toml)但带内容寻址备份、原子替换、并发检测与失败自动回滚,无网络外发代码、无凭证读取、无破坏性删除。注意点:脚本自身无 HTTP,codex CLI 的 doctor 是否联网属官方 CLI 行为;写的是共享 base config,多线程并发由字节比对保护。

5第二遍独立确认

  • [ok] 只改两键的保守编辑承诺 — TARGET_KEYS=('model_context_window','model_auto_compact_token_limit');SIMPLE_INTEGER_ASSIGNMENT 仅匹配顶层;非保守语法 raise 且不写。
  • [ok] 备份/原子/回滚链 — backup_config → atomic_write(mkstemp+fsync+os.replace) → strict_config_check → 异常分支 atomic_write 原文/删除新文件,全链在代码中。
  • [ok] 无网络/凭证 — 脚本 imports 无 http 库;env 仅 CODEX_HOME;不读 auth 文件。
  • [ok] verify 漂移语义 — main() exit_code = 0 if status=='configured' else 1(verify 分支),SKILL 描述一致。
  • [unlocatable] codex CLI 输出 schema(doctor --json / debug models 字段) — 字段名(checks.config.load/details.model、models[].context_window/max_context_window/effective_context_window_percent)依赖安装的 codex 版本,本环境无 Codex 未运行验证;SKILL 要求 doctor 失败即停机,schema 漂移会被显式失败捕获。

6结论

  • 以 live model catalog 为唯一权威,模型不支持 1M 时诚实降级并标注 capped_by_model
  • 写配置的安全工程教科书级:备份+原子替换+并发检测+strict 验证+失败还原
  • 最小侵入:正则级只改两键、保留 TOML 注释/换行/其余表
  • 边界拒绝清单明确,杜绝顺手改模型/沙箱/MCP 的 scope 蔓延
  • 适合:适合 Codex 重度用户/工作站与教室批量配置:默认 258K 想扩到 500K/1M、auto-compaction 过频、升级后要验证配置仍合规;适合要『可回滚、可验证、不碰其他设置』的谨慎配置场景(脚本语义与 classroom 一致)。
    不适合:不适合想顺手改模型/推理档位/沙箱审批的用户(边界拒绝);不适合 Codex 版本过旧无 debug models 命令的环境(会停机报错);已用 profile 级/每命令 -c 覆盖配置的用户不受本技能管理(只动 base config)。
    安装 agent 直装可复制
    ① 本站镜像 更新 2026-09-09
    方式 A · 人下载镜像包下载 codex-1m-context-window-setup.tar.gz
    sha256: 9d4e6694887d55eb…
    方式 B · JSON 格式安装指南,复制给 agent
    安装指南
    agent 读 JSON 指南后会自动从本站下载安装,无需更多说明。
    ② 上游 GitHub · 原始来源
    能访问 GitHub?直接去上游安装(实时版,可能已更新)GitHub 原始 ↗
    本页镜像锁定 commit d5c4678cb5;上游为实时仓库。
    来源信息 GitHub 原始
    作者 / 仓库daymade / daymade/claude-code-skills
    Stars1385
    最近推送2026-09-09
    本 skill commitd5c4678cb5
    许可MIT(仓库根 LICENSE;GitHub API spdx MIT)
    本站信息
    收录日期2026-09-06
    分类基础工具与工作流
    侦查报告AI 侦查 · 2 遍 · 2026-09-06
    本站镜像与 GitHub 原始是不同来源:本站锁定 commit 快照经 /r2 分发;GitHub 为实时上游,内容可能已更新。
    同分类邻近