Harness について
Harnessは、複数のマシンでコーディングエージェントのセッションを実行・確認するオープンソースの指令センターです。エージェントCLIを使う開発者向けに、デスクトップとコマンドラインの画面、個別のworktree、暗号化されたリモート接続、分野別harnessの作成機能を提供します。エージェントCLIをラップしません。
主な機能
- 01複数マシンのエージェントセッション管理
- 02実際のtmux端末とラップしないCLI
- 03harnessごとの独立したworktree
- 04エンドツーエンド暗号化リモート接続
- 05キーボード操作のデスクトップとコマンドライン画面
- 06ビューアー付き分野別harnessの作成
活用シーン
- 01複数マシンでのエージェントセッションの確認
- 02worktreeによるエージェントのコード変更の分離
- 03ノートPCと自宅サーバーやGPUマシンの接続
- 04設計、エンジニアリング、メディアツールのワークフロー構築
MCP 対応
HarnessのStoreにはBonsai MCPやComfy MCPなどのharnessがあります。READMEではHarness自体がMCPサーバーであることや、MCPクライアント接続については説明されていません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
1掲載時のツール一覧 · 1 週間前に更新
このツールにパラメーターはありません。
詳細
Harnessを自在に使いこなす。
コーディングエージェントをはじめ、あらゆる用途に対応する究極のハーネスです。
仕事ではClaude Code。自宅ではCodex。クラウドではHermes。すべてをひとつのコマンドセンターで。
コードから始めて、好奇心の赴くままに、CAD、回路、ロボット、ゲーム、音楽など、さまざまな分野へと広げましょう。
ダウンロード · 仕組み · コードの枠を超えて · ハーネス · デバイス
すべてのエージェントを並べて表示
Claude Code、Codex、Cursor、OpenCode、Devin、Amp、Copilot、さらに7つのツールに対応しています。

すべてのマシンを並べて表示
ノートパソコン、自宅のサーバー、GPUマシンをひとつのウィンドウに表示します。それぞれパスワードで接続できます。 SSHキーも、Tailscaleも、ポートフォワーディングも不要です。

キーボード操作を優先
⌘Pで、どのマシン上のハーネスでも検索できます。⇧⌘Iで、応答を待っているハーネスに移動できます。⌘Dで分割できます。すべてのキーを再割り当てできます。

エンドツーエンド暗号化
コード、キー、キー入力はお使いのマシン上で暗号化されます。リレーは読み取れないバイト列を転送します。

高速で軽量
Electronではなく、ネイティブアプリです。アプリを閉じてもエージェントは作業を続けます。
M2 Maxでのアイドル時の測定値:
- ⌘N、⌘O、⌘T UI: 中央値11~13 ms、p95で15~18 ms。
- ローカルターミナルのエコー: 中央値1.1 ms、p95で7.2 ms。UIのレンダリングを除きます。
- デスクトップのリソース使用量: CPUコア1基の約0.1%、304 MiB。ターミナルのレンダリングとスクロールバックを含み、エージェントのCLIとデーモンは除きます。
デスクトップの測定結果は、ターミナル16個、それぞれスクロールバック1,000行を使用したReleaseフィクスチャによるものです。 ワークロード、遅延の大きいケース、接続失敗、実測データについては、ワークフローとリソースのベンチマーク およびリモートP2P、TURN、リレーの結果をご覧ください。
開発者の働き方に合わせた設計
- 本物のターミナル。 すべてのエージェントは、それぞれ専用のtmuxペインで動作します。スクロールバック、色、キー入力はそのまま使えます。
- CLIはそのまま。 Harnessはエージェントをラップしません。トランスクリプトを読み取り、ベンダー独自のフックを使用します。
- ハーネスごとのワークツリー。 エージェントを専用のブランチで起動できます。作業コピーはクリーンなままです。
- すべてのキーを再割り当て。 保存時に再読み込みされるJSONCファイルひとつで設定できます。最大4ストロークのキーシーケンスに対応します。
- ローカルモデル。 Grid、Ollama、MLX-LM、vLLMを使って、お使いのマシンでオープンウェイトモデルを実行できます。
- ピクセルではなく、バイト列。 リモートターミナルはテキストをピアツーピアでストリーミングします。リモートデスクトップは不要です。
- すべてオープンソース。 アプリ、CLI、デーモン、リレー、デバイスはすべてこのリポジトリにあります。
仕組み
ワークスペースでは、ハーネスはCodexやClaude Codeなどのエージェントの実行セッションを指し、それぞれ独自の会話と作業コンテキストを持ちます。タブはハーネスをまとめます。New Harnessで新しいハーネスを起動し、New Tabで作業をまとめます。同じタブ内のハーネス同士はharness sendでメッセージを送れます。これはアカウントで試験的に提供しているAgent Messages機能で、デフォルトではオフになっており、Settings ▸ Experimentalで有効にできます。
ストアでは、特定の作業に対応する指示、ツール、任意のビューアーを備えたハーネスを提供しています。ハーネスをインストールしてから、ワークスペースで起動してください。命名規則の詳細については、命名システムをご覧ください。
マシンごとに1つのデーモンがtmux上でエージェントを実行します。接続は外向きに行うため、マシンでポートを開く必要はありません。
flowchart LR
subgraph laptop["Your laptop"]
app["Harness app"] -- loopback --> d1["daemon"]
d1 --> a1["tmux · Claude Code · Codex"]
end
subgraph box["Your GPU box"]
d2["daemon"] --> a2["tmux · OpenCode · Hermes"]
end
device["Harness device"] -- USB --> d1
d1 <-. "direct WebRTC" .-> d2
d1 <-- "ciphertext" --> relay["Harness relay · no keys"]
relay <-- "ciphertext" --> d2
すべての経路はエンドツーエンドで暗号化されています。ChaCha20-Poly1305、X25519セッションキー、固定されたEd25519 IDを使用します。 ハーネスが最適な経路を自動で選びます。
直接接続。 マシン間のWebRTCチャネルです。経路上にサーバーはありません。

