OpenHands介绍和安装说明

OpenHands

类别:AI 编程智能体(开源) | 更新时间:2026-07

1. 基础信息

项目 内容
开发商/维护方 All Hands AI
是否开源
开源协议 MIT
官方网站 https://all-hands.dev
GitHub 地址 https://github.com/All-Hands-AI/OpenHands
核心语言 Python
底层模型 兼容 100+ 模型供应商(经 LiteLLM),最佳配置如 Claude Opus 4.6
适用人群 追求高自主度的开发团队、开源维护者、需要批量处理 Issue 的中大型团队

2. 核心设计思想

OpenHands 前身为 OpenDevin,定位是"软件开发的数字智能体":不止于 IDE 内辅助补全,而是像人类工程师一样理解仓库、规划任务、修改并测试代码、提交成果。核心工作方式是自主代理------给它一个 Issue 或任务描述,它在沙箱中自主探索代码库、执行修复,最终产出可直接合并的 PR。

架构上最具辨识度的是事件流(Event Stream):智能体的所有动作------读文件、执行命令、调用工具、模型推理------都被序列化为事件,经统一服务器串联,支持任务持久化、续跑与多智能体编排。执行环境采用 Docker 沙箱,任务在隔离容器中运行,避免污染宿主机器。

另一技术特色是 CodeAct:智能体直接生成并执行 Python 代码来操作系统与文件,而非对话式调用工具,这是其 SWE-bench 高分的核心。2025-11 完成 1800 万美元 A 轮融资,v1.0 基于自研 Software Agent SDK 重写,进一步强化可组合性。

3. 特性

  • 自主修复 Issue 并生成 PR 的全流程闭环
  • Docker 隔离沙箱执行,安全可控地运行任意命令
  • CodeAct 机制:以生成并执行 Python 代码的方式调用工具,效率高、表达力强
  • 事件流架构:任务可持久化、续跑,支持多智能体协作与人工接管
  • 兼容 100+ 模型供应商(经 LiteLLM),模型可插拔
  • 提供 CLI、桌面应用与云端多种形态
  • 支持 GitHub 集成:Issue 拉取、PR 创建、仓库克隆
  • 多智能体协作:多个实例并行处理不同任务
  • SWE-bench Verified 约 72%(Claude Opus 4.6 配置),为开源项目最佳成绩之一
  • 内置代码浏览、检索与测试执行能力
  • 支持自定义沙箱镜像与运行时扩展
  • v1.0 基于自研 Software Agent SDK 重写,架构更清晰、扩展点更规范

4. 典型模式

模式一:Issue 到 PR 的自动化修复。 场景:维护者收到大量 bug 报告,人力不足。工作流:将 Issue 链接交给 OpenHands,指定目标分支;智能体在 Docker 沙箱中克隆仓库、定位问题、修改代码、运行测试;人工审查智能体生成的 PR 后合并,全程可随时接管或回滚。

模式二:批量重构/迁移。 场景:技术债清理、框架升级。工作流:拆分为多个子任务并行执行,各实例在独立沙箱中工作,事件流统一记录进度,汇总各 PR 统一评审。

5. 关键对比

维度 OpenHands Devin Claude Code Aider
形态 沙箱自主代理 云端自主代理 终端/CLI 终端/CLI
是否开源 是(MIT) 是(Apache 2.0)
底层模型 100+ 供应商可插拔 自研闭源模型 Claude 系列 75+ 供应商
成本 模型按量付费,自托管免费 订阅制,较高 按 token 计费 单会话 token 消耗最低
最佳场景 无人值守的 Issue 批处理 托管式全自动开发 交互式结对编程 轻量结对编程

与 Devin 相比,OpenHands 开源可自托管、模型自选、成本可控;与 Claude Code、Aider 等交互式工具相比,强在高自主度场景,弱在交互手感与轻量性。追求自主批处理、且能维护 Docker 环境的团队选它。

6. 优缺点

优点

  • MIT 开源,可自托管、可深度定制
  • 自主任务执行能力强,SWE-bench 成绩居开源之首
  • 模型无关,100+ 供应商任选
  • 事件流架构支持持久化与多智能体协作

缺点

  • 部署重:强依赖 Docker,环境门槛高
  • 本地小模型(如 7B 参数级)效果差,难以离线轻量运行
  • 自主模式下行为复杂,人工审查成本高
  • 沙箱与事件流架构复杂度高,二次开发门槛高

7. 落地组合方案

方案 A:开源项目维护的 Issue 自动化流水线。 组合:OpenHands(自托管)+ Claude Opus 4.6 或 DeepSeek 等性价比模型(经 LiteLLM)+ GitHub Actions。适合:有持续 Issue 量的中大型项目。工作流:Actions 创建沙箱→OpenHands 拉取标记的 Issue→修复并跑测试→生成 PR 打上 agent 标签→维护者统一审查。安全上加只读权限与依赖扫描,成本按用量控制。

方案 B:多智能体并行重构平台。 组合:OpenHands v1.0(Software Agent SDK)+ 事件流服务器 + 私有 Docker 镜像库。适合:30 人以上、代码量大的中大型团队。工作流:架构师拆解任务→并行调度多个实例→事件流集中监控→CI 校验后人工抽查合并,实现"机器干重复活、人干评审活"。

8. 安装步骤

