⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 http://www.iocoder.cn/Fight/OpenHandsrangAIbangnixiedaimapaominglingxiuBugdekaiyuanshenqi/ 「芋道源码」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注微信公众号:【芋道源码】有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言都将得到认真回复。甚至不知道如何读源码也可以请教噢。
  4. 新的源码解析文章实时收到通知。每周更新一篇左右。
  5. 认真的源码交流微信群。

73k Star 的 OpenHands 是什么:开源 AI 程序员,连 Apple 都在用

2024 年初 Cognition Labs 把 Devin 做出来时,所有人都被那段视频惊到——AI 自己开终端、写代码、跑测试、提交 PR。但两年过去了,Devin 至今没开源、邀请码还得排队。

很多人转头就问:有没有一个开源版的”AI 程序员”,能让我自己装了就能用?

——有,叫 OpenHands。原名 OpenDevin,2024 年底改了现在这个名字。截至发稿 GitHub 已经 73k Star、9.1k Fork——是 AI 编程类项目里 Star 数仅次于商业 OpenCode 的开源选项。仓库:https://github.com/OpenHands/OpenHands。

它做的事一句话讲清——不是聊天 bot,是真的会动手的 AI:

  • 给它一个任务——它自己读代码、改文件、执行命令、查文档;
  • 跑完之后——它把结果告诉你;
  • 中间出错——它自己再试。

最大的两个产品决策:

  • 不绑定模型——Claude / GPT-4o / Qwen / Llama / 本地 Ollama 都能接,API Key 谁的都行;
  • 协议层原生支持 MCP——能接外部工具和服务,跟 Claude Code 同标准。

但真正让”开源 AI 程序员”这条路被严肃看待的,是它的用户名单——GitHub 主页直接列出了:

  • TikTok / 字节 · Apple · Google · Amazon · NVIDIA
  • Red Hat · MongoDB · Mastercard · Roche(罗氏制药)· VMware

OpenHands 贡献者头像墙——超过 600 位 contributors

这不是”研究玩具”,是已经在大厂生产工作流里跑的工具。

效果如何:SWE-bench 77.6%,开源里的天花板

光有大厂背书还不够——真要看一个 AI 程序员”行不行”,看 SWE-bench。

SWE-bench 是目前评估 AI 修真实 GitHub Issue 能力的主要测试集——题目来自真实开源项目的 Bug,AI 要理解描述、找到代码、给出修复补丁。这个分数代表 AI”真能写代码”的水平。

OpenHands 在 SWE-bench 上拿到 77.6%——开源里的天花板:

工具 SWE-bench 分数 开源 / 闭源 备注
Claude Code ~80.9% 闭源 业界最高
Codex CLI(OpenAI) ~80% 开源 (Apache 2.0) OpenAI 自研
OpenHands ✅ 77.6% 开源 (MIT) 开源里第一
GitHub Copilot ~50% 闭源 起步早但被代际拉开了

77.6% vs 80.9%——只差 3.3 个百分点,但前者是 MIT 完全开源、后者是闭源订阅。这个差距值得很多团队为”开源”买单。

为什么 OpenHands 能跑这么高?关键不在模型——在它的多智能体分工架构(下一节展开)。

核心机制:3 个真核心差异化

OpenHands 的机制网上能查到一堆——沙盒、事件日志、Microagents、多智能体。但绝大多数都是 Claude Code 也有的(Claude Code 也用应用层钩子做沙盒、也有事件日志、也有 Skills 等同 Microagents)。

真正构成 OpenHands 差异化的,只有这 3 个:

机制 1:不绑定模型——任意 LLM 都能接

Claude Code 强制 Claude 系列、Codex CLI 强制 GPT 系列——OpenHands 是少有的”真不绑”:

  • 接 Anthropic Claude 系列、OpenAI GPT 系列、Google Gemini;
  • 接国产 Qwen / DeepSeek / Kimi / GLM;
  • 接本地 Ollama 跑的 Llama;
  • 任何 OpenAI 兼容接口都行。

这条对国内团队尤其值钱——数据敏感场景配本地 Ollama,零成本零数据外传。

机制 2:Docker 沙盒——隔离层级比应用层 hook 更深

Claude Code 用「应用层 hook」拦危险操作——沙盒在用户态、AI 还是能跨过去(这次 PocketOS 9 秒删库就是绕过去了)。

OpenHands 的方式更彻底——所有 AI 行为默认在 Docker 容器里跑:

  • AI 写的代码、执行的命令全在隔离环境;
  • 你的本地文件系统默认不可见;
  • 想让 AI 访问某个目录——自己 --mount-cwd 显式挂载。

Docker 容器是容器级隔离——比应用层 hook 强一档,但不是绝对安全:一旦你挂了 Docker socket(让 AI 控 Docker 本身)、或者用 --mount-cwd 把宿主机目录挂进去,容器内的 AI 还是能影响外面。用对了显著降低风险,但不能完全消除。

机制 3:多智能体分工——SWE-bench 77.6% 的真凶

这是上一节留下的悬念——为什么 OpenHands 能在开源里拿到 77.6%?

关键是它的”任务分工”做法——不是把所有事压给一个超级大代理,而是拆成多个子代理各自负责一块:

  • 子代理 A——专门查文档;
  • 子代理 B——专门写代码;
  • 子代理 C——专门跑测试 / 验证;
  • 主代理——只负责协调 + 汇总。

每个子代理有独立上下文、互不干扰——上下文不爆、专注度高、踩坑概率分散。

这一点 Claude Code 也在追——但 Claude Code 的 subagents 是”同一个 Agent 派生”,OpenHands 是”独立角色分工”——架构设计差异更大。

