命令行工具 活跃维护

OpenHands

OpenHands/OpenHands

🙌 OpenHands:人工智能驱动的开发

88739
Stars 标星
11675
Forks 分支
498
Watchers 关注
873
Open Issues
TypeScript
主要语言
MIT
开源协议
428.3 MB
仓库大小
1 天前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:OpenHands/OpenHands
git clone https://github.com/OpenHands/OpenHands.git
git clone git@github.com:OpenHands/OpenHands.git
README.md main

机器翻译正文由机器翻译自项目原始文档(英文),排版经程序统一处理,可能存在偏差,请以原项目仓库为准。

代理画布

面向开发者的自托管控制中心,用于编码代理和自动化。

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


OpenHands Agent Canvas 将你的编码代理变成一个自托管、全天候运行的工程团队。它是一个开发者控制中心,用于启动对话和自动化日常任务——比如生成报告并发布到 Slack,或自动将 GitHub 问题分解为任务。

默认情况下,它在你的本地机器上运行,但可以连接到多个“代理后端”,例如在 Docker 容器、虚拟机或公司基础设施中运行代理。你也可以选择将代理运行在 OpenHands 云或 OpenHands 企业基础设施上。

Agent Canvas 开箱即用运行开源的 OpenHands 代理,但也可以使用任何第三方代理,如 Claude Code 和 Codex。

自托管您的方式 在本地、Docker、虚拟机或任何可以运行代理服务器后端的地方运行代理
在不同后端之间切换 在本地、远程和云代理之间切换而不丢失焦点
创建自动化 创建与 Slack、GitHub、Linear 等集成的自动化和工作流程。可以按计划运行或响应 webhook 事件
与您使用的工具集成 将您的自动化与第三方服务如 Slack、GitHub、Notion 等连接,以自动化工作流程
自带模型 可与任何大型语言模型 (LLM) 一起使用
与任何代理一起使用 可与 OpenHands、Claude Code、Codex、Gemini 或任何支持代理客户端协议 (ACP) 的代理一起使用

如果您有任何问题或反馈,请在 GitHub 上提交 issue 或加入 Slack 中的 #proj-agent-canvas 频道

快速上手

您可以在任何设备上安装 OpenHands 以运行代理:在笔记本电脑上,在像 Mac Mini 这样的专用电脑上,或者在云服务器上。

运行 OpenHands 的最强大方式是在云服务器上。这允许您的代理即使在笔记本电脑关闭时也能继续运行,并且使通过第三方服务(如 Slack、GitHub 和 Datadog)触发代理变得更容易。有关详细信息,请参阅 SELF_HOSTING.md,特别是关于安全加固的部分。

值得注意的是,您可以在_多种不同环境_中运行后台服务,并且可以从同一个 Agent Canvas 前端在它们之间切换。例如,您可以与团队共享一个用于代码审查和依赖更新的代理服务器,然后让您的个人代理在笔记本电脑上运行。

选项 1:无沙箱

[!警告]
这会直接在您安装的设备上运行 agent-server——代理将可以完全访问您的文件系统!

先决条件:Node.js 22.12.x 或更高版本, uv

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

agent-canvas 命令默认启动完整的本地堆栈。你也可以在想要单独运行部分时拆分它:

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

选项 2:使用 Docker 沙箱

先决条件

  • Docker:macOS/Windows 上的 Docker Desktop,或 Linux 上的 Docker Engine/Docker Desktop。
  • 用于 PROJECTS_PATH 的主机目录,包含您希望代理访问的项目文件夹。在启动容器之前创建它。

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.20.0 # x-release-please-version

Windows(PowerShell / Windows 终端): 请参阅 README.windows.md 获取等效命令。

该代理将能够访问 PROJECTS_PATH 下的任何项目。

选项 3:从源代码安装

[!警告]
这将在您安装的机器上直接运行代理服务器——代理将拥有对您的文件系统的完全访问权限!

先决条件:Node.js 22.12.x 或更高版本,npmuv(用于通过 uvx 运行代理服务器)

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

通过 http://localhost:8000 访问 npm/source 启动器的用户界面,或通过 http://localhost:8000/canvas 访问 Docker 镜像。您可以直接从用户界面添加其他后端。

建筑

Agent Canvas 由 OpenHands Agent Server 提供支持,这是一个用于在单台机器上运行多个代理的 REST API。每个 Agent Server 运行在单个主机/端口上;Agent Canvas 可以连接到多个 Agent Server 并轻松在它们之间切换。

你可以在任何地方运行代理服务器:

  • 直接在你的笔记本上(小心!)
  • 在像Mac Mini这样的专用机器上
  • 在云端的虚拟机上
  • OpenHands Cloud(我们的商业产品)内部

代理服务器通常与自动化服务器配对使用,它可以让你设置按计划运行或响应事件的代理。

存储库边界

Agent Canvas 是多仓库 OpenHands 系统的一部分。更改应发送到拥有该行为的仓库:

存储库 责任
OpenHands/OpenHands 代理画布前端、用户面向的控制中心、后端选择和本地堆栈编排。
OpenHands/software-agent-sdk Python SDK、代理服务器、代理、工具、会话、工作区、事件以及规范服务器 API。
OpenHands/typescript-client 适用于代理服务器 API 的浏览器兼容 TypeScript 客户端。
OpenHands/automation 自动化定义、调度、Webhooks、运行历史和调度发送。

代理服务器 API 由 SDK 实现,并通过代理画布使用 TypeScript 客户端进行调用。自动化服务决定工作何时运行,并将会话分派给代理服务器/SDK,由其决定执行内容。有关贡献者特定的边界和所需的自定义代码审查指南,请参见 AGENTS.md

更多文档

本站来源与版权声明
  • 本文标题:OpenHands - 🙌 OpenHands:人工智能驱动的开发
  • 本文链接:https://cn121.com/cli/openhands-openhands.html
  • 原项目:OpenHands/OpenHands 版权归原作者 OpenHands 及贡献者所有
  • 收录信息:本站于 2026-09-22 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
  • 开源协议:收录时本项目采用 MIT查看 LICENSE 原文),本站译文为其衍生内容;使用、修改、分发请以该仓库 LICENSE 原文为准。
  • 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 OpenHands/OpenHands。
  • 翻译说明:本页正文为人工智能生成内容——由机器翻译对原项目 README 初译、经程序校验排版,可能存在错漏,请以原项目文档为准。
  • 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息
  • 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。