OpenHands(オープンハンズ)は、自然言語で渡したタスクを、エージェントが自分でコードを書き、コマンドを実行し、テストまで回して進めるオープンソース(MITライセンス)のAIコーディングエージェントです。旧称はOpenDevinです。2026年7月にGitHubの OpenHands/OpenHands リポジトリが「Agent Canvas」という管理画面のリポジトリへ作り替えられ、始め方が大きく変わりました。この記事では、2026年10月12日公開の Agent Canvas 1.27.1 を前提に、仕組み、起動手順、旧手順からの移行、Claude Code・GitHub Copilotとの違い、料金を説明します。
まとめ:OpenHandsの現在地(2026年10月)
- OpenHandsは自分の環境で動かせるオープンソースのコーディングエージェントです。本体は無料です。接続するLLMの料金や、実行環境の費用は利用構成によって異なります。
- いまの入口は Agent Canvas です。
npm install -g @openhands/agent-canvasか Docker イメージで起動し、ブラウザのlocalhost:8000から使います。 - 以前の
docker.openhands.dev/openhands/openhandsやopenhands serve(localhost:3000)は旧Local GUIで、新機能が入らない保守モードです。CLIは2026年8月11日に積極的な保守を終えました。 - npm で起動すると、エージェントはホストのファイルを自分のユーザー権限で直接操作します。隔離したいなら Docker か、会話ごとに Docker を立てる設定を使います。
- Agent Canvas からは Claude Code・Codex・Gemini CLI・Pi・OpenCode も動かせます。OpenHandsとClaude Codeは二者択一ではありません。
OpenHandsとは:旧OpenDevinから続くオープンソースのAIコーディングエージェント
OpenHandsは、人間のエンジニアに作業を頼むようにタスクを文章で渡すと、エージェントがファイルの編集、ターミナルでのコマンド実行、Webの参照を繰り返して結果を返すソフトウェアです。補完のようにエディタの横で一行ずつ手伝うのではなく、作業の単位で任せるのが特徴です。
名前と改称の経緯(OpenDevin・All Hands AI)
プロジェクトは、商用エージェントDevinのオープンソース版を目指した OpenDevin として2024年に始まりました。名前を OpenHands に変えたのは2024年8月19日で、リポジトリ全体の opendevin を openhands に置き換えるPR#3472「Rename OpenDevin to OpenHands」がこの日にマージされています。「open hands」は直訳すると「開いた手」で、製品名としての意味は公式に説明されていません。検索で「open hands」「オープンハンズ」と表記ゆれしても、同じものを指します。
開発元は2024年に Robert Brennan、Xingyao Wang、Graham Neubig の3人が設立した All Hands AI です。2025年10月には GitHub のリポジトリが All-Hands-AI 組織から OpenHands 組織へ移管され、公式サイトも openhands.dev へ移行しました。クラウド版のURL app.all-hands.dev は旧ドメインのまま使われています。資金面では、2025年11月18日の公式ブログでMadrona主導のシリーズAとして1,880万ドルの調達を発表しています。
ライセンスと開発規模
2026年10月13日時点で、OpenHands/OpenHands はMITライセンス、GitHubのスターは90,785、フォークは12,028です。旧モノレポには企業向けの別ライセンス部分が混在していましたが、7月の再編でその部分は非公開の OpenHands/enterprise へ移りました。いま公開されている Agent Canvas と Software Agent SDK は、どちらもMITです。ただし公式ドキュメントは「リポジトリごとにライセンスを確認すること」としているので、改変して配布する場合は使うリポジトリの LICENSE を見てください。
2026年7月の再編:OpenHands/OpenHandsのAgent Canvasへの移行
OpenHandsを調べると、記事によって起動コマンドもポート番号も違います。原因は、2026年6月から7月にかけて製品の入口が作り替えられたことです。経緯は次のとおりです。
| 日付 | 出来事 |
|---|---|
| 2026-06-03 | Agent Canvas のBETAをコミュニティに公開 |
| 2026-06-16 | 移行FAQを公開(Local GUIとTUIは保守モードへ) |
| 2026-07-09 | 旧系列の最終リリース 1.11.0 |
| 2026-07-27 | 旧コードを OpenHands/legacy に保存し、本体リポジトリをAgent Canvasへ |
| 2026-08-11 | OpenHands CLI が積極的な保守を終了 |
| 2026-09-17 | v1.20.0 で会話ごとのDocker実行に対応 |
| 2026-10-12 | v1.27.1(Pi・OpenCodeをACPに追加した1.27.0の修正版) |
方針は公式の移行FAQ(OpenHands/docs #657)にまとまっています。Agent Canvas を長期的な主軸とし、旧Local GUIとCLIのTUIは「依存関係の更新・重大なバグ修正・新しいLLMへの対応」だけを受ける保守モードに入りました。リポジトリの付け替えは追跡issue #15396で進められ、スターやリンクを保ったまま、中身が Agent Canvas の履歴に置き換わっています。旧コードは読み取り専用の OpenHands/legacy に残っています。
現在の構成要素と状態を整理すると次のようになります。
| 構成要素 | 役割 | 状態 |
|---|---|---|
| Agent Canvas | ブラウザの管理画面 | 主軸・活発に開発 |
| Software Agent SDK | エージェント本体とAgent Server | 公式サポート継続 |
| Automation Server | 定期実行・Webhook起動 | 開発中 |
| OpenHands Cloud | マネージドの実行環境 | 商用サービス |
| Local GUI(旧) | Docker版のブラウザ画面 | 非推奨・保守モード |
| OpenHands CLI | ターミナルUI・ヘッドレス | 最終1.16.0・積極的な保守を終了 |
CLIの導入手順と、保守終了後にCLIを使い続けるかの判断はOpenHands CLIの使い方|1.16.0の導入・コマンド・ローカルLLM設定と保守終了後の移行先で扱っています。
OpenHandsの仕組み:Agent Canvas・Agent Server・ワークスペース
Agent Canvas は画面だけを持つクライアントで、実際にエージェントを動かすのは裏側の Agent Server です。Agent Server は Software Agent SDK を HTTP と WebSocket のAPIとして公開するサーバーで、会話の開始、イベントの配信、ワークスペース内のファイル操作とコマンド実行を受け持ちます。Canvas は複数の Agent Server に接続でき、手元のPC、VM、OpenHands Cloud を画面上で切り替えられます。
npm版 1.27.1 で agent-canvas --info を実行すると、同梱される構成は次のとおりでした。
@openhands/agent-canvas 1.27.1
Default stack versions:
agent-server: 1.54.0
automation: 1.19.3
Default ports:
ingress: 8000
agent-server: 18000
automation: 18001
ブラウザが接続するのは8000番の入口(ingress)だけで、そこから /api は Agent Server(18000番)へ、/api/automation は Automation Server(18001番)へ振り分けられます。起動した Agent Server の /server_info には、エージェントが使えるツールとして terminal(シェル実行)、file_editor(ファイル編集)、browser_tool_set(ブラウザ操作)、grep・glob(検索)、task_tracker(作業の管理)などが並んでいました。エージェントはこれらのツールを、タスクが終わるか行き詰まるまで繰り返し呼び出します。
OpenHandsの機能とタスク実行の適用範囲
会話でのタスク実行(機能追加・バグ修正・PR作成)
基本の使い方は、ワークスペース(作業させるフォルダやリポジトリ)を開いて会話でタスクを渡す形です。エージェントはファイルを読み、編集し、テストやビルドを実行して結果を確かめます。GitHub・GitLab・Bitbucket と連携すれば、Issueを起点に修正をプルリクエストとして返す運用も組めます。会話の途中から別の方針を試したいときは、元の履歴を残したまま会話を分岐できます。
Automations(定期実行・Webhook起動)
Agent Canvas には、決まった時刻やWebhookのイベントでエージェントを起動する Automations があります。公式が用意する定型は、GitHubのPRレビュー、リポジトリの監視、IssueからPRを作る処理、Slackチャンネルの監視の4種類です。npm版で起動した場合は、ターミナルを閉じると Automation Server も止まります。夜間に回したいならVMやクラウド上のバックエンドで動かします。
ACPによるClaude Code・Codexなどの実行
Agent Canvas は、内蔵の OpenHands エージェントのほかに、ACP(Agent Client Protocol)に対応した外部のエージェントも動かせます。ACPは、エディタなどのクライアントとコーディングエージェントが標準入出力上のJSON-RPCでやり取りするための規格です。公式のACPページが挙げる対応先は次の5つです。
| エージェント | ローカル | OpenHands Cloud |
|---|---|---|
| Claude Code | 可 | 可 |
| Codex | 可 | 可 |
| Gemini CLI | 可 | 可 |
| Pi | 可 | 不可 |
| OpenCode | 可 | 不可 |
ACPエージェントは、そのエージェント自身のCLIが持つログイン情報かAPIキーで動きます。手元で Claude Code にログイン済みなら、Agent Server が同じマシンで動いている限りそのログインがそのまま使われ、APIキーの入力は要りません。Claude Code そのものの機能はClaude Codeとは?できること・使い方・料金:コード解析の実力と導入手順【2026年版】を参照してください。
OpenHandsへの委任を避ける作業条件
要件が固まっていないタスクを丸投げすると、エージェントは推測で作業を広げ、レビューしきれない差分を返しがちです。公式の指示の手引きも、対象のファイルと範囲、完了の条件(何ができたら終わりか)を書いた指示を良い例に挙げています。本番の認証情報を扱う作業や、データベースの削除・マイグレーションのように取り消せない操作は、エージェントに実行させず、差分の作成までに留めて人が適用してください。
OpenHandsの使い方:Agent Canvasのインストールと起動手順
公式のインストール手順では、npm・npx・Docker・VM・ソースの5通りが案内されています。初めてならnpmかnpx、エージェントを隔離したいならDockerです。
npm版Agent Canvasのインストールと起動
必要なのは Node.js 24以上と、Pythonのパッケージ管理ツール uv です。2026年7月時点の解説記事には「Node.js 22.12以降」と書かれていますが、1.27.1 の package.json は "node": ">=24" を要求します。
node --version # v24以上
uv --version
npm install -g @openhands/[email protected]
agent-canvas # http://localhost:8000 で起動
agent-canvas --port 3000 # 8000番が使用中のとき
2026年10月13日に macOS(Node.js 26.5.0・uv 0.11.31)で 1.27.1 を起動したところ、初回は uvx が Agent Server 用に196個のPythonパッケージを取得し、起動ログでは、コマンドの実行から入口(検証時は28765番)の待ち受け開始まで約63秒、Agent Server の起動完了まで約110秒でした。今回の検証では、その差の約47秒は画面に Bad Gateway が表示され、Agent Server の起動完了後に接続できました。表示が続く場合は、ターミナルの起動ログを確認してください。2回目以降はキャッシュが使われます。
Docker版Agent Canvasの起動
Docker版は、Canvas、Agent Server、Automation Server、入口をひとつのコンテナにまとめた公式イメージです。ホスト上のファイルへのアクセスは、コンテナへマウントしたディレクトリに限定されます。コンテナ内のファイルも操作できます。
mkdir -p ~/projects ~/.openhands
docker run -it --rm \
-p 127.0.0.1:8000:8000 \
-e AGENT_CANVAS_ALLOW_LAN_SESSION_KEY=true \
-v ~/.openhands:/home/openhands/.openhands \
-v ~/projects:/projects \
ghcr.io/openhands/agent-canvas:1.27.1
Docker版の画面は http://localhost:8000/canvas です。README の例では、ホスト側の公開先を 127.0.0.1 に絞ったうえで、ログイン用のセッションキーを画面へ自動で埋め込む AGENT_CANVAS_ALLOW_LAN_SESSION_KEY=true を付けています。社内LANなどへ公開する場合はこの変数を外し、LOCAL_BACKEND_API_KEY に強いキーを設定して画面で入力する運用にします。Windowsでは PowerShell 用の手順が README.windows.md にあります。
初回設定:LLMとワークスペースの選択
起動後は、画面の Settings > LLM でモデルを設定し、Open Workspace で作業させるフォルダを選んでから会話を始めます。LLMの環境変数ではなく画面で設定する仕様です。モデルの接続方法は、各社のAPIキーを入れる、OpenHandsのLLMキーを使う、ACPエージェントのログインを使う、Ollama や LM Studio などOpenAI互換のローカルサーバーにつなぐ、の4通りです。接続先は LiteLLM 経由で、手元の Agent Server 1.54.0 が返したプロバイダーは165件ありました。動作確認済みとして一覧に載るモデルには、Claude・GPT・Gemini・DeepSeek・Qwen・GLM・Kimi などが含まれます。
npm版のホスト直接実行とエージェントの隔離方法
旧Local GUIは、エージェントの操作をすべてDockerコンテナの中で行う設計でした。そのため「OpenHandsはサンドボックスで動くから安全」という説明が今も多く見られます。しかし Agent Canvas を npm で起動した場合は違います。上の実測で Agent Server の /server_info を確認すると "conversation_runtime":"local" で、エージェントはホスト上で直接コマンドを実行します。公式の手順書も、この方式では「エージェントがファイルシステム全体にアクセスできる」と警告しています。
隔離の強さで選ぶと、選択肢は次の4つです。
| 起動方法 | エージェントが触れる範囲 | 向く使い方 |
|---|---|---|
| npm・npx | 自分のユーザー権限の全ファイル | 捨ててよい検証用マシン |
| Docker(公式イメージ) | コンテナ内とマウント先 | 手元で日常的に使う |
| 会話ごとのDocker | 会話ごとの別コンテナ | 複数エージェントの並行実行 |
| VM・OpenHands Cloud | そのVM・クラウドの環境 | 常時稼働・チーム共有 |
会話ごとのDockerは、v1.20.0 で入った設定です。OH_CONVERSATION_RUNTIME=docker agent-canvas で起動すると、Canvas と外側の Agent Server はホストで動き、会話ごとに専用のコンテナと Agent Server が立ちます。ただし Canvas 本体や Automation Server まではコンテナに入らず、同じフォルダを開いた会話どうしはファイルを共有します。並行させる会話は別のディレクトリか git worktree に分けてください。Windowsでこの方式を使うには WSL 2 の中で動かす必要があります。
判断は単純です。業務のリポジトリや認証情報のファイル(~/.ssh、~/.aws など)がある普段使いのPCでは、npm版を使わず Docker 版にしてください。npm版で作業させる場合でも、ACPエージェントや外部ツールの接続には同じユーザー権限が渡ります。AIエージェントの実行環境をクラウド側で隔離する考え方は、Docker Cloud Sandboxesとは?sbxでAIエージェントをクラウド隔離実行する手順と料金【2026年10月時点】でも扱っています。
旧手順(openhands serve・localhost:3000)からの移行
2026年6月以前の記事や社内手順書にある起動方法は、旧Local GUIか旧CLIのものです。新旧の対応は次のとおりです。
| 項目 | 旧(Local GUI・CLI) | 新(Agent Canvas) |
|---|---|---|
| 起動 | openhands serve | agent-canvas |
| Dockerイメージ | docker.openhands.dev/openhands/openhands:1.8 | ghcr.io/openhands/agent-canvas |
| URL | localhost:3000 | localhost:8000 |
| 前提 | Docker・Python 3.12 | Node.js 24・uv(npm版) |
| 実行場所 | Dockerサンドボックス | 選んだバックエンド |
旧イメージ docker.openhands.dev/openhands/openhands:1.8 は今もレジストリから取得でき、旧手順のページも残っています。既存の環境はそのまま動きますが、新機能は入りません。なお openhands serve は旧CLIが立ち上げる旧GUIで、Agent Canvas だけを入れた環境では動きません。
移行FAQによると、Agent Canvas は ~/.openhands にある設定と会話の大半を引き継ぎます。並行して Agent Canvas を起動し、LLM設定と会話が見えることを確かめてから旧環境を止めるのが安全です。一方で、FAQは Local GUI を「Agent Canvas が使い捨ての隔離サンドボックスに対応するまで」維持するとしており、会話ごとに環境を捨てる運用が必須なら、v1.20.0 以降の会話ごとのDockerで足りるかを先に試してください。
OpenHandsとGitHub Copilot・Claude Codeの比較
GitHub Copilot も、いまは補完だけの製品ではありません。GitHubの公式ドキュメントによると、Copilot のクラウドエージェントは、使い捨てのクラウド開発環境でファイルを編集し、テストやリンターを実行し、ブランチ作成からプッシュまで行います。そのため違いは「自律するかどうか」ではなく、どこで動き、誰が中身を管理するかにあります。
| 項目 | OpenHands | GitHub Copilot | Claude Code |
|---|---|---|---|
| ソース | 公開(MIT) | 非公開 | 非公開 |
| 実行場所 | 自分の環境かCloud | 手元のIDE・CLI/クラウド | 手元の端末/クラウド |
| モデル | 対応API・ローカルLLM | Copilotの対応モデル | Claude |
| 費用 | 本体無料+LLM代 | Copilotの契約 | Claudeの契約かAPI代 |
OpenHandsを選ぶ理由になるのは、使うモデルを自分で選びたい、エージェントの中身を監査・改造したい、といった要件です。コードや会話を外部へ送信できない場合は、実行環境だけでなくLLMも社内またはローカルで動かし、外部ツールへの送信も制限する必要があります。Claude Code を気に入っているなら、Agent Canvas にACPで載せて、同じ画面で OpenHands エージェントと使い分ける構成も取れます。商用のDevinとの違いはDevinとは?できること・料金・使い方と他AIツールとの違い【2026年版】、VS Codeの拡張として動く Cline との違いはClineとは?VS Code拡張とCLIの使い方・料金・自動承認設定を実装目線で解説を参照してください。コーディングエージェント全体の分類はCoding Agent(コーディングエージェント)とは?仕組み・3つの型と主要ツールの選び方【2026年9月】にまとめています。
OpenHandsの料金:無料の範囲とLLMの利用料
2026年10月13日時点の公式の料金ページには、次の3つが載っています。
| プラン | 料金 | 主な条件 |
|---|---|---|
| Open Source | 無料 | 自分の環境で実行・1ユーザー |
| Individual(Cloud) | 無料 | 1ユーザー・1日10会話まで |
| Enterprise | 個別見積もり | SaaSか自社VPC・SSO・人数無制限 |
外部LLM APIやOpenHands提供モデルを使う場合は、各サービスの条件に応じた利用料がかかります。ローカルLLMでは外部APIの従量料金は不要ですが、実行用の機器や電力などの費用は必要です。自分のAPIキーを持ち込む(BYOK)か、Individual では OpenHands が提供するモデルを、上乗せなしの原価で従量課金で使えます。Individual にはクラウド実行のほか、APIでの自動化、Jira・Slackとの連携が含まれます。2025年9月には月額20ドルの有料プランが発表されましたが、現在の料金ページには載っていません。古い記事の月額料金は今の条件と違う可能性があるので、契約前に料金ページを確認してください。
外部のLLM APIを使う場合、費用の大半はLLM側で決まります。エージェントはタスクの途中でモデルを繰り返し呼び出します。呼び出し回数や送信する文脈の量によってトークン消費が変わるため、タスク単位で使用量を確認してください。まず安いモデルで小さなIssueを処理させ、1タスクあたりの費用をプロバイダーの管理画面で確かめてから対象を広げるのが確実です。
OpenHandsの性能:SWE-bench Verifiedの公表値
SWE-bench Verified は、実在するGitHubリポジトリのIssueをエージェントに解かせ、正しく修正できた割合を測るベンチマークです。OpenHandsが公式ブログで公表している値は次のとおりです。
| 公表日 | 構成 | 解決率 |
|---|---|---|
| 2024-11-01 | CodeAct 2.1+Claude 3.5 Sonnet | 53% |
| 2025-03-31 | OpenHands LM 32B(自社モデル) | 37.2% |
| 2025-04-17 | 1回の試行 | 60.6% |
| 2025-04-17 | 5回試行して評価器で選択 | 66.4% |
出典はCodeAct 2.1の発表、推論時スケーリングの発表、OpenHands LM 32Bの発表です。70%台とする紹介記事もありますが、構成と原表を公式の一次情報で確認できなかったため、ここでは載せていません。解決率は組み合わせるLLMや評価条件によって変わり、料金の安さだけでは判断できません。ベンチマークの数字は「どのモデルと組んだ値か」を見て読んでください。
社内の開発にエージェントを組み込む設計や、生成AIを使った開発の進め方を相談したい場合は、生成AI開発・AI受託開発のページから問い合わせできます。
よくある質問
OpenHandsとOpenDevinは何が違いますか?
同じプロジェクトです。OpenDevin が旧称で、2024年8月19日に OpenHands へ改称されました。古い記事の OpenDevin は同じプロジェクトの旧称ですが、当時の起動手順を現行の Agent Canvas にそのまま適用することはできません。
OpenHandsは無料で使えますか?
本体はMITライセンスのオープンソースで、自分の環境で動かす限りソフトウェアの利用料はかかりません。クラウド版の Individual も無料ですが、1日10会話までです。外部LLM APIやOpenHands提供モデルの料金は別途必要です。ローカル版でローカルLLMを使う場合は、外部APIの従量料金はかかりません。
openhands serveやlocalhost:3000の手順はまだ使えますか?
既存の環境は動きますが、旧Local GUIは非推奨の保守モードで新機能は入りません。新しく始めるなら Agent Canvas(agent-canvas、localhost:8000)を使ってください。設定と会話の大半は ~/.openhands から引き継がれます。
OpenHandsとClaude Code・Codexはどちらを使うべきですか?
どちらかに決める必要はありません。Agent Canvas はACPで Claude Code・Codex・Gemini CLI・Pi・OpenCode を動かせるので、同じ画面で内蔵の OpenHands エージェントと使い分けられます。モデルを自分で選びたい場合は OpenHands エージェントが候補になります。コードを外部に出せない場合は、LLMを含む社内・ローカル構成と、外部ツールへの送信制限が必要です。
OpenHandsはWindowsで使えますか?
使えます。npm版とDocker版は PowerShell から起動でき、手順は公式リポジトリの README.windows.md にあります。会話ごとにDockerコンテナを立てる方式だけは、ネイティブのWindowsでは動かず、WSL 2 の中で起動する必要があります。