mcpField
H
harbor-cli

harbor-cli

github.com/harbor-frameworkテスト・品質1459 回インストール31 週間前に更新
リポジトリ

harbor-cli について

Harbor CLI は、タスクやデータセットの準備から、エージェントの実行、試行結果の確認まで、ベンチマーク評価を管理します。ジョブの再開、失敗分析、アダプターのひな形作成、トレースのエクスポートにも対応します。

主な機能

  1. 01評価ジョブの実行と再開
  2. 02タスクとアダプターの作成・評価
  3. 03データセットの一覧表示とダウンロード
  4. 04Web UI での結果確認
  5. 05失敗の要約と試行のデバッグ
  6. 06ATIF 形式でのトレース出力

活用シーン

  1. 01ローカルタスクやデータセットでのエージェント評価
  2. 02タスク開発中の単一試行のデバッグ
  3. 03ジョブ内の失敗の確認
  4. 04ベンチマーク用アダプターとタスクの準備

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/harbor-framework/skills --skill harbor-cli

インストール後、Claude Code で/harbor-cliを入力して読み込まれたか確認します。

同梱ファイルreferences/flags.md

詳細

Harbor CLI リファレンス

Harbor CLI は、タスクの作成、エージェントの実行、結果の表示など、評価のライフサイクル全体を管理します。uv tool install harbor でインストールします。グローバルオプション:--version / -v。

すべてのコマンドのフラグ、型、デフォルト値を網羅した表については、references/flags.md を参照してください。

クイックリファレンス

コマンド説明
harbor run評価を実行します(harbor jobs start のエイリアス)
harbor jobs start評価ジョブを開始します
harbor jobs resume中断されたジョブを再開します
harbor jobs summarizeジョブの失敗を AI で要約します
harbor trials start単一のトライアルを実行します(デバッグ用)
harbor trials summarize単一のトライアルを AI で要約します
harbor datasets list利用可能なデータセットを一覧表示します
harbor datasets downloadデータセットをダウンロードします
harbor adapters init新しいベンチマークアダプターのひな形を作成します
harbor adapters reviewアダプターの構造と品質を AI でレビューします
harbor tasks init新しいタスクのひな形を作成します
harbor tasks checkタスクの品質を AI で評価します
harbor tasks start-envタスク環境を対話形式で起動します
harbor tasks debugタスクの失敗したトライアルを分析します
harbor tasks migrateTerminal-Bench のタスクを Harbor 形式に変換します
harbor viewWeb UI でジョブ/トライアルの結果を確認します
harbor sweeps run評価スイープを順次実行します
harbor traces exportトレースデータを ATIF 形式でエクスポートします
harbor cache cleanDocker イメージとキャッシュディレクトリをクリーンアップします
harbor admin管理コマンド(非表示)

harbor run / harbor jobs start

主要なコマンドです。harbor run は harbor jobs start のエイリアスです。

デフォルト: エージェント = oracle、同時実行数 = 1、環境 = docker、出力先 = ./jobs。

主なフラグ:

フラグ短縮形説明
--path-pタスクディレクトリのローカルパス
--dataset-dレジストリのデータセット(例:[email protected])
--config-cジョブ設定の YAML/JSON ファイル
--agent-aエージェント名(デフォルト:oracle)。複数回指定できます
--model-mモデル識別子。複数回指定できます
--n-concurrent-n同時実行するトライアル数(デフォルト:1)
--env-e環境バックエンド(デフォルト:docker)
--jobs-dir-o出力ディレクトリ(デフォルト:./jobs)
--agent-env--aeエージェントに環境変数を渡します:KEY=VALUE。複数回指定できます
--agent-kwarg--akエージェントのキーワード引数:key=value。複数回指定できます
--task-name-tglob パターンに一致するタスクを含めます。複数回指定できます
--exclude-task-name-xglob パターンに一致するタスクを除外します。複数回指定できます
--n-tasks-l実行するタスクの最大数
--quiet-qトライアルの進行状況を表示しません
--debugデバッグログを有効にします
--dry-run設定を表示して終了します
--disable-verificationテストの実行をスキップします
--no-cacheDocker ビルドキャッシュをスキップします
--artifactトライアル後、環境からパスをダウンロードします。複数回指定できます
--timeout-multiplierすべてのタイムアウトを調整します(デフォルト:1.0)