OpenHands 以 Docker 容器方式运行,需要先安装 Docker(https://www.docker.com )。

  1. 安装并启动 Docker。
  2. 拉取镜像并启动 OpenHands:
bash 复制代码
docker run -it --rm -p 3000:3000 ghcr.io/all-hands-ai/openhands
  1. 浏览器打开 http://localhost:3000 进入工作台。
  2. 在设置中选择模型供应商(经 LiteLLM 兼容 100+ 供应商)并填入 API Key,创建会话开始使用。

9. 登录与模型配置

OpenHands 开源自托管版本无账号登录;模型经 LiteLLM 兼容 100+ 供应商(OpenAI、Anthropic、DeepSeek、GLM、Qwen、本地 Ollama 等),在设置中选择厂商并填入 API Key 即可。

9.1 自托管:无账号,直接配置模型

  • 开源形态无需注册登录;Docker 启动后在 http://localhost:3000 工作台 → Settings → Model 中选择供应商并填入 Key。
  • 只消耗所配置模型厂商的 API 额度;OpenHands 本身免费(云端托管版 all-hands.dev 才需要注册账号)。
  • LiteLLM 兼容层保证切换厂商只改一处配置。

9.2 各厂商 API Key 配置(界面或环境变量)

工作台 Settings → Model 下拉选择供应商:

bash 复制代码
# 也可通过环境变量注入(docker run -e 或 .env)
# OpenAI
export OPENAI_API_KEY=sk-xxxxxxxx

# Anthropic Claude
export ANTHROPIC_API_KEY=sk-ant-xxxxxxxx

# DeepSeek(深度求索)
export DEEPSEEK_API_KEY=sk-xxxxxxxx

# GLM(智谱清言)
export ZHIPU_API_KEY=xxxxxxxx.yyyyyyyy

# Qwen(阿里云百炼)
export DASHSCOPE_API_KEY=sk-xxxxxxxx

9.3 自定义 OpenAI 兼容端点(国产模型 / 本地 Ollama)

若预设列表不含目标厂商,用 LiteLLM 自定义模型标识:

厂商 模型标识(LiteLLM 格式) 模型名示例
DeepSeek deepseek/deepseek-chat deepseek-chat
智谱 GLM zhipu/glm-4.5 glm-4.5
阿里云百炼 dashscope/qwen-max qwen-max
硅基流动 各家开源模型 siliconflow/qwen2.5-72b
本地 Ollama ollama/qwen2.5:7b(ollama serve 后可用) qwen2.5:7b

9.4 各厂商 Key 获取入口

厂商 模型示例 Key 获取入口
OpenAI gpt-4o / o3 platform.openai.com
Anthropic claude-opus-4-1 / claude-sonnet-4-5 console.anthropic.com
DeepSeek deepseek-chat / deepseek-reasoner platform.deepseek.com
智谱 GLM glm-4.5 / glm-4.5-air open.bigmodel.cn
阿里云百炼 qwen-max / qwen3 bailian.console.aliyun.com
硅基流动 各家开源模型聚合 cloud.siliconflow.cn
Ollama 本地任意开源模型 无需 Key

提示:OpenHands 的 SWE-bench 高分依赖强模型(Claude Opus 级别);日常小任务用 DeepSeek / GLM 可大幅降低成本;本地 7B 级小模型效果较差,不建议离线轻量场景。

10. 简单示例

示例一:打开 http://localhost:3000 后:

  1. 选择工作区目录或粘贴 GitHub 仓库 / Issue 链接。

  2. 输入任务描述,例如:

    这个仓库的 user API 在并发请求下偶发 500,请定位根因并修复,跑通现有测试

  3. 点击开始,OpenHands 在 Docker 沙箱中克隆代码、定位问题、修改并运行测试,界面实时展示每一步操作。

  4. 任务完成后可生成 PR,人工 review 后合并。

示例二:让 OpenHands 生成一个 HTML 小游戏(贪吃蛇)。

  1. 打开 http://localhost:3000 工作台,在工作区目录选择或创建一个空文件夹。

  2. 输入任务描述:

    用 HTML + CSS + JavaScript 写一个贪吃蛇小游戏,单文件,用方向键控制,得分显示在页面上,保存为 snake.html;然后在沙箱里起一个本地服务器验证页面能正常打开

  3. OpenHands 在 Docker 沙箱中创建 snake.html(画布 + 游戏循环 + 键盘事件 + 计分逻辑),启动 python -m http.server 8000 验证,界面实时展示每一步操作。

  4. 任务完成后浏览器打开 http://localhost:8000/snake.html 即可试玩;想加功能(如"增加音效""加重新开始按钮")在会话中继续描述,OpenHands 会在沙箱内迭代修改并重新验证。

说明:本示例按第 9 章配置的模型计费;单文件小游戏消耗较少,DeepSeek / GLM 等低价模型即可完成;任务全程在 Docker 沙箱中执行,不影响宿主环境。

相关推荐
xcLeigh13 分钟前
提示词模板库:建立你的专属Prompt兵器库
人工智能·大模型·prompt·提示词
边缘计算社区17 分钟前
从 Byte 到 Token,重新认识网宿科技
人工智能·科技·边缘计算
Mr数据杨21 分钟前
楼加数据分析与挖掘项目挑战实战解析 多标签文本分类与报告型任务落地
人工智能·数据分析·kaggle竞赛
2601_9623815823 分钟前
[Python人工智能] 九.gensim词向量Word2Vec安装及《庆余年》中文短文本相似度计算
人工智能·python·tensorflow·word2vec·文本相似度
独码侠26 分钟前
第02篇·30 分钟跑通 Dify:Docker 一键部署,5 步上线首个 AI 应用
人工智能·docker·容器·dify
10WTW0127 分钟前
量化推理系统详解:从模型鲁棒性到数值表示的根本约束
人工智能·深度学习·机器学习
WoooChi28 分钟前
DailyTech-20260902
人工智能·科技·业界资讯
天远数科36 分钟前
零信任架构实战:基于天远车辆出险记录核验构建自动化信贷网关
运维·人工智能·架构·自动化
weixin_7503302337 分钟前
OPC一人公司技术服务商对比:从单体架构到AI Agent协同的演进
大数据·人工智能·架构