12k
All articles

Orcaとは? AIコーディングエージェントのためのデスクトップIDE

OrcaでAIコーディングエージェントを別々のGit worktreeで並行実行し、差分を比較してレビューする方法と、tmuxで十分な場合を解説します。

OpenReplay Team
OpenReplay Team
Orcaとは? AIコーディングエージェントのためのデスクトップIDE

Orcaは、Stably AIが提供する無料のデスクトップアプリ(MITライセンス)です。Claude Code、Codex、OpenCode、Piなど、普段使っているコマンドライン型のコーディングエージェントを並べて実行でき、各エージェントはそれぞれ専用のgit worktreeで作業します。

すでに2つのエージェントをtmuxのペインで並行実行しているなら、よくある状況に覚えがあるはずです。worktreeは手作業で作成し、どのペインが何だったか分からなくなり、diffは2つのターミナルを同時にスクロールしながら見比べることになります。Orcaは、この一連の作業を1つのウィンドウにまとめます。本記事では、Orcaとは何か、ターミナルに比べて何が加わるのか、2つのエージェントの比較を実際にどう進めるのか、そしてターミナルだけで十分なのはどんな場合かを解説します。

重要なポイント

  • Orca自体はAIモデルをホストしません。各エージェントのCLIを起動し、そのエージェントは既存のサブスクリプションで動作します。
  • Orcaのタスクごとに本物のgit worktreeが作成されます。別のrefを指定しない限り、リポジトリのデフォルトブランチから分岐します。
  • Orcaはデフォルトで、Claude Codeの--dangerously-skip-permissionsのような権限バイパスフラグを付けてエージェントを起動します。この設定は、設定画面でManualに切り替えられます。
  • 同じプロンプトで2つのエージェントを実行すると、2つ分の料金とクォータを消費します。
  • 複数のエージェントを同時に実行することがほとんどないなら、tmuxと手動で作成したworktreeで、Orcaの機能の大半はまかなえます。

Orca IDEとは?

Orcaは、複数のCLIコーディングエージェントを並列実行するためのデスクトップ環境で、独自のAIは搭載していません。ドキュメントでは「複数のAIコーディングエージェントを並べて実行するためのデスクトップIDE」と定義されており、プロジェクトのホームページでは「エージェント開発環境」(ADE: Agent Development Environment)と呼ばれています。ソースコードとMITライセンスはstablyai/orcaリポジトリで公開されています。

OrcaはAIモデルをホストすることも、同梱することもありません。Orcaが起動するエージェントは、すべてそのエージェント自身のサブスクリプションで動作します。ドキュメントにも、エージェントと、すでに契約しているClaude、Codex、OpenCodeのサブスクリプションはユーザー自身が用意するものだと明記されています。また、Orcaはgitを置き換えるものでもありません。すべてのworktreeは本物のgit worktreeなので、いつでもcdで移動して通常のgitコマンドを使えます。この分離の仕組みに馴染みがない場合は、先にAIコーディングエージェントでgit worktreeを使う方法を読んでおくとよいでしょう。

サポート対象エージェントのページには、Claude Code、Codex、OpenCode、Pi、Gemini、Cursor CLIなどが記載されています。これら以外のCLIエージェントも実行可能です。デスクトップアプリはmacOS(Apple SiliconおよびIntel)、Windows、Linuxで動作します。

素のターミナルと比べて、Orcaで何が加わるのか?

Orcaは、本来なら自分で組み立てる必要がある作業(worktreeの作成、ペインのレイアウト、diffのレビュー、Gitホスティングサービスとの連携)を、共通のUIにまとめます。READMEには主な機能として次のものが挙げられています。

  • Parallel Worktrees: 1つのタスクを複数のエージェントに渡し、それぞれ専用のworktreeで作業させます。その後、結果を比較して最も良いものを採用できます。
  • Terminal Splits: エージェントのターミナルを、1つのウィンドウ内の分割ペインに配置できます。
  • Design Mode: Orcaに組み込まれたChromiumブラウザ上で要素をクリックすると、そのHTML、算出済みCSS(computed CSS)、切り抜いたスクリーンショットが、1つの添付ファイルとしてアクティブなエージェントに送信されます。開発用のソースマップが利用できる場合は、ソースファイル名と行番号も一緒に送られます。
  • GitHub & Linear: アプリを離れることなく、ホスティングサービス上のレビュー、Issue、Actions、およびLinearのアイテムを操作できます。GitLabのマージリクエストにも同じレビューフローが用意されており、Jiraのアイテムには専用のドロワーがあります。
  • Annotate AI Diffs: エージェントが生成したdiffの個々の行にコメントを付け、そのコメントを該当エージェントに送り返すことができます。
  • SSH Worktrees: SSH経由でリモートマシン上でエージェントを実行できます。エージェントとgit worktreeはリモート側で動作し、エディタ、diff、UIは手元のノートPCに残ります。サーバー側の準備については、エージェント型コーディングのためのリモートマシンのセットアップを参照してください。
  • Mobile Companion: iOSとAndroid向けのベータ版アプリで、スマートフォンからエージェントの監視、使用量の確認、アカウントの切り替えが行えます。
  • Orca CLI: Orca CLIを使うと、orca worktree createのように任意のシェルから実行中のアプリをスクリプトで操作でき、組み込みブラウザの制御も可能です。