環境のキーワード引数(--ek)、環境変数(--ee)、検証器のキーワード引数(--vk)、オーケストレーターのキーワード引数(--ok)、エージェントイメージ、再試行設定、トレースのエクスポート、フェーズごとのタイムアウト倍率に関する追加フラグは、references/flags.md に記載されています。

例
# Run local task with oracle (validates solution + tests)
harbor run -p ./my-task

# Run with a real agent
harbor run -p ./my-task -a claude-code -m anthropic/claude-sonnet-4-1

# Dataset evaluation with concurrency
harbor run -d [email protected] -a claude-code -m anthropic/claude-sonnet-4-1 -n 8

# Cloud environment
harbor run -d my-dataset -a claude-code -m anthropic/claude-sonnet-4-1 -e daytona

# From config file
harbor run -c eval-config.yaml

# Pass API key to agent
harbor run -p ./my-task -a claude-code -m anthropic/claude-sonnet-4-1 \
  --ae ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY

# Run subset of tasks
harbor run -d [email protected] -a claude-code -m anthropic/claude-sonnet-4-1 \
  -t "bash-*" -l 10

# Dry run
harbor run -d [email protected] -a claude-code -m anthropic/claude-sonnet-4-1 --dry-run

harbor jobs resume

中断されたジョブ、または一部のみ完了したジョブを再開します。

harbor jobs resume -p ./jobs/my-job-2025-01-15
harbor jobs resume -p ./jobs/my-job -f AgentTimeoutError
フラグ短縮形説明
--job-path-pconfig.json を含むジョブディレクトリのパス(必須)
--filter-error-type-f再開前に、このエラータイプに一致するトライアルを削除します。複数回指定できます。デフォルト:CancelledError

harbor jobs summarize

ジョブ内のトライアルについて、AI を活用した失敗の要約を生成します。

harbor jobs summarize ./jobs/my-job
harbor jobs summarize ./jobs/my-job -m sonnet --all --overwrite
フラグ短縮形説明
job_pathジョブディレクトリまたは親ディレクトリへのパス(位置引数)
--model-mモデル:haiku、sonnet、opus(デフォルト:haiku)
--n-concurrent-n同時クエリの最大数(デフォルト:5)
--all / --failedすべてのトライアル、または失敗したトライアルのみを分析します(デフォルト:--failed)
--overwrite既存の summary.md ファイルを上書きします

harbor trials start

単一のトライアルを実行します。デバッグやタスク開発に便利です。

harbor jobs start との主な違い: 環境フラグは --env ではなく --environment-type で、出力先は --trials-dir です(デフォルト:./trials)。

フラグ短縮形説明
--path-pローカルのタスクディレクトリへのパス
--config-cトライアル設定 YAML/JSON
--agent-aエージェント名(デフォルト:oracle)
--model-mエージェントのモデル
--environment-type-e環境タイプ(デフォルト:docker)
--trials-dir出力ディレクトリ(デフォルト:./trials)
--agent-env--aeエージェント用の環境変数:KEY=VALUE。繰り返し指定できます
--agent-kwarg--akエージェントのキーワード引数:key=value。繰り返し指定できます
--no-cleanupトライアル終了後も環境を保持します
--no-verifyテストの実行をスキップします

フラグの全一覧(タスクのキーワード引数、Git オプションなど)は references/flags.md を参照してください。

# Test with oracle (validates solution + tests)
harbor trials start -p ./my-task

# Test with real agent
harbor trials start -p ./my-task -a claude-code -m anthropic/claude-sonnet-4-1

# Keep container for inspection
harbor trials start -p ./my-task -a claude-code -m anthropic/claude-sonnet-4-1 --no-cleanup

oracle エージェントは環境内で solution/solve.sh を実行し、その後、検証器が tests/test.sh を実行します。oracle の報酬が 1.0 にならない場合、テストまたはソリューションに不具合があります。

