OpenHands README

The project's README from github.com/OpenHands/OpenHands. As one markdown file: README.md.

OpenHands logo

Agent Canvas

The self-hosted developer control center for coding agents and automations.

Run OpenHands, Claude Code, Codex, Gemini, or any ACP-compatible agent across local, remote, and cloud backends.

Project status beta CI status npm version Documentation Join us on Slack
Quickstart | Docs | Self-Hosting | ACP Agents | Automations | Slack

Agent Canvas automation preview


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 way Run agents locally, in Docker, on VMs, or anywhere you can run an agent server backend
Switch between different backends Switch between local, remote, and cloud agents without losing focus
Create automations Create 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 use Connect your automations with third-party services like Slack, GitHub, Notion, and more to automate workflows
Bring your own model Use with any LLM
Use with any agent Use 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:

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.17.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:

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.

image

Repository boundaries

Agent Canvas is part of a multi-repository OpenHands system. Changes should go to the repository that owns the behavior:

Repository Responsibility
OpenHands/OpenHands Agent Canvas frontend, user-facing control center, backend selection, and local-stack orchestration.
OpenHands/software-agent-sdk Python SDK, Agent Server, agents, tools, conversations, workspaces, events, and the canonical server API.
OpenHands/typescript-client Browser-compatible TypeScript client for the Agent Server API.
OpenHands/automation Automation definitions, scheduling, webhooks, run history, and dispatching.

The Agent Server API is implemented by the SDK and consumed through the TypeScript client by Agent Canvas. The automation service decides when work runs and dispatches conversations to the Agent Server/SDK, which decides what runs. See AGENTS.md for contributor-specific boundaries and the required custom code-review guide.

More documentation

OpenHands (OpenHands/OpenHands)

Searching Database…

91.2K ·GitHub
这是什么?OpenHands Agent Canvas 是一个可自行托管的控制中心,用于运行和管理 AI 编程代理,例如 OpenHands、Claude Code、Codex 或 Gemini。你可以在其中发起对话,并自动执行生成报告、拆解 GitHub issue 等任务。
它是独立的代理,还是代理的仪表盘?它是一个前端/控制中心(本身不是代理),通过 ‘Agent Server’ REST API 与代理通信。它开箱即可运行开源的 OpenHands 代理,也可以连接任何兼容 ACP 的代理。
我该如何让它运行起来?可以通过 agent-canvas 命令在不使用沙箱的情况下运行(需要 Node.js 22.12+ 和 uv),也可以使用指向项目目录的 Docker 沙箱运行,或者用 npm 从源码构建。
试用之前需要先安装什么?非沙箱或源码安装需要 Node.js 22.12.x 或更高版本以及 uv;Docker 方式则需要 Docker Desktop/Engine,以及一个用于存放项目的主机目录。
不使用 Docker 沙箱运行安全吗?不使用 Docker 时,agent-server 会直接运行在你的机器上,代理将拥有完整的文件系统访问权限,因此被明确标记为有风险。
这是给个人开发者用的,还是给整个团队用的?两者都适用:你可以在笔记本上一个人使用,也可以与团队共享一个 Agent Server,用于代码审查和依赖更新等工作,同时单独保留个人代理继续运行。
它也能在 Windows 上运行吗,还是只支持 Mac/Linux?可以。Docker Desktop 支持 macOS/Windows,Docker Engine 支持 Linux,并且有单独的 README.windows.md,其中包含 PowerShell 专用命令。
我能使用自己的 LLM 吗?可以。该项目明确支持使用任何 LLM,因此你不会被绑定到某一个特定的服务商。
Slack 报告之类的自动化究竟是如何工作的?Automation Server 负责调度、webhook 和任务分发,将工作交给 Agent Server/SDK,由它决定实际运行的内容。自动化任务可以按计划或由事件触发,并能将结果发布到 Slack、GitHub、Linear 等平台。
如果我不想自行托管,有没有托管选项?有。你可以选择在 OpenHands Cloud 或 OpenHands Enterprise 基础设施上运行代理,而无需自己托管 Agent Server。
如果这个仓库只是前端,那么代理的核心逻辑在哪里?核心 Python SDK、Agent Server、代理、工具以及标准服务器 API 都位于独立的 OpenHands/software-agent-sdk 仓库中,而本仓库是 Agent Canvas 的前端和编排部分。
Creator
OpenHands
Size
492 MB
Stars
91.2K
Age
2y
Commits · 90 Days