OpenHands
OpenHands是一款自托管的代码智能体控制中心,支持对接多种大模型与智能体,可对接常用研发工具实现编程相关任务自动化。
这个项目值得继续研究吗?
OpenHands是一款自托管的代码智能体控制中心,支持对接多种大模型与智能体,可对接常用研发工具实现编程相关任务自动化。
- 解决什么问题
- 解决研发团队日常重复工作(如代码评审、依赖更新、工单拆解)效率低、多AI编码工具零散难统一管理、代码数据上传第三方平台存在安全泄露风险的问题。
- 适合什么团队
- 适合有代码数据安全合规要求、需要自动化日常研发任务、希望统一管理多类AI编码智能体的企业技术团队、研发效能团队使用。
- 使用前注意
- 当前项目处于beta阶段;无沙箱直接部署时智能体可完整访问设备文件系统;云服务器部署需额外做安全加固,需提前准备对应运行依赖。
本页用于缩短初步筛选时间,不构成技术、采购或法律结论。 正式使用前请在真实业务数据上验证,并以官方说明与许可证为准。
从官方资料看清能力、部署与采用边界
以下内容依据项目公开 README 或模型卡翻译整理,代码、命令和产品名保持原样。
项目定位
OpenHands Agent Canvas是自托管的代码智能体开发者控制中心,可将各类AI编码智能体整合为持续可用的研发辅助能力,帮助团队自动化处理日常研发类任务。工具默认搭载开源OpenHands智能体,也支持对接第三方智能体,可选择本地运行、私有部署或使用商业化的OpenHands云/企业版基础设施。
核心能力
- 灵活部署选择:可在个人笔记本、专用设备(如Mac Mini)、云服务器等任意设备上运行,满足不同规模团队的部署需求。
- 多后端无缝切换:可通过同一前端界面对接本地、远程、云端多套智能体后端,无需切换工具即可使用不同场景的智能体能力。
- 自动化流程配置:支持配置定时触发或事件触发的自动化工作流,替代人工完成重复研发任务。
- 常用工具集成:可对接Slack、GitHub、Linear、Notion、Datadog等企业常用工具,实现流程打通。
- 自定义大模型:支持对接任意LLM(大语言模型,一类可理解生成自然语言与代码的AI模型),企业可选择符合自身安全要求的模型服务。
- 多智能体兼容:支持OpenHands、Claude Code、Codex、Gemini等所有符合ACP(Agent-Client Protocol,智能体客户端协议,统一不同智能体对接标准的通信协议)的智能体。
典型使用方式
你可以基于OpenHands实现以下常见研发场景的自动化:
- 配置智能体自动完成代码评审、依赖版本更新等常规研发任务,团队可共享一套公共后端运行这类公共任务,个人也可在本地运行专属智能体处理个人任务。
- 接收到GitHub新增工单时,自动将需求拆解为可执行的子任务。
- 定时生成研发数据报表,自动发布到团队Slack群组。
- 结合webhook能力,对接其他内部系统触发智能体执行对应任务。
部署方式
OpenHands提供三类部署方式,你可根据需求选择:
- 无沙箱直接部署:直接在设备上运行智能体服务,需提前安装Node.js 22.12.x及以上版本、uv依赖,通过npm全局安装@openhands/agent-canvas后执行agent-canvas命令即可启动。注意该模式下智能体拥有设备完整文件系统访问权限,需谨慎使用。
- Docker沙箱部署:需提前安装Docker,仅开放指定项目目录给智能体访问,安全性更高。你可配置PROJECTSPATH为允许智能体访问的本地项目目录,执行对应Docker命令即可启动,Windows系统部署可参考官方Windows版部署说明。
- 源码部署:拉取项目源码后安装依赖,通过npm run dev命令启动,该模式同样无沙箱隔离,智能体可访问设备完整文件系统。
部署完成后,npm/源码部署的访问地址为http://localhost:8000,Docker部署的访问地址为http://localhost:8000/canvas,你可直接在UI内添加更多智能体后端。若选择云服务器部署,智能体可在本地设备关机后持续运行,更方便对接第三方工具触发任务,云部署需参考官方自托管文档完成安全加固。
架构说明
OpenHands核心由两部分组成:Agent Canvas为前端控制界面,可对接多个Agent Server(智能体运行的后端服务)实现多后端切换;Automation Server负责处理定时任务、webhook事件调度,触发智能体执行对应工作。 项目采用多仓库架构,不同仓库负责不同模块能力:主仓库负责前端控制中心、后端选择与本地部署编排;SDK仓库负责智能体服务核心能力与API定义;TypeScript客户端仓库负责前端与后端的通信适配;自动化仓库负责工作流调度、运行历史存储等能力。
许可证与采用建议
OpenHands采用MIT许可证,你可自由修改、商用,无额外授权限制。当前项目处于beta阶段,建议先在非核心研发场景测试验证后再扩大使用范围;对代码数据安全要求较高的团队,优先选择Docker沙箱模式自托管部署,避免代码数据泄露风险。
官方资料与来源
- agent
- artificial-intelligence
- chatgpt
- claude-ai
- cli
- developer-tools
- gpt
- llm
- openai
## 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](docs/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
该片段来自项目 README,仅用于初步判断;实际部署请以官方文档为准。


核对上游原始说明节选
🙌 OpenHands: AI-Driven Development
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. Quickstart | Docs | Self-Hosting | ACP Agents | Automations | Slack
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 SELFHOSTING.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-canvasThe 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 onlyOption 2: With a Docker Sandbox
Prerequisites:
- Docker: Docker Desktop on macOS/Windows, or Docker Engine/Docker Desktop on Linux.
- A host directory for PROJECTSPATH 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.16.0 # x-release-please-versionWindows (PowerShell / Windows Terminal): See README.windows.md for the equivalent commands.
The agent will be able to access any project under PROJECTSPATH.
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.
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
- Documentation index
- Architecture overview
- Development guide
- Self-hosting guide