Design Modeは、エージェントに渡す情報の質を高めるための機能です。一方、UIの変更がリリース後に実際のユーザーに対して意図どおり機能しているか(たとえば、スタイルを変更したボタンが引き続きクリックされているか)を確認するには、本番環境のセッションをレビューする必要があります。

Orcaで1つのタスクを2つのエージェントで比較するには?

Orcaで2つのエージェントを比較するには、各エージェントに専用のworktreeを割り当て、両方に同じプロンプトを貼り付けて、2つのdiffを並べてレビューします。初回セッションガイドでは、「リポジトリの追加 → worktree作成 → エージェント選択 → ペイン分割 → diff確認 → 出荷」という流れが紹介されています。ここでは、その流れを2つのエージェントに同じプロンプトで作業させる形で説明します。

ダウンロードページから、またはパッケージマネージャーでインストールします。

# macOS (Homebrew): use the full tap name; bare `orca` is an unrelated Plotly cask
brew install --cask stablyai/orca/orca

# Arch Linux (AUR)
yay -S stably-orca-bin

※ HomebrewではTap名を含めた完全な名前を指定してください。単にorcaと指定すると、無関係なPlotlyのcaskがインストールされます。

  1. リポジトリを追加する。 Add Repoをクリックし、ローカルのチェックアウトを選択します。Orcaはリポジトリのデフォルトブランチをベースrefとして使用し、別のブランチやコミットを選ばない限り、新しいworktreeはすべてそこから分岐します。
  2. worktreeを作成する。 **+**をクリックし、タスクに名前を付けます。
  3. エージェントを選ぶ。 新しいターミナルのエージェント選択ボックス(コンボボックス)からエージェントを選びます。Orcaは適切な作業ディレクトリでエージェントのCLIを起動し、サブスクリプションの認証情報を引き渡します。
  4. 2つ目のエージェントでも繰り返す。 もう1つworktreeを作成し、別のエージェントを選んで、同じプロンプトを貼り付けます。
  5. ペインを分割する。 worktreeのタブをペインの右端または下端にドラッグすると、ペインが分割されます。
  6. 比較してアノテーションを付ける。 各worktreeのdiffビューを開きます。Annotate AI Diffを使い、より望ましい結果に近いエージェントに行単位のコメントを送ります。
  7. コミットしてプッシュする。 Orcaからコミットとプッシュを行います。
  8. 採用しなかった方を削除する。 Orcaが確認を求めたうえで、worktreeのディレクトリとそのブランチを削除します。一括削除の際、マージされていないコミットが含まれている可能性があるためにgitがブランチの削除を拒否した場合、Orcaはそのブランチを残します。その場合は「Review N Branches」プロンプトから強制削除できます。
Worktreeエージェントプロンプト
fix-login-raceClaude Code同一
fix-login-race-2Codex同一

手順3に進む前に、デフォルト設定を把握しておきましょう。Orcaは、サポート対象のすべてのエージェントを、完全自律モードの権限フラグを付けた状態で起動します。Claudeは--dangerously-skip-permissions、Codexは--dangerously-bypass-approvals-and-sandbox、Geminiは--yoloです。承認プロンプトを有効に戻すには、サポート対象エージェントのページで説明されているとおり、Settings → Agents → Agent Permissionsで、YoloからManualに切り替えます。カスタムの起動引数を設定しているエージェントは、その設定がそのまま維持されます。

初回セッションの流れはプッシュまでで終わりますが、OrcaではPRを作成し、チェックの状況をアプリ内で追跡することもできます。具体的な方法はGitHub関連のドキュメントで解説されています。

Orcaのデメリットは?

Orcaを導入する際の二大コストは、プロジェクトの変化の速さと、エージェントの使用量が倍増することです。

  • 変化が速い。 プロジェクトは頻繁に変更をリリースしており、README自体も、最新の機能一覧としてchangelogを参照するよう案内しています。特定の挙動に依存する前に、リリースページを確認してください。
  • エージェントごとにコストがかかる。 実行する各エージェントはそれぞれのサブスクリプションを消費します。2つを並列実行すれば、2つ分のクォータとレート制限を消費することになります。
  • 使用量を把握する。 Orcaは、Claude Code、Codexをはじめとする複数のエージェントについて、使用量とレート制限を表示します。
  • プライバシー。 業務用マシンにインストールする前に、OrcaのPrivacy & Telemetryページに目を通してください。

