← プロジェクト一覧に戻る

OpenHands

サンドボックス環境で動作する自律型ソフトウェアエンジニア

公式MIT
スター
84.1k
フォーク
10.9k
オープンIssue
481
最終コミット
2026年8月15日

概要

隔離されたコンテナ内でファイル編集・テスト実行・ドキュメント参照を行うため、実行が失敗してもホスト環境を壊しません。SWE-bench系のベンチマークでは上位の成績を出していますが、実際のリポジトリに向ける前にコスト試算を勧めます。長時間の自律実行はトークン消費が大きく、生成結果はマージ前に人間のレビューが前提になります。

OpenHandsで何ができますか?

  • ローカルに一式を立ち上げるnpm install -g @openhands/agent-canvasで導入し、agent-canvasコマンドを実行すると既定でローカル一式が起動し、http://localhost:8000でUIを開けます。--frontend-only--backend-onlyで構成要素を分けて起動することもできます。
  • Dockerサンドボックスで動かすghcr.io/openhands/agent-canvas-v ${PROJECTS_PATH}:/projects付きで起動すると、エージェントはPROJECTS_PATH配下のプロジェクトを操作できます。npm版とソース版はagent-serverをホスト上で直接動かす構成で、READMEもファイルシステム全体にアクセスできると警告しています。
  • バックエンドを使い分けるAgent CanvasはREST APIであるOpenHands Agent Serverに接続し、1台につき1つのhost/portで動くサーバーを同じ画面から切り替えられます。チーム共有のサーバーでコードレビューや依存更新を回しつつ、手元のマシンで個人用エージェントを動かす構成が取れ、追加はUIから行えます。
  • OpenHands以外のエージェントも動かすClaude CodeやCodex、GeminiなどAgent-Client Protocol(ACP)対応のエージェントを同じ画面で扱え、背後のLLMも任意に選べます。
  • 定例作業を自動化するAutomation Serverと組み合わせると、スケジュールやwebhookイベントを起点にエージェントを実行できます。GitHubのIssueをタスクへ分解する、生成したレポートをSlackへ投稿するといった処理を任せられ、Slack・GitHub・Linear・Notionと連携します。

ドキュメント

OpenHands/OpenHands のREADMEより転載(MIT)。 原文を読む ↗

OpenHands Agent Canvas turns your coding agents into a self-hosted, always-on engineering team. It’s a developer control center for starting conversations and automating everyday tasks — like generating reports that publish to Slack or automatically decomposing GitHub issues into tasks.

It runs locally on your machine by default, but can connect to multiple “agent backends”, e.g. running agents in Docker containers, on VMs, or within your company infrastructure. You can optionally choose to run agents on OpenHands Cloud or OpenHands Enterprise infrastructure.

Agent Canvas runs the open source OpenHands agent out-of-the-box, but can use any third-party agent like Claude Code and Codex.

Self-host your wayRun agents locally, in Docker, on VMs, or anywhere you can run an agent server backend
Switch between different backendsSwitch between local, remote, and cloud agents without losing focus
Create automationsCreate automations and workflows that integrate with Slack, GitHub, Linear, and more. Run on a schedule or in response to webhook events
Integrate with the tools you useConnect your automations with third-party services like Slack, GitHub, Notion, and more to automate workflows
Bring your own modelUse with any LLM
Use with any agentUse with OpenHands, Claude Code, Codex, Gemini, or any agent with Agent-Client Protocol (ACP).

If you have questions or feedback, please open a GitHub issue or join the #proj-agent-canvas channel in Slack.

Quickstart

You can install OpenHands to run agents on any machine: on your laptop, on a dedicated computer like a Mac Mini, or on a server in the cloud.

The most powerful way to run OpenHands is on a server in the cloud. This allows your agents to continue running even when your laptop is shut, and makes it easier to trigger your agents through third-party services like Slack, GitHub, and Datadog. See SELF_HOSTING.md for details, especially with respect to security hardening.

Notably, you can run the backend in multiple different environments, and switch between them from the same Agent Canvas frontend. E.g. you can share an Agent Server with your team for agents doing code review and dependency updates, then have your personal agents running on your laptop.

Option 1: Without a Sandbox

[!WARNING] This runs the agent-server directly on the machine you’re installing on — the agent will have full access to your filesystem!

Prerequisites: Node.js 22.12.x or later, uv

npm install -g @openhands/agent-canvas
agent-canvas

The agent-canvas command starts the full local stack by default. You can also split it when you want to run pieces separately:

agent-canvas --frontend-only  # static frontend + ingress only
agent-canvas --backend-only   # agent server + automation backend + ingress only

Option 2: With a Docker Sandbox

Prerequisites:

  • Docker: Docker Desktop on macOS/Windows, or Docker Engine/Docker Desktop on Linux.
  • A host directory for PROJECTS_PATH containing the project folders you want the agent to access. Create it before starting the container.

macOS / Linux:

export PROJECTS_PATH="$HOME/projects"  # directory containing your project folders
mkdir -p "$PROJECTS_PATH" "$HOME/.openhands"

docker run -it --rm \
  -p 8000:8000 \
  -v "$HOME/.openhands:/home/openhands/.openhands" \
  -v "${PROJECTS_PATH}:/projects" \
  ghcr.io/openhands/agent-canvas:1.13.0 # x-release-please-version

Windows (PowerShell / Windows Terminal): See README.windows.md for the equivalent commands.

The agent will be able to access any project under PROJECTS_PATH.

Option 3: From Source

[!WARNING] This runs the agent-server directly on the machine you’re installing on — the agent will have full access to your filesystem!

Prerequisites: Node.js 22.12.x or later, npm, uv (for running the agent server via uvx)

git clone https://github.com/OpenHands/OpenHands.git
cd OpenHands
npm install
npm run dev

Access the UI at http://localhost:8000 for the npm/source launchers, or http://localhost:8000/canvas for the Docker image. You can add additional backends directly from the UI.

Architecture

Agent Canvas is powered by the OpenHands Agent Server, a REST API for running multiple agents on a single machine. Each Agent Server runs on a single host/port; the Agent Canvas can connect to multiple Agent Servers and easily flip between them.

You can run an Agent Server anywhere:

  • Directly on your laptop (be careful!)
  • On a dedicated machine like a Mac Mini
  • On a virtual machine in the cloud
  • Inside OpenHands Cloud (our commercial offering)

The Agent Server is often paired with an Automation Server, which lets you set up agents that run on a schedule or in response to events.

More documentation