For the complete documentation index, see llms.txt. This page is also available as Markdown.

OpenHands AI 开发者

在 Clore.ai 上部署 OpenHands(原 OpenDevin)——在经济实惠的 GPU 云服务器上运行一个完全自主的 AI 软件工程师,用于编码、调试和 GitHub issue 处理。

概览

OpenHands (原名 OpenDevin)是一个用于自主 AI 软件开发代理的开源平台。凭借 6.5 万+ GitHub 星标,它已成为将真实编程任务委托给 AI 的最受欢迎工具之一——编写代码、修复漏洞、解决 GitHub 问题、运行 shell 命令、浏览网页,并端到端地与你的代码库交互。

不同于典型的代码补全工具,OpenHands 运行的是一个 代理循环:它接收任务,进行规划,编写代码,执行代码,观察输出,并不断迭代——全程无需人工干预。它支持数十种 LLM 后端,包括 OpenAI、Anthropic Claude、Google Gemini,以及通过 Ollama 或 vLLM 托管在本地的模型。

为什么选择用 Clore.ai 运行 OpenHands?

  • OpenHands 本身基于 CPU,不需要 GPU

  • 不过,将它与 本地 LLM (Ollama、vLLM)部署在同一台服务器上,可以消除 API 成本和延迟

  • Clore.ai 价格亲民的 GPU 服务器让你可以同时运行 OpenHands 和本地模型,最低只需 $0.20–$0.35/小时

  • 你将获得持久化工作区存储、Docker-in-Docker 支持以及完整的 root 访问权限

  • 非常适合那些通过云端 LLM API 运行会很昂贵的长时间自主任务

在 Clore.ai 上的典型用例:

  • 根据规范或问题描述自主生成代码

  • 对大型代码库进行批量重构

  • 将 OpenHands + Ollama 一起运行,实现 100% 离线的代理式开发

  • 无需 API 成本的 CI/CD 任务自动化


需求

OpenHands 需要访问 Docker socket,并会在内部运行一个沙箱化的运行时容器。下表列出了在 Clore.ai 上推荐的配置:

配置
GPU
显存
内存
存储
预估价格

仅 API(不使用本地 LLM)

任意 / 仅 CPU

不适用

8 GB

20 GB

约 $0.05–0.10/小时

+ Ollama(Llama 3.1 8B)

RTX 3090

24 GB

16 GB

40 GB

$0.07–0.21/小时

+ Ollama(Qwen2.5 32B)

RTX 4090

24 GB

32 GB

60 GB

$0.14–0.42/小时

+ vLLM(Llama 3.1 70B)

A100 80GB

80 GB

64 GB

100 GB

+ vLLM(Llama 3.3 70B INT4)

RTX 4090

24 GB

32 GB

80 GB

$0.14–0.42/小时

注意: 如果你只使用 OpenAI/Anthropic/Gemini API,任何内存 ≥8 GB 的服务器都可以。只有当你希望在同一台机器上运行本地 LLM 时才需要 GPU。更多详情请参见 GPU 比较指南 。

Clore.ai 服务器上的软件要求:

  • Docker Engine(Clore.ai 所有镜像均已预装)

  • NVIDIA Container Toolkit(GPU 镜像已预装)

  • Docker socket 可访问于 /var/run/docker.sock

  • 可访问外网以拉取 GHCR 镜像


快速开始

步骤 1:选择并连接到 Clore.ai 服务器

在 Clore.ai 市场,按以下条件筛选服务器:

  • 内存 ≥ 16 GB(用于本地 LLM 组合)

  • Docker:✓ 已启用

  • 如果使用本地模型,请选择你偏好的 GPU

服务器配置完成后,通过 SSH 连接:

步骤 2:验证 Docker 是否正在运行

这两个命令都应成功。如果 Docker socket 缺失,请联系 Clore.ai 支持或选择其他镜像。

步骤 3:拉取并运行 OpenHands

步骤 4:访问 Web UI

UI 可访问于 http://<server-ip>:3000

