2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIエージェント用IDE「Orca」を使ってみた

2
Posted at

Orcaの記事が少ないので、試してみた

Orcaについての記事がまだ少ないので、試してみました。Windows 11に入れて、Claude Codeを動かすところから、公式ドキュメントを片手に進めます。Orcaは、Claude CodeなどのAIエージェントを動かすためのデスクトップアプリです。

いちばん詳しく試したのは、Claude Codeが書いた文書にコメントを付けて返す機能です。チャットで「概要の3行目を削って」と書く、あの「場所の説明」が要らなくなります。直したい文章にコメントを付けて送れば、ファイル名と行番号が一緒に渡るからです。

記事は、インストール、プロジェクトの追加、Claude Codeの起動、コメントの付け方の順に書きます。その前に、引っかかりやすい点を3つ挙げておきます。読み飛ばしても構いませんが、1つ目のYoloだけは、実際のプロジェクトで試す前に読んでおいたほうがいいです。

  • 初回ウィザードの「Yolo」にチェックが入っていると、Claude Codeが権限の確認なしで動く
  • Orcaが、Claude Codeの設定ファイル(~/.claude/settings.json)にhooksを書き足す(筆者の環境では13か所でした)
  • プロジェクトに指定したフォルダが独立したgitリポジトリでないと、親フォルダのリポジトリがプロジェクトになる(筆者は HowtoOrca を指定したのに、Documents というプロジェクトができました)

Orcaとは

Stably AIが公開しているMITライセンスのOSSです。自分たちのことを「ADE(Agentic Development Environment)」と呼んでいて、要はエージェント向けのIDEです。Claude Code、Codex、OpenCode、Cursor CLIなど、ターミナルで動くエージェントなら何でも載せられます。エージェントは手持ちのサブスクリプションをそのまま使うので、Orca自体に料金はかかりません。

Orca公式サイトのトップ。「Review AI output」タブでは、Markdownの一節にコメントを付けた画面が紹介されている

設計の軸は「1タスク = 1 worktree = 1ターミナル = 1ブラウザタブ」です。タスクを作るたびに本物の git worktree が切られ、その中でエージェントが動きます。SSH経由のリモート実行、GitHub/Linear連携、UIをクリックして指示できるDesign Mode、スマホアプリなどもありますが、この記事では触れません。

名前がかぶっているので注意してください。「Orca」で検索するとGNOMEのスクリーンリーダーが出てきますし、GitHubにはフォークも複数あります。入れるのは公式サイト onorca.dev と stablyai/orca のものです。

事前準備

公式のInstallページに前提条件の記載はありませんが、worktreeを作る以上Gitは要ります。使いたいエージェントのCLIも先に入れて、ログインまで済ませておいてください。OrcaはClaude Codeの認証情報を ~/.claude から自動で読むので、Orca側でログインし直す必要はないと公式に書かれています。

git --version
claude --version

どちらもバージョンが返ればOKです。Claude Codeのインストール方法はAnthropicの公式ドキュメントを参照してください(Orcaのdocsは npm i -g @anthropic-ai/claude-code を例に挙げています)。

筆者の環境は Windows 11 Pro、Git 2.52、Claude Code v2.1.278、Orca 1.4.205 です。Orcaは日本語UIで、画面の文言はこの環境で見たものです。

Windowsへのインストール

  1. onorca.dev/download からWindows版の orca-windows-setup.exe をダウンロードします。GitHub Releases にも同じファイルがあります。
  2. ダウンロードしたインストーラを実行します。
  3. インストールが終わると、そのままOrcaが起動します。

インストール先は C:\Users\<ユーザー名>\AppData\Local\Programs\orca で、ユーザー単位のインストールでした。公式READMEにあるWindowsの入れ方は、このインストーラだけです。wingetやScoopのパッケージも、少なくとも公式には案内されていません。macOSならHomebrewで入れられます。

brew install --cask stablyai/orca/orca

自動更新は最初から有効で、stableチャンネルを追いかけます。古いバージョンに戻したいときは、GitHub Releasesから落としてください。

初回起動のウィザードで気をつけるのは1か所だけ

初めて起動すると、全4ステップの設定ウィザードが始まります。デフォルトのAgent、テーマ、Windowsターミナルのシェル、通知音の順で、ほとんどは好みで選ぶだけです。シェルはPowerShell(PowerShell 7+があればそちらを優先)のまま進めました。コマンドプロンプト、Git Bash、WSLも選べます。