Cloudflare経由。 ファイアウォールによって直接接続がブロックされる場合、同じ暗号化チャネルがCloudflareのTURNネットワーク経由で動作します。ハーネスは直接接続を引き続き試みます。

当社のリレー経由。 WebRTCのネゴシエーション中に使われるフォールバックです。リレーは鍵を保持せず、暗号文を転送します。

詳細については、アーキテクチャガイドをご覧ください。
はじめに
macOSまたはLinux向けの**アプリをダウンロード**してください。
マシンを追加します。そのマシンで次を実行してから、アプリでMachines → Link Machineを選択してください。
curl -fsSL https://harness.autonomous.ai/cli/install.sh | bash
harness login
harness remote-password set
harness start
ターミナルの場合: 同じコマンドでhnをインストールします。tmuxのキー設定と~/.tmux.confを使い、すべてのマシンのすべてのハーネスを扱えます(hn)。初回はhnがサインインし、コンピューターを接続します。
curl -fsSL https://harness.autonomous.ai/cli/install.sh | bash
hn
エージェントの場合: Claude CodeとCodexは、harnessスキルを使って他のハーネスを起動し、待機し、その内容を読み取れます
(harness.autonomous.ai/agentsには、Codex用のコマンドもあります)。
claude plugin marketplace add autonomous-ai/openharness --sparse .claude-plugin plugins
claude plugin install harness@openharness
ソースからビルド
Node.js 20+、tmux、Xcode、Flutter 3.47+ / Dart 3.13+が必要です。
git clone https://github.com/autonomous-ai/openharness.git
cd openharness
(cd cli && npm ci)
make install-cli
cd desktop
flutter config --enable-swift-package-manager
flutter pub get
flutter run -d macos
make install-cliを実行すると、このチェックアウトのCLIがインストールされ、ローカルデーモンが再起動します。開発ガイドをご覧ください。
コードの枠を超えて:分野を横断して制作する
「一流の起業家は博識な人です。」 — Peter Thiel
コーディングエージェントは、ソフトウェア以外にもさまざまなものを作れます。ハーネスを与えると、各分野の実際のツールを使って作業します。リアルタイムのビューアーで指示を出せます。以下のクリップはすべて実際のセッションです。
コードの枠を超えて:デザイン
Blender。 ランプと、調整したいスライダーを指定します。スライダーを動かすと、Blenderが形状を再構築します。気に入ったバージョンを保存できます。

CircuitJS。 フィルターを作成します。抵抗を1つ変更します。新しい波形を重ねて表示し、差を測定して、両方を保存します。

