OpenHands Agent Canvas
自托管的编码智能体控制台,可接入 OpenHands、Claude Code、Codex 等任意 ACP 智能体
支持自托管、本地/远程/云多种后端选择,权限边界取决于所连接的具体智能体后端;本次未做隔离环境验证。
项目本身正处于代码迁移阶段(README 明确提示 Agent/Agent Server 源码已移至 software-agent-sdk,Canvas 前端移至 agent-canvas),当前仓库不是最终稳定形态。
定位从早期的单一自动化编码智能体,转型为可对接 OpenHands/Claude Code/Codex/Gemini 等任意 ACP 兼容智能体的控制台,适用场景变宽但也更依赖具体接入的后端。
文档因迁移而分散在多个仓库和外部文档站点,短期内对新读者不够直观,需要额外跳转确认当前源码位置。
8 万+ Star 说明历史影响力大,但当前仓库定位调整后的实际产出效果缺乏可独立复现的证据。
评审仅基于 README 与仓库元数据,未做实际部署或多后端切换测试。
- 该仓库正在迁移中:Agent/Agent Server 源码见 OpenHands/software-agent-sdk,Canvas 前端见 OpenHands/agent-canvas,使用前请确认自己需要的是哪一部分
- 实际安全边界很大程度上取决于你连接的具体智能体后端(本地/Docker/远程/云),而非本仓库本身
- 本评审为静态评审,未做隔离环境的动态验证
它能做什么 & 适用场景
OpenHands 最初以自动化软件工程智能体著称,如今这个仓库已转型为 Agent Canvas——一个自托管的开发者控制台,用来发起对话并把日常任务自动化(例如生成报告并发布到 Slack、把 GitHub issue 自动拆解成任务)。它可以在本地、Docker、远程或云端运行智能体后端,并支持切换使用 OpenHands 自带智能体、Claude Code、Codex 等任意兼容 Agent-Client Protocol(ACP)的第三方智能体。
提供一个自托管的控制台界面,用来创建对话、配置自动化工作流;可以连接本地、Docker 容器、VM 或云端的智能体后端,并与 Slack、GitHub、Linear、Notion 等第三方服务集成,按计划或 webhook 事件触发自动化任务。
- 把 GitHub issue 自动拆解成任务并分配给智能体处理
- 定期生成报告并自动发布到 Slack 频道
- 在公司内部基础设施上自托管,统一管理多个智能体后端
- 在 OpenHands 自带智能体和 Claude Code / Codex / Gemini 等第三方智能体之间按需切换
优缺点一览
- 不锁定单一智能体,可在本地、Docker、远程、云端等多种后端间切换
- 内置自动化能力,能对接 Slack/GitHub/Linear 等常用协作工具
- 历史积累的社区规模很大(8 万+ Star),生态和讨论资源丰富
- 支持完全自托管,适合有数据合规要求的团队
- 仓库正处于迁移期,源码分散在多个新仓库,短期内查找当前实现略麻烦
- 定位已从单一自动化编码智能体转向更泛化的控制台,如果只需要一个开箱即用的编码智能体,可能不是最直接的选择
- 实际安全性和效果高度依赖你接入的具体智能体后端,本仓库本身更多是调度层
如何安装
该仓库目前处于迁移阶段:控制台前端源码见 OpenHands/agent-canvas,智能体与 Agent Server 源码见 OpenHands/software-agent-sdk。具体自托管步骤(本地部署、VM 部署等)请参考官方文档 docs.openhands.dev 的 Self-Hosting 章节,避免直接照搬本仓库过时的安装说明。
如何使用
部署完成后,通过控制台发起一个对话,选择要使用的智能体后端(OpenHands 自带、Claude Code、Codex 等),描述任务或配置自动化触发条件(定时/webhook),由控制台调度对应后端执行。
对比同类
与 Claude Code、Codex CLI 这类单一厂商的终端编码智能体不同,OpenHands Agent Canvas 定位是「智能体调度控制台」——它本身不是某一个智能体,而是让你在同一个自托管界面里管理和调用多种智能体后端并配置自动化。如果你只需要一个终端里能跑的编码助手,Codex CLI/opencode 更直接;如果你需要跨多个智能体、多种后端做统一编排和自动化,Agent Canvas 更贴合这个场景。