気をつけたいのは、1つ目の画面です。PCにインストール済みのCLIエージェントが自動で検出され、筆者の環境ではClaude、Codex、GitHub Copilot、Antigravity、Aiderの5つが並びました。ほかに31件を「さらに表示」から選べます。Claude Codeを入れてログインしておけば、ここで選ぶだけです。

ウィザード1/4。デフォルトのAgentを選ぶ画面。下端にYoloのチェックボックスがある

この画面の下に「Yolo / 危険: 権限チェックをスキップ」というチェックボックスがあり、筆者の環境ではチェックが入っていました(初期値かどうかは確認できていません)。オンのままだと、あとでClaude Codeが起動したときに画面下へ bypass permissions on と赤く出て、ファイルの編集もコマンドの実行も確認なしで通るようになります。使い捨ての練習用リポジトリならともかく、実際のプロジェクトを載せる前にオフにしてください。

あとから変えるには、設定を開いて「AI 機能」の「Agent」にある「Agent の権限」で、「Yolo」と「手動」を切り替えます。説明文は「Orca が権限プロンプトの少ない Agent を起動するか、手動チェックを含む Agent を起動するかを選択します」です。

設定の「Agent」画面。真ん中あたりに「Agent の権限」があり、この画面では「手動」になっている。一番上には「Agent 状態フック」のトグルがある

「手動」に切り替えたあとに作ったworktree(あとで出てくる add-readme)では、bypass permissions on は出ませんでした。代わりに画面の下に auto mode on (shift+tab to cycle) と出て、README.md の書き込みにも権限確認は出ていません。

この auto mode on がOrcaのせいなのかを確かめるために、Orcaを使わず、普通のターミナルで同じフォルダに claude を起動してみました。画面の下は、同じ auto mode on です。筆者の ~/.claude/settings.json に defaultMode の指定はないので、これは筆者の環境のClaude Codeの既定です。Orcaの「手動」は、少なくとも確認を増やす設定ではありませんでした。確認を厳しくしたいなら、Claude Code側の権限モードを変えることになります(画面の下に shift+tab to cycle と出ています)。

Orcaの外の普通のターミナルで claude を起動した画面。画面の下は auto mode on

プロジェクトを追加する

ウィザードを終えると「プロジェクトを追加する」ダイアログが出ます。ホストは「Local Windows」で、追加方法は3つあります。

  • フォルダーを参照(ローカルのプロジェクトやGitリポジトリ)
  • URLからクローン
  • 新規プロジェクトを作成する(空のフォルダーから開始)

「プロジェクトを追加する」ダイアログ

ひとつ落とし穴があります。指定したフォルダが独立したgitリポジトリでないと、親フォルダのリポジトリがプロジェクトとして登録されます。筆者は Documents\workspace\HowtoOrca を指定したのに、プロジェクト名が Documents になりました。Documents 直下にgitリポジトリがあって、そのルートまでさかのぼって認識されたためです。プロジェクトにしたいフォルダでは、先に git init しておいてください。

練習用なら、3つ目の「新規プロジェクトを作成する」が一番早いです。myProject という名前で作ると、C:\Users\<ユーザー名>\orca\projects\myProject にフォルダができて、git init と最初のコミット(Initial commit、中身は空)まで自動でやってくれます。ブランチ名は master でした。git側の準備が要らず、名前を入れて「プロジェクトの作成」を押すだけです。保存先は既定で ~/orca/projects です。

「新規プロジェクトを作成する」ダイアログ

プロジェクトを追加すると、こんな画面になります。左のサイドバーにプロジェクト名とブランチ(masterに「プライマリ」のラベル)が並び、真ん中にはそのフォルダで開いたPowerShellのターミナルが出ます。右のパネルはファイル一覧で、まだコミットしていないファイルには U が付きます。画面下のステータスバーには、ClaudeとCodexの使用量が出ています。

プロジェクトを追加した直後の画面。サイドバー、PowerShellのターミナル、右のファイルパネル、下のステータスバー

最初のworktreeでClaude Codeを動かす

worktreeを切るには、リポジトリにコミットが最低1つ要ります。「新規プロジェクトを作成する」で作った場合は最初から入っています。git init しただけの空のリポジトリを使うなら、先に1回コミットしておいてください。

サイドバーのプロジェクト名(ここでは myProject)の横にある「+」にカーソルを合わせると、「myProject の新規ワークツリーを作成します」と出ます。ここから作ります。