コード以外の領域:ロボティクス
MuJoCo。 ロボットの動作から一瞬をピン留めします。100 N の力で押します。2つの未来が分かれていく様子を見ます。

コード以外の領域:ゲーム
Godogen。 エージェントがプレイ可能なゲームを作ります。ジャンプに失敗したら、巻き戻してやり直します。その瞬間をピン留めして、エージェントに意図を伝えます。

コード以外の領域:音楽
Strudel。 トラックは演奏できるコードです。声のパートを出し入れし、良い部分に印を付けて、WAV を保存します。試聴する。

コード以外の領域:化学
RDKit。 結合を回転させて、分子の動きを観察します。実際のエネルギー曲線をたどります。詳しく調べる価値のある配座を保存します。

コード以外の領域:ドキュメント
Typst。 エージェントが実際の PDF を作成します。細部を丸で囲み、行を引用し、メモを残します。次のドラフトでその内容に対応します。

ドメイン固有ハーネス(DSH)
共通の媒体はコードです。ジオメトリスクリプトで部品を作り、ネットリストで基板を作り、アニメーションコードで映像を作ります。
ドメイン固有ハーネスは、コーディングエージェントを専門家に変えます。その分野の手順とスキル、固定されたツールチェーン、プロジェクトテンプレート、チェック機能、そしてライブビューアーを備えています。 片側でチャットをしながら、もう片側で基板や部品、ゲームが形になっていきます。
推論を行うのはエージェントです。ハーネスはツールと表示機能を提供します。これはharness.jsonを含むフォルダーなので、新しい分野を追加してもアプリに手を加える必要はありません。
ストアには49種類のハーネスがあります
アップストリームのオープンソースツールと、オリジナルのワークフローです。10種類の共有ビューアーが、必要なハーネスと一緒にインストールされます。掲載されていない実験的なものは表示されません。
自分で作る
次のハーネスは、あなたの専門分野に合わせたものです。お気に入りのツールやチームのツールチェーンをラップしましょう。ここに置くことも、自分のリポジトリに置くこともできます。このリポジトリから始める場合:
{
"spec": 1,
"id": "examples/hello-world",
"name": "Hello World",
"engine": "codex",
"workspace": { "template": "template", "marker": "index.html" },
"agent": { "instructions": "AGENTS.md" },
"viewer": { "use": "autonomous/web-viewer" }
}
harness dsh install "$PWD/store/viewers/web-viewer" --link
cp -R store/examples/hello-world ../my-harness
harness dsh check ../my-harness
harness dsh install ../my-harness --link
⌘N → Hello World を押して、あいさつしてみましょう。作成ガイドで、残りの手順を確認できます。
Harness device
Harness device を入手するか、以下のファイルを使って自分で作成できます。 ファームウェアガイドには、対応ボードとビルドコマンドが記載されています。 ハードウェアガイドでは、設計ファイルを確認できます。

オプションの Harness device は、キーボードの横に置く常時点灯の丸型ディスプレイです。エージェントの状況をひと目で確認できます。それぞれが何をしているか、どれが完了したか、どれがあなたの対応を待っているかがわかります。画面上で質問を読んで回答したり、ウィンドウを切り替えずにタップして新しいタスクを話しかけたりできます。
細部までオープンハードウェアです。このリポジトリには、作成に必要なすべてが揃っています。
| レイヤー | 内容 |
|---|---|
| ファームウェア | ESP32-S3、ESP-IDF、タッチ対応の 466 × 466 丸型 AMOLED、マイク、オーディオを搭載しています。USB 経由でホストのデーモンに接続するため、Wi-Fi の設定も、デバイス上でのアカウント登録も不要です。 |
| PCB | EasyEDA Pro プロジェクト、回路図、ガーバーデータ、部品表、実装用のピックアンドプレースデータが含まれています。 |
| 筐体 | 編集用の STEP と印刷用の STL が含まれています。ハウジング、鉄製のカウンターウェイトベース、USB クランプ、ボタンがあります。 |
貢献
お気に入りのツール用の Harness を作ってみましょう。ターミナル、エンジン、デーモン、リレーを改善したり、ファームウェアを移植したりできます。貢献ガイドから始めてください。
アーキテクチャ · プロダクトの方向性(提案) · 開発 · 拡張 · CLI · セキュリティ · MIT ライセンス。上流ツールにはそれぞれ独自のライセンスが適用されます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。