>cat/works/agent-box/README.md
title: agent-box — AIエージェントCLIのコンテナ隔離
about: Claude CodeやCodexなどのAIエージェントCLIを軽量VMに隔離して実行するmacOS向けツール。権限確認を外した実行時にも、ホストの認証情報とファイルシステムを保護する。
year: 2026
role: System Design / Software Development
category: 探索
stack: Apple ContainerShellDockerfilemacOS
> cat details.md
agent-box は、--dangerously-skip-permissions
Docker ではなく/work に
隔離の設計
- 認証は
コピーモデル — Claude Code は~/.config/agent-box/claude、Codex は ~/.config/agent-box/codex(auth.jsonのみ)からトークンを 複製して 持ち込み、 ホスト本体の 認証情報には エージェントを 触れさせません。 GitHub CLI ( gh)は~/.config/agent-box/gh-tokenをGH_TOKENとして 渡し、 PR 作成・issue 操作・ git push(HTTPS)に 使えます (ホストの SSH 鍵は 箱に 渡しません)。 パスは AGENT_BOX_CLAUDE_CFG/AGENT_BOX_CODEX_CFG/AGENT_BOX_GH_TOKENで上 書き可能です。 - 非 root + uid 自動追従 —
--dangerously-skip-permissionsはroot 実行を 拒否する ため非 root で 動かし、 コンテナ内 uid は ホストの id -uに自動追従します。 マウントした ファイルの 読み 書き権限を 揃えます。 - プラグインは
read-only マウント (任意) — 既定は ~/.config/agent-box/plugin( AGENT_BOX_PLUGIN_DIRで変更可)。 あれば /opt/plugin:roにマウントし Claude Code には --plugin-dirでskills / hooks を 読み込みます。 plugin に skills/があれば Codex 向けに /home/dev/.codex/skills:roに渡します (hooks は 付きません)。 未指定なら素の Claude Code で 起動します。 イメージを 再ビルドせず、 更新は ホスト側の plugin 更新だけで 済みます。 - sitesnap
焼き込み (任意) — web/UI 作業向けに AGENT_BOX_WITH_SITESNAP=1 box updateでsitesnap + Chromium を イメージに 同梱できます (既定は OFF。 数百 MB 増える ため)。 - 更新は
意図的に — 起動時の手動 自動更新は 行わず、 box updateで 明示的に イメージ (claude / codex / gh 本体)を 作り直します。 plugin は マウントの ため再ビルド不要です。 イメージが 既定 14 日より 古い 場合は 起動時に box updateを促すヒントだけ出し、 自動では 更新しません。 再現性と オフライン動作の ための 方針です。
使い方
サブコマンドbash / codex など)をbox . bash のように. をbox 単体の
box # カレントプロジェクトで Claude を対話起動
box <project-path> # 指定プロジェクトで Claude を起動
box . bash # カレントでコンテナ内のシェルに入る
box <project-path> bash # コンテナ内のシェルに入る
box <project-path> codex # コンテナ内で Codex を実行
box <project-path> <command> # 任意コマンドを実行
box update # イメージを再ビルド(手動更新)
動作要件は
技術スタック
| カテゴリ | ツール | 選定理由 |
|---|---|---|
| 隔離基盤 | Apple Container | コンテナごとに |
| イメージ定義 | Dockerfile | git 設定や |
| ラッパー | Shell | box コマンド一本で |
| GitHub 連携 | GitHub CLI (gh) | 箱内からGH_TOKEN は~/.config/agent-box/gh-token の |
| 対象エージェント | Claude Code / Codex | 権限確認を |