プロジェクト名の横の「+」にカーソルを合わせたところ

  1. 「+」を押すと「ワークツリーを作成する」ダイアログが開きます。プロジェクトと実行先(Local Windows)は選択済みです。
  2. 「名前または『作成元』[オプション]」の欄に名前を入れます。筆者は worktree と入れました。入力すると「使用『worktree』ワークスペース名として」という候補が出ます。
  3. その下のエージェント選択欄が Claude になっていることを確認して、「ワークツリーを作成する」(Ctrl+Enter)を押します。

「ワークツリーを作成する」ダイアログ。名前欄に worktree を入れ、エージェントは Claude

worktreeができると、ダイアログで選んだエージェントがそのまま起動します。最初に出るのはClaude Code自身の確認で、「このフォルダを信頼するか」と聞かれます。表示されているパスが ~\orca\workspaces\myProject\worktree なのを確かめてから、Yes, I trust this folder を選びます。

Claude Codeの「このフォルダを信頼するか」の確認画面

信頼すると、いつものClaude Codeの画面になります。画面の一番下に赤字で出ている bypass permissions on が、先ほど書いたYoloの状態です。

左のサイドバーでは worktree の下に、そのworktreeでエージェントが今何をしているかが出ます。待機中は「Claude Code - Idle」、終わると「Done - Claude」です。ファイルがまだ1つもないので、右のファイルパネルは「このワークスペースにはファイルがありません」になっています。

worktree内で起動したClaude Code。サイドバーに「Done - Claude」、一番下に赤字の bypass permissions on が出ている

この状態表示は、OrcaがClaude Codeにフックを仕込んで実現しています。筆者の ~/.claude/settings.json を見ると、~/.orca/agent-hooks/claude-hook.cmd を呼ぶhooksが13か所追記されていました。すでに自前のhooksを書いている人は、Orcaを初めて動かす前後で settings.json を見比べておいたほうがいいです。

フックが要らなければ、設定の「Agent」にある「Agent 状態フック」をオフにします(先ほどの設定画面の一番上にあるトグルです)。説明文によると、Orcaが入れたフックは削除され、再インストールも止まります。サイドバーの状態表示は出なくなるはずですが、そこは未検証です。

別のPowerShellから実体を確かめてみます。

git worktree list
C:/Users/<ユーザー名>/orca/projects/myProject             c1e89bb [master]
C:/Users/<ユーザー名>/orca/workspaces/myProject/worktree  c1e89bb [worktree]

Orcaが作ったworktreeは、元のリポジトリ(orca\projects\myProject)とは別の orca\workspaces\<プロジェクト名>\<名前> に置かれ、ブランチ名は入力した名前そのままでした。どちらも同じコミット c1e89bb を指しているので、作った直後は中身が同じで、そこから先はそれぞれ独立して変更が積まれていきます。

Claude Codeの出力にコメントを付けて返す

1つのエージェントを単体で使うときにも役に立つのが、レビューコメントです。Claude Codeが書いた文書やコードを読んで「ここを直してほしい」と思ったとき、チャットで場所を説明し直さなくても、その場所にコメントを付けて渡せます。ここでは、READMEを書かせて、コメントを付けて、直させるところまでを通しで試します。

READMEを書かせる

実演用に、add-readme という名前でもう1つworktreeを作りました。作り方は前の節と同じです。Claude Codeには、次のように頼みます。

README.mdを日本語で書いて。項目は「概要」「使い方」「注意点」の3つで、各項目は3〜5行にして。

Claude Codeはリポジトリの中身を確認してから、README.md を書きました。プロジェクトが空なので、内容は「まだ実装がないひな形」という前提の汎用的な文面です。右のファイルパネルにも README.md が出ています。

add-readme のworktreeでClaude Codeが README.md を書き終えたところ。画面下は auto mode on

Markdownのプレビューにコメントを付ける

右のファイルパネルで README.md を右クリックして、「Markdown プレビューを開く」を選びます。README.md (preview) というタブが開き、Markdownが整形されて表示されます。コメントは、この表示の上で付けました。公式ドキュメントでは、文章を選択して Ctrl+Shift+A(Add Review Note)を押す方法が案内されています。

ファイルパネルで README.md を右クリックしたメニュー。「Markdown プレビューを開く」がある

今回は、「概要」の本文を選んで「概要が長い。2行にして」、見出しの「注意点」に「注意点に具体例がほしい」と付けました。付けた段落の右側に「Note」のカードが出て、上部の「レビューノート」には件数(2)が出ます。その隣にコピーと送信のアイコンが並び、送信アイコンにカーソルを合わせると「Send notes to an agent」と表示されます。