harbor trials summarize

harbor trials summarize ./trials/my-trial
harbor trials summarize ./trials/my-trial -m sonnet --overwrite
フラグ短縮形説明
trial_pathトライアルディレクトリへのパス(位置引数)
--model-mモデル:haiku、sonnet、opus(デフォルト:haiku)
--overwrite既存の summary.md を上書きします

harbor datasets

harbor datasets list
harbor datasets list
harbor datasets list --registry-url https://custom-registry.example.com
harbor datasets list --registry-path ./local-registry.json

--registry-url と --registry-path は同時に指定できません。デフォルトは Harbor のパブリックレジストリです。

harbor datasets download
harbor datasets download [email protected]
harbor datasets download [email protected] -o ./my-tasks --overwrite
フラグ短縮形説明
DATASET名前または name@version(位置引数)
--output-dir-oダウンロード先ディレクトリ(デフォルト:~/.cache/harbor/tasks)
--overwriteキャッシュ済みでも再ダウンロードします

harbor adapters

harbor adapters init
harbor adapters init my-benchmark

ベンチマーク名、アダプター ID、クラス名、説明、ソース URL、ライセンスを入力する対話形式のウィザードです。テンプレートファイルを含むアダプターディレクトリを作成します。

harbor adapters review
harbor adapters review -p adapters/my-benchmark
harbor adapters review -p adapters/my-benchmark --skip-ai -o report.md

harbor tasks

harbor tasks init
harbor tasks init my-task
harbor tasks init my-task -p ./custom-tasks
フラグ短縮形説明
nameタスク名(位置引数)
--tasks-dir-p出力ディレクトリ(デフォルト:.)
--no-pytesttest.sh での pytest をスキップします
--no-solutionソリューションディレクトリの作成をスキップします
--include-canary-strings不正行為防止用のカナリア文字列を追加します
--include-standard-metadatatask.toml に完全なメタデータテンプレートを追加します
harbor tasks check

ルーブリックに基づいて AI が品質を評価します。

harbor tasks check ./my-task
harbor tasks check ./my-task -m opus -o results.json
harbor tasks check ./my-task -r custom-rubric.toml
フラグ短縮形説明
taskタスク名またはパス(位置引数)
--model-mモデル:sonnet、opus、haiku(デフォルト:sonnet)
--output-path-oJSON の結果の書き込み先
--rubric_path-rカスタムルーブリック(.toml、.yaml、.yml、.json)
harbor tasks start-env

手動で確認するため、タスク環境を対話的に起動します。

harbor tasks start-env -p ./my-task
harbor tasks start-env -p ./my-task -e daytona
harbor tasks start-env -p ./my-task --agent claude-code -m anthropic/claude-sonnet-4-1
フラグ短縮形説明
--path-pタスクディレクトリへのパス
--env-e環境タイプ(デフォルト:docker)
--all-a解答とテストを含めます(デフォルト:true)
--interactive / --non-interactive-i対話型シェル(デフォルト:true)
--agent環境にインストールするエージェント
--model-mエージェントに使用するモデル

すべてのフラグについては references/flags.md を参照してください。

harbor tasks debug

AI を使用して、タスクの失敗した試行を分析します。

harbor tasks debug my-task-id -m sonnet
harbor tasks debug my-task-id --job-id my-job --jobs-dir ./jobs
フラグ短縮形説明
task_idタスク ID(位置引数)
--model-m分析に使用するモデル
--job-id分析する特定のジョブ
--jobs-dirジョブを含むディレクトリ
harbor tasks migrate

Terminal-Bench のタスクを Harbor 形式に変換します。

harbor tasks migrate -i ./old-tasks -o ./harbor-tasks
harbor tasks migrate -i ./old-tasks -o ./harbor-tasks --cpus 2 --memory-mb 4096
フラグ短縮形説明
--input-iTerminal-Bench のタスクディレクトリまたは親ディレクトリ
--output-o出力ディレクトリ
--cpusすべてのタスクの CPU 数を上書きします
--memory-mbメモリ(MB)を上書きします
--storage-mbストレージ(MB)を上書きします
--gpusGPU 数を上書きします