横向比较:和 Claude Code / Codex CLI / Cursor 谁强

把 4 大主流 AI 编程工具按 6 个维度横向看:

3 步快速选——

  • 想要”开源退路” / 数据敏感 / 不想被 Anthropic 锁死——选 OpenHands;
  • 追求代码质量巅峰 / 团队 + 个人都用——选 Claude Code;
  • 极速 + 成本敏感 / DevOps 脚本场景——选 Codex CLI;
  • IDE 内顺手 AI 写代码——选 Cursor。

很多团队是组合用——Claude Code 做架构、Codex CLI 跑脚本、OpenHands 接自动化流水线。不冲突。

形态:CLI / SDK / 网页 / 云端 全都有

OpenHands 一个最大的卖点——4 种形态全覆盖、各种用户都能找到入口:

形态 入口 适合谁
CLI openhands 命令 Claude Code / Codex 用户、命令行重度用户
SDK pip install openhands-sdk 想嵌进自家产品 / 搭流水线的开发者
网页 GUI openhands serve,访问 localhost:3000 不熟悉命令行 / 喜欢可视化的人
云端 https://app.all-hands.dev 团队场景(多用户 / 权限管理)

CLI 形态:体验和 Claude Code 几乎一样

uv tool install openhands --python 3.12
openhands

熟悉 Claude Code / Codex 的开发者直接上手。

网页 GUI:浏览器打开就有

openhands serve 启动后,浏览器访问 http://localhost:3000:

  • 看 AI 的思考过程;
  • 看 AI 执行的命令;
  • 看 AI 改了什么文件;
  • 中途可以介入打断、给提示。

体验和 Devin / Jules 比较像,对不熟悉命令行的人最友好。

云端:团队场景多用户协作

不想本地部署的——直接 https://app.all-hands.dev,GitHub / GitLab 账号登录。目前用 Minimax 模型可以免费试用。

云版本支持接 Slack / Jira / Linear——多用户、权限管理、会话共享都有。

SDK:嵌进自家产品

最底层的形态——一个 Python 库,用代码定义智能体、本地或云端跑:

pip install openhands-sdk

适合:想把 AI 能力嵌进自家产品的开发者,或者想搭企业级自动化流水线的团队。文档:https://docs.openhands.dev/sdk。

5 分钟从 0 跑起 OpenHands

先确保装了 Docker Desktop(前面说了,OpenHands 强制 Docker 沙盒)——然后任选一种装法:

方法 1:用 uv(推荐)

# 安装
uv tool install openhands --python 3.12

# 启动 GUI
openhands serve

# 想挂载当前目录就加这个
openhands serve --mount-cwd

方法 2:直接 Docker 跑(推荐命令——生产部署请参考官方 docs 调整 runtime 镜像 / .openhands 挂载 / --add-host 等参数)

docker run -it --rm --pull=always \
-e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.openhands.dev/openhands/runtime:1.6-nikolaik \
-e LOG_ALL_EVENTS=true \
-v /var/run/docker.sock:/var/run/docker.sock \
-v ~/.openhands:/.openhands \
--add-host host.docker.internal:host-gateway \
-p 3000:3000 \
--name openhands-app \
docker.openhands.dev/openhands/openhands:1.6

首次配置——浏览器打开 http://localhost:3000,第一次进去要配 LLM Provider 和 API Key:

  • 想用 Claude——填 Anthropic API Key;
  • 想用 GPT——填 OpenAI API Key;
  • 想用本地模型(Ollama 跑的 Llama 之类)——在设置里填 Base URL 即可;
  • 可选:再配一个 Tavily API Key——AI 就能在做任务时主动搜网络。

系统要求不高:Mac / Linux / Windows(需要 WSL)+ 4GB RAM 起步。

我的判断

OpenHands 不是 Claude Code 的”低配版”——它是 AI 程序员领域目前唯一拿得出手的”开源退路”:

如果说 Claude Code 是 AI 程序员的”iPhone”——一体化、闭环、体验最好;那 OpenHands 想做的是”Android”——开源、生态化、谁都能改、还跑在 Docker 沙盒里。

3 步快速决策——

  • 个人玩家 / 试水——直接 Claude Code 体验最好、上手最快;
  • 数据敏感 / 不想被锁定 / 多形态需求——OpenHands + 本地 Ollama,当下最干净的方案;
  • 企业级自动化 / 大规模 GitHub Issue → PR——OpenHands SDK 直接接流水线,MIT 协议无后顾之忧。

MIT 协议、73k Star、活跃迭代、大厂背书——它已经不是”演示项目”了。

目前开源 AI 编程工具里,最值得认真了解的一个选项。

文章目录
  1. 1. 73k Star 的 OpenHands 是什么:开源 AI 程序员,连 Apple 都在用
  2. 2. 效果如何:SWE-bench 77.6%,开源里的天花板
  3. 3. 核心机制:3 个真核心差异化
    1. 3.0.1. 机制 1:不绑定模型——任意 LLM 都能接
    2. 3.0.2. 机制 2:Docker 沙盒——隔离层级比应用层 hook 更深
    3. 3.0.3. 机制 3:多智能体分工——SWE-bench 77.6% 的真凶
  • 4. 横向比较:和 Claude Code / Codex CLI / Cursor 谁强
  • 5. 形态:CLI / SDK / 网页 / 云端 全都有
    1. 5.0.1. CLI 形态:体验和 Claude Code 几乎一样
    2. 5.0.2. 网页 GUI:浏览器打开就有
    3. 5.0.3. 云端:团队场景多用户协作
    4. 5.0.4. SDK:嵌进自家产品
  • 6. 5 分钟从 0 跑起 OpenHands
  • 7. 我的判断