Clore.ai 端口转发: 在 Clore.ai 仪表板中,确保端口 3000 已在你的服务器配置中转发/暴露。某些模板会限制外部端口——请查看服务器详情中的“Ports”部分。

首次启动时,OpenHands 会提示你配置一个 LLM 提供商。

步骤 5:配置你的 LLM

在 Web UI 设置中:

  • 提供商: 选择 OpenAI、Anthropic、Google 或 Custom

  • API Key: 输入你的 API 密钥

  • 模型: 例如, gpt-4o, claude-3-5-sonnet-20241022,或 ollama/llama3.1

对于本地 Ollama(见下方 GPU 加速部分),请使用:

  • 提供商: ollama

  • 基础 URL: http://host.docker.internal:11434

  • 模型: ollama/llama3.1:8b


配置

环境变量

OpenHands 可以完全通过传递给 docker run:

变量
描述
默认值

LLM_MODEL

模型标识符(例如 gpt-4o, claude-3-5-sonnet-20241022)

在界面中设置

LLM_API_KEY

LLM 提供商的 API 密钥

在界面中设置

LLM_BASE_URL

自定义基础 URL(用于 Ollama、vLLM、LiteLLM)

提供商默认值

SANDBOX_TIMEOUT

代理沙箱超时时间(秒)

120

MAX_ITERATIONS

每个任务的最大代理循环迭代次数

100

SANDBOX_USER_ID

沙箱运行使用的 UID(使用 $(id -u))

0

LOG_ALL_EVENTS

启用详细事件日志记录(true/false)

false

持久化配置文件

你可以通过挂载配置目录来持久化设置:

后台运行(分离模式)

对于在 Clore.ai 上长时间运行的会话:


GPU 加速(本地 LLM 集成)

虽然 OpenHands 本身不会使用 GPU,但将它与一个 本地 LLM 运行在 Clore.ai GPU 上的模型结合起来,你就能获得一个强大、经济、无需 API 的自主代理。

选项 A:OpenHands + Ollama(推荐新手)

先运行 Ollama,然后让 OpenHands 指向它:

查看完整的 Ollama 指南 以了解模型选择、性能调优和 GPU 配置。

选项 B:OpenHands + vLLM(高性能)

若要在更大模型上获得最高吞吐量:

请参阅 vLLM 指南 以了解完整设置、量化选项和多 GPU 配置。

推荐用于编程的本地模型

模型
大小
最低显存
质量

qwen2.5-coder:7b

7B

8 GB

★★★☆☆

deepseek-coder-v2:16b

16B

12 GB

★★★★☆

qwen2.5-coder:32b

32B

24 GB

★★★★☆

llama3.1:70b

70B

48 GB

★★★★★


提示与最佳实践

1. 明智地使用工作区挂载

将你的实际项目目录挂载为工作区,这样 OpenHands 就能直接编辑你的文件:

2. 通过任务提示获得最佳结果

OpenHands 最适合使用具体、可执行的提示:

3. 监控资源使用情况

4. 设置迭代限制

防止失控的代理消耗过多 API 令牌:

5. GitHub 集成

OpenHands 可以直接解决 GitHub 问题。在 UI 中配置:

  • GitHub Token:你拥有以下权限的个人访问令牌: repo 范围

  • OpenHands 将克隆仓库、修复问题并创建 PR

6. 成本估算

对于基于 API 的 LLM,按每个任务估算成本:

  • 简单 bug 修复:约 $0.05–0.15(Claude Haiku/GPT-4o-mini)

  • 复杂功能:约 $0.50–2.00(Claude Sonnet/GPT-4o)

  • 对于每天 100+ 个任务,在 Clore.ai 上运行本地 LLM 就能回本


故障排查

Docker Socket 拒绝权限

沙箱容器启动失败

端口 3000 无法访问

与 Ollama 的 LLM 连接错误

代理无限循环

内存不足(OOM)


延伸阅读

最后更新于

这有帮助吗?