open-harness は何をしますか?
AIコーディングエージェント向けの、完全な権限、永続メモリ、バックグラウンドタスクを備えた隔離サンドボックスコンテナをDocker上で実行します。
概要
このスキルは、AIエージェント(Claude Code、Cursor、Codexなど)が安全で隔離された環境で動作するためのDockerベースのサンドボックスを提供します。各エージェントには完全なファイルシステム権限が与えられ、永続的な作業ディレクトリが割り当てられます。また、長時間のバックグラウンドタスクもサポートされています。
主な機能
- 隔離された環境: 各エージェントは独立したDockerコンテナ内で実行され、他のエージェントやホストシステムから分離されます。
- 完全な権限: エージェントはコンテナ内で
root権限を持ち、パッケージのインストール、システム設定の変更、デーモンの実行などが可能です。 - 永続メモリ: エージェントの作業データはコンテナの再起動後も保持される永続ボリュームに保存されます。
- バックグラウンドタスク: エージェントは長時間実行されるプロセス(例:トレーニング、ビルド、監視)をバックグラウンドで開始し、後で結果を確認できます。
対応プラットフォーム
- Claude Code: コンテナ内で直接Claude Codeエージェントを実行できます。
- Cursor: Cursorエディタからコンテナ内のエージェントに指示を送信できます。
- Codex: OpenAI Codexモデルと連携して、コンテナ内でコード生成と実行を行えます。
- その他: Docker環境で動作する任意のAIエージェントツールと互換性があります。
セットアップ方法
前提条件
- Docker Engine 20.10以上
- Docker Compose v2以上(オプション)
クイックスタート
以下のコマンドでサンドボックスコンテナを起動します。
docker run -d --name open-harness-sandbox \
-v open-harness-data:/home/agent/workspace \
-e AGENT_NAME="my-agent" \
trimanabas391/open-harness:latest
Docker Composeを使用する場合
docker-compose.ymlファイルを作成します。
version: '3.8'
services:
sandbox:
image: trimanabas391/open-harness:latest
container_name: open-harness-sandbox
volumes:
- open-harness-data:/home/agent/workspace
environment:
- AGENT_NAME=my-agent
- MAX_MEMORY=4g
- ALLOW_NETWORK=true
restart: unless-stopped
volumes:
open-harness-data:
その後、以下を実行します。
docker-compose up -d
環境変数
| 変数名 | 説明 | デフォルト値 |
|---|---|---|
AGENT_NAME | エージェントの名前(識別用) | agent |
MAX_MEMORY | コンテナの最大メモリ制限 | 2g |
ALLOW_NETWORK | ネットワークアクセスを許可するかどうか | true |
WORKSPACE_DIR | 永続化する作業ディレクトリのパス | /home/agent/workspace |
使用例
Claude Codeで使用する
docker exec -it open-harness-sandbox claude-code "プロジェクトのセットアップを初期化してください"
バックグラウンドタスクの実行
# バックグラウンドで長時間のビルドを開始
docker exec -d open-harness-sandbox bash -c "nohup make build > /tmp/build.log 2>&1 &"
# 後で結果を確認
docker exec open-harness-sandbox cat /tmp/build.log
注意事項
- コンテナ内では完全な権限が付与されているため、信頼できるエージェントのみで使用してください。
- 永続ボリュームは定期的にバックアップすることを推奨します。
- ネットワークアクセスを無効にするには、
ALLOW_NETWORK=falseを設定してください。
ライセンス
MITライセンスの下で公開されています。