一天一个开源项目(第92篇):OpenHands - 全能型开源 AI 软件工程师

引言

"All hands on deck for the future of AI-driven development."

这是"一天一个开源项目"系列的第92篇文章。今天带你了解的项目是 OpenHands(原名 OpenDevin)。

如果说之前介绍的 RuFlo 侧重于后端的代理编排,而 cmux 侧重于终端的展示,那么 OpenHands 则是目前最接近"完全形态"的开源 AI 软件工程师。它是对标闭源工具 Devin 的社区力量结晶。在一个集成了代码编辑器、终端、浏览器和实时预览的完整 GUI 环境中,OpenHands 的 Agent 可以自主规划任务、执行命令、编写代码并验证结果,真正实现从需求到代码的闭环。

你将学到什么

  • 什么是 OpenHands(以及它从 OpenDevin 更名的背景)
  • 如何在 Docker 隔离环境安全地运行 AI 代理
  • 利用 LiteLLM 接入任意大模型(如 GPT-4o, Claude 3.5, Ollama)
  • AI 智能体如何处理从 Bug 修复到功能生成的全流程

前置知识

  • 了解 AI Agent 的基本概念(感知-思考-执行循环)
  • 熟悉 Docker 的基本操作(用于运行沙箱环境)
  • 拥有主流大模型的 API Key 或本地模型环境

项目背景

项目简介

OpenHands 是一个开源平台,允许 AI 智能体与开发者并肩作战。它通过一个高度互动的网页界面,让 AI 能够直接操作文件系统、运行终端命令以及浏览网页。该项目的核心目标是让 AI 驱动的软件开发变得触手可及且完全开放。从更名后的"OpenHands"可以看出,其强调的是"众志成城(All Hands AI)"和人机协作的愿景。

作者/团队介绍

  • 发起者:前身为 OpenDevin 社区,由来自 UIUC、CMU 等高校的研究者以及全行业开发者共同维护。
  • 支持机构:All Hands AI。
  • 核心理念:软件开发的未来不应由闭源巨头垄断,而应掌握在开源社区手中。

项目数据

  • ⭐ GitHub Stars: 40k+ (极受欢迎的顶尖项目)
  • 📦 技术栈: Python (后端), TypeScript/React (前端), Docker (沙箱)
  • 📄 License: MIT
  • 🌐 仓库: OpenHands/OpenHands

主要功能

核心作用

OpenHands 提供了一个完整的"代理沙箱"。当用户输入一个需求(如"帮我写一个贪食蛇小游戏,并修复目前的 CSS 样式 Bug")时,系统会启动一个 Docker 容器,Agent 在其中:

  1. 规划:拆分任务步骤。
  2. 执行:创建文件、安装依赖、编写代码。
  3. 验证:运行测试或启动应用并在浏览器内预览。

使用场景

  1. 端到端功能开发
    • 从零开始搭建一个小型的 Web 应用或后端服务。
  2. 自动化 Bug 修复
    • 给 Agent 一个 GitHub Issue 链接,让它自主定位代码并提交 PR。
  3. 技术栈迁移/重构
    • 将现有代码从 JavaScript 迁移到 TypeScript,或进行大规模的代码风格统一。

快速开始

OpenHands 官方强烈建议通过 Docker 运行以确保安全。

bash 复制代码
# 运行安装/启动脚本(需要 Docker 已安装)
docker run -it \
    --pull=always \
    -e SANDBOX_USER_ID=$UID \
    -e WORKSPACE_BASE=$PWD/workspace \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v $PWD/workspace:/opt/workspace \
    -p 3000:3000 \
    --add-host host.docker.internal:host-gateway \
    ghcr.io/openhands/openhands:0.15 # 使用最新版本

启动后访问 http://localhost:3000 即可在 UI 界面配置模型 Key 并开始协作。

核心特性

  1. 高度互动的 GUI
    • 内置 VS Code 风格的代码编辑器、实时预览、终端和浏览器,让你一眼看穿 Agent 的每一个动作。
  2. 模型无关性
    • 通过 LiteLLM 适配器,支持 100 多种 LLM 供应商,你可以自由切换最昂贵的 Claude 3.5 Sonnet 或完全本地的 Llama 3。
  3. 安全沙箱
    • 所有破坏性操作(如 rm -rf)都发生在隔离的容器内,不会影响你的主机安全。
  4. App 实时预览
    • 当 Agent 构建 Web 应用时,你可以在侧边栏直接看到运行效果并进行交互。
  5. 支持 MCP (Model Context Protocol)
    • 可以通过 MCP 插件扩展 Agent 的能力,如接入 Google 检索、Slack 消息等。

项目优势

对比项 OpenHands Devin (闭源) Aider / Cursor
开放度 完全开源 (MIT) 商业闭源 部分开源/商业
自由度 选模型、选环境、自定义 Agent 受限 面向 Chat 或 IDE
沙箱模型 本地 Docker 透明沙箱 远程云端黑盒 通常在本地运行
任务深度 支持多步自主工程 极深 侧重辅助编码

项目详细剖析

1. 软件智能体 SDK (Agent SDK)

OpenHands 不仅仅是一个应用,它提供了一套 SDK,允许开发者自定义 Agent 的"大脑"。你可以定义不同的思维链(CoT)策略,或者为 Agent 添加特定的领域知识工具,使其成为垂直领域的"专家"。

2. SWE-bench 级的表现

在 AI 软件工程的终极考卷 SWE-bench(真实 GitHub 问题解决能力测试)上,OpenHands 一直处于开源项目的领跑地位,其自主解决复杂软件问题的成功率甚至在某些测试中逼近闭源的商业模型。


项目地址与资源

官方资源

适用人群

  • 想要拥有属于自己的"自主 AI 员工"的开发者。
  • 关注 AI 软件工程前沿研究和落地的工程师。
  • 对代码隐私有较高要求、希望在私有环境下运行 AI 代理的企业。

欢迎来我的个人主页找到更多有用的知识和有趣的产品

相关推荐
久违 °3 小时前
【AI-Agent】TagMatrix 数据标注工具开发
人工智能·数据分析·go·agent·数据隐私
AI360labs_atyun4 小时前
腾讯推出电子牛马Marvis,好用吗?
人工智能·科技·ai
Dfreedom.4 小时前
Windows、虚拟机、开发板组网通信原理及调试通联步骤
人工智能·windows·部署·边缘计算·开发板·模型加速
3DVisionary4 小时前
蓝光三维扫描:医疗制造的精度焦虑怎么解
人工智能·算法·制造·蓝光三维扫描·医疗制造·三维检测·义齿检测
Are_You_Okkk_4 小时前
基于MonkeyCode解析AI研发新模式,根治开发低效痛点
大数据·人工智能·开源·ai编程
好评笔记4 小时前
机器学习面试八股——常用损失函数
人工智能·深度学习·算法·机器学习·校招
weixin_468466854 小时前
全局与局部注意力机制新手实战指南
人工智能·python·深度学习·算法·自然语言处理·transformer·注意力机制
weixin_468466854 小时前
工业相机成像原理新手入门指南
人工智能·自动化·机器视觉·工业相机·光学·光学系统·成像原理
回眸&啤酒鸭4 小时前
【回眸】CSDN新增功能测评——AI数字营销之内容创作
人工智能
小糖学代码4 小时前
LLM系列:环境搭建:5.Python-dotenv 环境变量管理
人工智能·python·深度学习·神经网络