>cat/works/agent-box/README.md
title: agent-box — AIエージェントCLIのコンテナ隔離
year: 2026
role: Solo dev
category: 探索
stack: Apple ContainerShellDockerfileClaude CodeCodexmacOS
agent-box は、--dangerously-skip-permissions
Docker ではなく/work に
隔離の設計
- 認証は
コピーモデル — Claude Code は~/work/.sandbox-claude、Codex は ~/work/.sandbox-codex(auth.jsonのみ)からトークンを 複製して 持ち込み、 ホスト本体の 認証情報には エージェントを 触れさせません。 - 非rootの
uid 501 —--dangerously-skip-permissionsはroot 実行を 拒否する ため、 ホストと 同じ uid 501 で 動かします。 uid を 合わせる ことで マウントした ファイルの 読み 書き権限も 揃います。 - プラグインは
read-only マウント — hikizan プラグインを/opt/hikizan:roに読み取り専用で マウントし、 --plugin-dirで skills / hooks を 読み込みます。 イメージを 再ビルドせずに 使え、 更新は ホスト側の git pullだけで済みます。 - 更新は
意図的に — 起動時の手動 自動更新は 行わず、 box updateで 明示的に イメージを 作り直します。 再現性と オフライン動作の ための 方針です。
使い方
box # カレントプロジェクトで Claude を対話起動
box <project-path> # 指定プロジェクトで Claude を起動
box <project-path> bash # コンテナ内のシェルに入る
box <project-path> codex # コンテナ内で Codex を実行
box <project-path> <command> # 任意コマンドを実行
box update # イメージを再ビルド(手動更新)
動作要件は
技術スタック
| カテゴリ | ツール | 選定理由 |
|---|---|---|
| 隔離基盤 | Apple Container | コンテナごとに |
| イメージ定義 | Dockerfile | git 設定や |
| ラッパー | Shell | box コマンド一本で |
| 対象エージェント | Claude Code / Codex | 権限確認を |