ターミナルとtmuxで十分なのはどんな場合?

一度に1つのエージェントしか実行しないのであれば、ターミナルとtmux、そして手動で作成したworktreeで、Orcaの機能の大半はまかなえます。Orcaを導入する価値があるのは、複数のエージェントを日常的に並列実行し、それぞれのターミナル、diff、レビューコメント、コミットを1つのウィンドウにまとめたい場合です。ターミナルのみの環境構築については、AIエージェントのためのtmuxガイドで解説しています。Orcaが自動化しているのは、おおむね次のような作業です。

git worktree add -b fix-login-race ../fix-login-race origin/main
git worktree add -b fix-login-race-2 ../fix-login-race-2 origin/main

tmux new-session -d -s race -c ../fix-login-race
tmux split-window -h -t race -c ../fix-login-race-2
tmux attach -t race
# start one agent CLI in each pane, paste the same prompt, then:
# diff against the base, including commits (run `git add -A` first to include new files)
git -C ../fix-login-race diff origin/main
git -C ../fix-login-race-2 diff origin/main

# discard the loser (Orca removes the directory and branch after you confirm)
git worktree remove --force ../fix-login-race-2
git branch -D fix-login-race-2

※ 各ペインでエージェントのCLIを1つずつ起動して同じプロンプトを貼り付けた後、ベースに対するdiff(コミット分を含む)を確認します。新規ファイルも含めるには、先にgit add -Aを実行してください。最後に、採用しなかった方を破棄します(Orcaの場合は、確認後にディレクトリとブランチを削除します)。

origin/mainは、使用しているデフォルトブランチに置き換えてください。git branch -Dは確認なしでブランチを強制削除しますが、Orcaは先に確認を求めます。

要件tmux + worktreeOrca
一度に1つのエージェント十分オーバースペック
エージェントの承認プロンプトデフォルトで維持デフォルトでバイパス
行コメント付きの並列diffレビュー手動標準搭載
UI要素をクリックしてエージェントに送信不可Design Mode
スマートフォンからのエージェント確認SSH経由コンパニオンアプリ

Orcaは導入する価値があるか?

複数のエージェントを日常的に並列実行しているなら、Orcaは導入する価値があります。新たなAIが加わるわけではありませんが、すでに料金を払っている複数のエージェントを動かすための手作業を省けます。まずは実際のバグで2つのエージェントの比較を1回試してみてください。その際は事前に権限設定を確認し、diffレビューで節約できる時間が、2つ目のサブスクリプションのコストに見合うかどうかを見極めましょう。

よくある質問

OrcaはソースコードやプロンプトをStably AIに送信しますか?

いいえ。OrcaのPrivacy & Telemetryドキュメントによると、ソースコード、ファイルの内容、プロンプト、エージェントの出力、ターミナルの出力は収集しません。パッケージ版のビルドは、マシン上に保存されたランダムなIDに紐づく匿名の使用状況テレメトリを送信します。これは、Settings → Privacyの「Share anonymous usage data」トグルで無効にできるほか、DO_NOT_TRACK=1またはORCA_TELEMETRY_DISABLED=1を設定することでも無効化できます。

OrcaはWindowsのWSLで動作しますか?

はい。WSLディストリビューション内に保存されたリポジトリについては、Orcaはそのディストリビューション用のwsl.exeを介してターミナルを起動します。wsl.exe --statusが成功する場合は、デフォルトシェルの選択肢として、PowerShellやコマンドプロンプトと並んでWSLも表示されます。各エージェントのCLIとGitHub CLIは、Orcaが起動する環境(WSLまたはネイティブのWindowsのいずれか)と同じ環境にインストールしてください。

Orca以外で作成したgit worktreeをOrcaで使えますか?

はい。git worktree addで作成したworktreeは、表示するよう選択するまで外部のworktreeとして扱われます。リポジトリでそれらが非表示になっている場合は、非表示のworktreeカードをクリックし、表示したいものについてShowを選択してください。すると、Orcaは新たにworktreeを作成することなく、既存のチェックアウトを一覧に表示します。外部worktreeに関するグローバルなデフォルト設定は、Settings → General → Workspaceにあります。

Orcaのモバイルアプリでは、エージェントはスマートフォン上で動作しますか?

いいえ。モバイルコンパニオンはシンクライアントです。コード、シェル、エージェントはデスクトップ側に残り、スマートフォンは状況を表示してキー入力をデスクトップに送り返すだけです。ペアリングするには、デスクトップアプリでワンタイムコードを生成し、スマートフォンのPair画面に貼り付けます。コードは数分で有効期限が切れます。

Understand every bug

Uncover frustrations, understand bugs and fix slowdowns like never before with OpenReplay — self-hosted, with full data ownership.

Star on GitHub

We use cookies to improve your experience. By using our site, you accept cookies.