harbor view

Web UI でジョブ/試行の結果を閲覧します。

harbor view ./jobs/my-job
harbor view ./jobs --port 9000
harbor view ./jobs --dev
フラグ短縮形説明
folder軌跡を含むディレクトリ(位置引数)
--port-pポートまたは範囲(デフォルト:8080-8089)
--hostバインドするホスト(デフォルト:127.0.0.1)
--devホットリロード開発モード
--buildビューアーを強制的に再ビルドします
--no-build自動ビルドをスキップします

ジョブの概要、試行ごとの報酬値、エージェントの軌跡、テスト出力を表示します。

harbor sweeps run

スイープを連続して実行します。各スイープでは、すでに少なくとも 1 回成功しているタスクを除外し、残りの失敗タスクに注力します。

harbor sweeps run -c sweep-config.yaml
harbor sweeps run -c sweep-config.yaml --max-sweeps 5 --trials-per-task 3
harbor sweeps run -c sweep-config.yaml --hint "Try grep to find the file first"
フラグ短縮形説明
--config-cジョブ設定ファイル(YAML/JSON)
--max-sweeps最大スイープ数(デフォルト:3)
--trials-per-taskスイープごとのタスクあたりの試行数(デフォルト:2)
--hintエージェントの kwargs に渡すヒント文字列
--hints-fileタスク名からヒントへの対応を記述した JSON ファイル
--push / --no-pushエクスポートしたデータセットを HF Hub にプッシュします

追加のエクスポート用フラグについては references/flags.md を参照してください。

harbor traces export

ATIF の軌跡をトレーニングデータセットとしてエクスポートします。

harbor traces export -p ./jobs/my-job
harbor traces export -p ./trials --filter success --push --repo my-org/traces
harbor traces export -p ./jobs/my-job --sharegpt --episodes last
フラグ短縮形説明
--path-p試行ディレクトリ、または試行を含むルートディレクトリへのパス
--recursive / --no-recursive再帰的に検索します(デフォルト:再帰検索)
--episodes試行ごとのエピソード(all または last、デフォルト:all)
--filtersuccess、failure、または all(デフォルト:all)
--sharegpt / --no-sharegptShareGPT 形式の会話
--push / --no-pushHugging Face Hub にプッシュします
--repoHF リポジトリ ID(org/name)

追加のフラグ(--subagents、--instruction-metadata、--verifier-metadata、--verbose)については references/flags.md を参照してください。

harbor cache clean

Harbor の Docker イメージと ~/.cache/harbor を削除します。

harbor cache clean
harbor cache clean --force
harbor cache clean --dry
harbor cache clean --no-docker      # Only clean ~/.cache/harbor
harbor cache clean --no-cache-dir   # Only clean Docker images
フラグ短縮形説明
--force-f確認をスキップします
--dry削除せずにプレビューします
--no-dockerDocker イメージの削除をスキップします
--no-cache-dir~/.cache/harbor の削除をスキップします

harbor admin upload-images

タスクの Docker イメージをビルドして、コンテナレジストリにプッシュします。ビルド済みイメージを使うワークフロー向けに、task.toml を docker_image で更新します。harbor --help には表示されませんが、完全に機能します。

harbor admin upload-images -r my-registry.io --tag 20260317
harbor admin upload-images -r my-registry.io --dry-run -f "bash-*"

主なフラグ:--tasks-dir / -t(デフォルト:tasks)、--registry / -r(必須)、--tag(デフォルト:今日の日付 YYYYMMDD)、--dry-run、--filter / -f、--push/--no-push(デフォルト:プッシュ)、--delete/--no-delete、--parallel / -n(デフォルト:1)、--update-config/--no-update-config、--override-config/--no-override-config。詳細は references/flags.md をご覧ください。

対応エージェント

