ホーム / 全スキル / ワークフロー&基本ツール / codex-1m-context-window-setup
ワークフロー&基本ツール · daymade/claude-code-skills

codex-1m-context-window-setup

OpenAI Codex CLI および Codex Desktop 向けに、共有ベース設定を安全に更新してモデル認識型の大規模コンテキストウィンドウを設定・検証します。Codex が約 258K のコンテキストを表示している場合、ユーザーが 500K や 1M のコンテキストを要求した場合、自動圧縮が頻繁に発生する場合、model_context_window や model_auto_compact_token_limit の修復が必要な場合、または macOS と Windows のワークステーション/教室環境で一貫したロングコンテキスト環境を構築したい場合に使用します。選択中モデルの実際の最大値を検出し、最大 1M トークンをリクエストし、到達可能なウィンドウの 60% に圧縮ポイントを設定し、無関係な TOML を保持し、バックアップを作成します。モデルの規約が検証できない場合は推測せず安全に失敗します。

L4 高権限 · 段階的認可と監査V1 コミット固定コマンド実行ファイル書き込みDual-pass Audit
Author daymadeGitHub daymade/claude-code-skills ↗Stars 1385License MIT(仓库根 LICENSE;GitHub API spdx MIT)Commit d5c4678cb5
管理レベルは Skill の能力と推奨統制措置を示すものであり、品質や安全性の認証、利用可否の判定ではありません。使用の可否はユーザーおよび管理者が決定します。Agent 環境によって制約が異なるため、自動保護を仮定しないでください。第三者製 Skill の著作権は原著作者に帰属し、利用リスクは利用者が負います。

1仕組みと動作原理

単一の Python スクリプトで 3 つのモード(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() は空でない dict のリストを要求し、満たさない場合は SetupError となります。「モデル規約を検証できなければ失敗する」が設計の基本原則です。

モデル認識型の計算: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 はトップレベル定数です。参照ドキュメント context_window_contract.md では「スキル名は要求上限を示しており、全モデルが 1M に到達するわけではない(Codex が max_context_window にクランプする)」と説明されています。

apply は保守的なエディタ:正規表現により最上位の 2 つのキー(model_context_window / model_auto_compact_token_limit)の単純な整数代入行のみを置換。構文を安全に維持できない場合は変更を拒絶。新規キーは最初のテーブルヘッダーの直前に挿入し、変更後は 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 で全パースして両キーの値をアサートします。

安全なディスク書き込みチェーン:コンテンツ連動型バックアップ(CODEX_HOME/backups/codex-1m-context-window-setup/ 配下に config.toml.<UTC時刻>.<sha12>.bak を配置)→ 同一ディレクトリの一時ファイル + 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 を再実行して推奨値を計算し、現在のベース設定と一致しない場合は非ゼロ終了コードで 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/ブラウザ設定の変更不可、プロファイル単位の設定には非関与、コマンドごとの -c フラグは上書きせず、現在のスレッドが拡張済みと主張せず、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.
「スコープ拡張の拒否」セクションに対象外項目を列挙。「ユーザーにトークン数を尋ねない」方針と合わせ、ワークフローから推測を排除しています。

2コア機能

01doctor:現在の制限を読み取り専用で診断、258K の要因を説明、推奨設定のプレビュー(モデル/カタログデフォルト値/最大値/利用可能割合/60% 圧縮ポイント/現在の設定/対象パス)
02apply:ベース設定の 2 つのキーをモデル認識型で到達可能な上限まで安全に変更(バックアップ/アトミック書き込み/並行検出/失敗時ロールバック/strict 検証付き)
03verify:更新後/モデル変更後/新規マシン設定後に、設定がモデル認識型の推奨値と一致しているかを検証(非ゼロ終了 = 再設定が必要)
04クロスプラットフォーム対応(macOS/Linux bash および Windows PowerShell の両コマンドテンプレートを提供)
05機械可読出力(--json)と人間向けレポートの両フォーマットに対応し、値はスクリプト出力からそのままコピー
06テスト容易性:--codex-bin で実行ファイルパスを明示指定可能(診断/テスト用)、標準で pytest テストを同梱

3外部依存関係

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

4推奨統制措置と判定根拠

安全運用のための推奨統制措置
Agent 向け
段階的・都度認可、サンドボックス推奨
管理者向け
承認フロー、ロールバック可能、全履歴監査
判定根拠(ファイルパスと抜粋)
  • scripts/: ローカルスクリプトまたはコマンドの実行: python3 で codex_context_window.py(標準ライブラリのみ)を実行
  • 本地工作目录: ファイルの読み書きと成果物出力: apply 時に $CODEX_HOME/config.toml を書き込み(コンテンツ連動型バックアップ + 同一ディレクトリでのアトミック置換 + 失敗時の元内容へのロールバック);バックアップは $CODEX_HOME に保存
監査ノート: 標準ライブラリのみで構成されたローカル Python スクリプトを実行し、公式 Codex ローカル CLI を呼び出します。ローカル設定($CODEX_HOME/config.toml)を書き換えますが、コンテンツ連動型バックアップ、アトミック置換、並行変更検出、および失敗時の自動ロールバックを備えています。外部へのネットワーク送信、認証情報の読み取り、破壊的削除は一切行いません。注意点:スクリプト自体に HTTP 通信はありませんが、codex doctor の通信有無は公式 CLI の仕様に準じます。共有ベース設定を変更するため、マルチスレッド並行性はバイト列比較によって保護されます。

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 検証 + 失敗時ロールバック
  • 最小限の変更:正規表現レベルで 2 つのキーのみを変更し、TOML のコメント/改行/その他のテーブルを完全保持
  • 明確な対象外リストにより、モデル/サンドボックス/MCP 設定などを勝手に変更するスコープ肥大化を防止
  • 最適な用途: Codex ヘビーユーザーやワークステーション/教室の一括設定に最適:デフォルトの 258K から 500K/1M への拡張、頻繁すぎる自動圧縮の解消、アップデート後の設定維持検証などに適しています。「ロールバック可能・検証可能・他の設定に影響を与えない」慎重な設定管理を求めるユースケース(スクリプトセマンティクスが教室環境と合致)に最適です。
    不向きな用途: モデル選択、推論段階、サンドボックス承認設定などの変更を意図するユーザーには不向き(境界ルールにより拒否);debug models コマンドのない古い Codex 環境には不向き(エラー停止します);プロファイル設定やコマンドごとの -c で上書きしている設定はこのスキルの管理対象外です(ベース設定のみ変更)。
    Install Agent-Ready
    ① Verified Mirror 2026-09-09
    Option A · Direct DownloadDownload codex-1m-context-window-setup.tar.gz
    sha256: 9d4e6694887d55eb…
    Option B · Copy Guide for Agent
    install.json
    Agent はこの JSON ガイドから自動的にダウンロードして検証します。
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit d5c4678cb5.