README.md のプレビューにレビューノートを2つ付けたところ。右側にNoteのカード、上部に「レビューノート 2」と送信アイコン

エージェントに送る

送信アイコンを押すと、「メモの送信先」のメニューが開きます。すでに動いているClaudeのセッション(画面では「Done · 2m ago · README.md日本語版」)に送るか、Claude、Codex、GitHub Copilot、Antigravity、Aiderの中から新しくエージェントを起動して送るかを選べます。今回は、READMEを書かせたClaudeのセッションに送りました。

「メモの送信先」のメニュー。上に動作中のClaudeのセッション、下に新規Agentの一覧

送ると、次の文面がClaude Codeへの入力として届きます。

File: README.md
Source: markdown

Lines 5-7
Excerpt:
> myProject は、開発を始めるためのひな形となるプロジェクトです。 現時点ではソースコードを含まず、リポジト...
User comment: "概要が長い。2行にして"

Line 15
Excerpt:
> 注意点
User comment: "注意点に具体例がほしい"

ファイル名、Markdownから付けたこと(Source: markdown)、行番号、選んだ範囲の引用、コメント本文の順に並びます。長い範囲を選ぶと引用は途中で ... に省略されますが、行番号が付くので、場所を言葉で説明し直す必要はありません。

直った結果を見る

Claude Codeは README.md を2回更新しました。1回目で「概要」の3行目を削って2行にし、2回目で「注意点」の3項目に npm install や make、feature/login や fix/typo、npm start といった具体例を足しています。付けた2つのコメントに、それぞれ対応した直し方です。

届いたコメントの下に、Claude Codeの2回のUpdateが続いている

プレビューに戻ると、文章が書き換わっていて、レビューノートの件数は0に戻っていました。送ったコメントは、送信後には残りません。

直したあとのプレビュー。概要が2行になり、注意点に具体例が入っている。レビューノートは0件

diffに付けてまとめて送る

右のパネルの3番目のアイコン(「ソース管理」、Ctrl+Shift+G)に、変更したファイルの一覧と、コミットメッセージの入力欄があります。diffは README.md (branch diff) というタブで開きます。今回のREADMEは新規ファイルなので、全行が追加として出ています。

ソース管理のパネルと、README.md (branch diff) のタブ

diffの行にカーソルを合わせると、行番号の左に「+」が出ます。押すと「17 行目」のような入力欄が開くので、コメントを書いて「Add note」を押すと確定します。今回は、feature/login と fix/typo の2つの例が並んでいる17行目に、「この例は1つに絞って」と付けました。公式ドキュメントには、行にカーソルを置いて c を押す方法と、コメントをMarkdownで書けることも書かれていますが、試していません。

17行目にコメントを入力しているところ。「17 行目」の入力欄と「Add note」ボタン

コメントは、その行の下に「Note line 17」というカードで出ます。diff上部の「AI notes」と、右パネルの「ノート」には件数が出て、それぞれの横に送信アイコンがあります。カードにも同じ送信アイコンがあり、カーソルを合わせると「Send notes to an agent」と出ます。

diff上のNoteカード。上部に「AI notes 1」、右パネルに「ノート 1」があり、それぞれ送信アイコンが付いている

送信アイコンを押すと開く「メモの送信先」のメニューは、Markdownのときと同じです。今回も、READMEを書かせたClaudeのセッションに送りました。

Claude Codeに届いた文面は、Markdownのときより短くなりました。

File: README.md
Line: 17
User comment: "この例は1つに絞って"

Source: の行も、Excerpt: の引用もありません。ファイル名、行番号、コメントだけです。引用がないので、Claude Codeはまずファイルを読み直して(Read 1 file)、17行目を確かめていました。そのうえで、17行目を feature/login だけにして、fix/typo を消しています。あわせて、「16行目にも npm install と make の2例があります。こちらも1つに絞るか、そのままにするかを教えてください」と、似た箇所を見つけて聞き返してきました。

届いたコメントと、Claude Codeの返事。17行目を1行書き換えて、16行目も1つに絞るか確認している

送ったあと、右パネルの「ノート」の行は消えていました。公式ドキュメントには、直ったあともコメントが残り、確認が済んだものを「Resolve」で畳める、とありますが、今回は「Resolve」の操作を見かけていません。

参考

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?