エージェントCLI 値備考
Oracleoraclesolution/solve.sh を実行します。デフォルトのエージェント
Nopnop何もしません(ベースライン)
Claude Codeclaude-codeANTHROPIC_API_KEY が必要です
Aideraider
Codexcodex
Cline CLIcline-cliモデル形式:provider:model-id
Cursor CLIcursor-cli
Gemini CLIgemini-cliGOOGLE_API_KEY または GEMINI_API_KEY が必要です
Goosegooseモデル形式:provider/model_name
Mini SWE-agentmini-swe-agent
SWE-agentswe-agent
OpenCodeopencode
OpenHandsopenhandsLLM_API_KEY と LLM_MODEL が必要です
OpenHands SDKopenhands-sdk
Qwen Coderqwen-coder
TerminusterminusHarbor 組み込みのエージェント
Terminus 1terminus-1
Terminus 2terminus-2

環境バックエンド

バックエンドCLI 値説明
Dockerdockerデフォルト。ローカルコンテナ
DaytonadaytonaDocker-in-Docker に対応したクラウドサンドボックス
E2Be2bE2B クラウドサンドボックス
GKEgkeGoogle Kubernetes Engine
ModalmodalGPU に対応したサーバーレス環境
RunlooprunloopRunloop クラウド環境

注:harbor run では --env / -e を使います。harbor trials start では --environment-type / -e を使います。

よくあるワークフロー

新しいタスクの作成とテスト
harbor tasks init my-task
# Edit: task.toml, instruction.md, Dockerfile, tests/test.sh, solution/solve.sh
harbor tasks check ./my-task
harbor trials start -p ./my-task                    # oracle validates tests
harbor trials start -p ./my-task -a claude-code -m anthropic/claude-sonnet-4-1
harbor view ./trials
ベンチマーク評価の実行
harbor datasets list
harbor datasets download [email protected]
harbor run -d [email protected] -a claude-code -m anthropic/claude-sonnet-4-1 -n 8
harbor view ./jobs
harbor traces export -p ./jobs/my-job --push --repo my-org/traces
失敗したタスクのデバッグ
harbor tasks start-env -p ./my-task         # interactive shell in the container
# Inside: bash /tests/test.sh && bash /solution/solve.sh
harbor tasks debug my-task-id -m sonnet     # AI analysis of failures
harbor trials start -p ./my-task            # re-test with oracle
失敗したジョブの再開
harbor jobs resume -p ./jobs/my-job-2025-01-15
harbor jobs resume -p ./jobs/my-job -f AgentTimeoutError
harbor jobs summarize ./jobs/my-job

よくある注意点

API キー: ほとんどのエージェントでは、--ae を使ってキーを渡す必要があります。Claude Code には ANTHROPIC_API_KEY、OpenHands には LLM_API_KEY、Goose にはプロバイダー固有のキーが必要です。エージェントがすぐに失敗する場合は、キーを確認してください。

Docker を起動しておく必要があります。 Harbor はサンドボックス環境に Docker を使います。同時に実行するトライアルが多くネットワークが枯渇すると、失敗することがあります。harbor cache clean が役立ちます。

モデル名の形式はエージェントによって異なります。 Claude Code では anthropic/claude-sonnet-4-1、Cline CLI では provider:model-id(例:openrouter:anthropic/claude-opus-4.5)、Goose では provider/model_name を使います。モデル形式に関する ValueError は、通常、そのエージェントに適さない形式を指定したことを意味します。

--env と --environment-type の違い: harbor run では --env / -e を使います。harbor trials start では --environment-type / -e を使います。同じ短縮フラグですが、長い名前は異なります。

デフォルトのエージェントは oracle です。 -a を指定し忘れると、solve.sh を実行するだけの oracle エージェントが使われます。タスクの検証には問題ありませんが、実際の評価には適していません。

デバッグには --no-cleanup を使います。 harbor trials start に指定すると、トライアルの失敗後もコンテナが起動したままになるため、中を調べられます。

リトライのデフォルト設定では、よくあるエラーは除外されます。 --retry-exclude のデフォルトは AgentTimeoutError、VerifierTimeoutError、RewardFileNotFoundError、RewardFileEmptyError、VerifierOutputParseError です。これらは通常、一時的な障害ではなくタスクの問題を示しています。

コメント