Communityライティング&編集github.com

trimanabas391/open-harness

AIコーディングエージェント向けの、完全な権限、永続メモリ、バックグラウンドタスクを備えた隔離サンドボックスコンテナをDocker上で実行します。

open-harness とは?

open-harnessは、AIコーディングエージェント(Claude Code、Cursor、Codexなど)が安全かつ自律的に動作できる隔離されたサンドボックス環境をDocker上に提供するスキルです。各エージェントに完全なファイルシステム権限と永続的な作業メモリを与え、長時間のバックグラウンドタスクを実行可能にします。これにより、エージェントは外部環境に影響を与えることなく、パッケージのインストール、コードの実行、デバッグ、テスト、ファイルの読み書きなどを自由に行えます。また、コンテナは分離されているため、複数のエージェントを同時に並行実行しても互いに干渉しません。主にDocker上で動作し、開発者は`docker-compose.yml`の設定や環境変数を通じてメモリ制限やネットワーク設定をカスタマイズできます。このスキールは、開発者がAIエージェントを本番に近い環境でテストしたり、複雑なビルドやデプロイタスクを任せたりするのに理想的です。

対応~Claude Code~Codex CLI~Cursor
npx skills add trimanabas391/open-harness

Installed? Explore more ライティング&編集 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

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ライセンスの下で公開されています。

関連スキル