先把身份问题说清楚:OpenDevin 是 2024 年由 Xingyao Wang 等人发起的开源软件工程 Agent 平台,后来改名为 OpenHands,ICLR 2025 收录的论文标题直接写着「OpenHands: An Open Platform for AI Software Developers as Generalist Agents (f.k.a. OpenDevin)」。所以现在你搜到的任何「OpenDevin 安装教程」,真正要装的都是 OpenHands。GitHub 组织也从 All-Hands-AI 改成了 OpenHands,许可证仍是 MIT。
更需要注意的是它已经拆成了四个仓库,而且形态变了。`OpenHands/OpenHands` 这个主仓现在承载的是 Agent Canvas —— 一个自托管的「Agent 控制中心」,当前 1.15.0,用 npm 包 `@openhands/agent-canvas` 或镜像 `ghcr.io/openhands/agent-canvas:1.15.0` 起,默认 8000 端口,需要 Node.js 22.12+ 和 uv。真正跑 Agent 的引擎在 `OpenHands/software-agent-sdk`(PyPI 上是 `openhands-sdk` / `openhands-tools` / `openhands-agent-server`,均为 1.43.x),SWE-Bench 成绩 77.6。另外两个仓库是 `typescript-client` 和 `automation`(定时任务与 webhook)。文档里的「Local GUI」「CLI」「V0 Reference」三块已经明确标成 Deprecated Projects,老的 V0 Runtime 概念被 V1 Sandbox 取代 —— 照着 2024 年的 `openhands-ai` 教程走,你会踩一路坑。
OpenHands 本体是编排层:它管对话、工具调用、文件编辑、终端和沙箱,本身跑在 CPU 上。显存的账全部记在模型上。官方文档在 2026/05/21 更新了推荐:本地自托管首选 Qwen3.6-35B-A3B,一个 35B 总参、每 token 激活约 3B 的 MoE(256 个专家、每 token 路由 8 个),Apache-2.0,原生 262144 上下文,还带视觉。官方给的硬件门槛是「量化版至少 24GB 显存,全精度或更长上下文需要多卡」。这就是为什么租一张卡比买一张卡划算:你只在 Agent 真正干活的那几个小时付费。
01 —
OpenHands 官方推荐的本地模型:Qwen3.6-35B-A3B 各档位
以下体积为 HuggingFace 上权重文件的真实大小,不是估算;KV cache 另算。
| 版本 | 参数量 | 显存 | 上下文 | 说明 |
|---|---|---|---|---|
| Qwen/Qwen3.6-35B-A3B(bf16 safetensors) | 35B 总参 / 约 3B 激活(A3B) | 权重 66.96GiB(71.9GB) | 262144 原生 | 官方全精度权重。单卡 80GB 装得下但余量紧张,官方 vLLM / SGLang 示例用的是 --tensor-parallel-size 2。 |
| Qwen/Qwen3.6-35B-A3B-FP8 | 35B-A3B | 权重 34.89GiB | 262144 原生 | 官方 FP8 量化,下载量比 bf16 还高。48GB 卡单卡可上,80GB 卡上可以把上下文和并发都拉满。 |
| unsloth Qwen3.6-35B-A3B-Q8_0 GGUF | 35B-A3B | 34.37GiB(UD-Q8_K_XL 35.81GiB) | 自行设定,OpenHands 建议 32768 起 | llama.cpp / LM Studio / Ollama 路线里最接近全精度的一档,适合做质量对照基线。 |
| unsloth Qwen3.6-35B-A3B-UD-Q5_K_M GGUF | 35B-A3B | 24.64GiB | 128K 可行(KV 约 2.5GiB) | 32GB 卡的甜点位。留出的余量足够把上下文开到 131072 还不 OOM。 |
| unsloth Qwen3.6-35B-A3B-UD-Q4_K_M GGUF | 35B-A3B | 20.61GiB(MXFP4_MOE 变体 20.22GiB) | 32768 推荐 | 官方「至少 24GB 显存」那条线就是照它划的。24GB 卡上装完只剩约 2.5GiB 余量,够 32K 上下文但别再开别的。 |
| unsloth Qwen3.6-35B-A3B-UD-IQ4_XS GGUF | 35B-A3B | 16.51GiB(UD-IQ3_S 12.74GiB / UD-Q2_K_XL 11.45GiB) | 32768 舒适 | 24GB 卡上真正跑得舒服的一档,能同时给视觉塔(mmproj-F16,0.84GiB)和长上下文留位置。 |
02 —
按你的用法选卡:NexGPU 实价对照
Qwen3.6-35B-A3B 用的是混合线性注意力,40 层里只有 10 层是全注意力(full_attention_interval=4),2 个 KV head × 256 head_dim,算下来 KV cache 约 20KiB/token —— 32K 上下文只要约 0.6GiB,128K 也才约 2.5GiB。这颗模型的显存几乎全是权重,选卡时按权重体积对号入座即可。
先跑通:单卡 GGUF Q4 摸底,验证 OpenHands 能不能正常调工具
RTX 4090 24GB$0.540/卡·时
UD-IQ4_XS 16.51GiB 或 UD-Q4_K_S 19.46GiB 装进去还剩足够 KV 余量,32K 上下文稳跑,一个下午的验证成本不到两美元。
日常开发:Q5/Q6 量化 + 131072 长上下文,让 Agent 一次读完整个仓库
RTX 5090 32GB$0.723/卡·时
UD-Q5_K_M 24.64GiB 加 128K 的约 2.5GiB KV 仍有余量,Blackwell 原生支持 FP4/FP8,MXFP4_MOE 那档也能吃满。
团队共用:官方 FP8 权重 + vLLM 多路并发,接 Agent Canvas 的自动化任务
A100 PCIE 80GB$0.824/卡·时
FP8 权重 34.89GiB 只占四成多,剩下 40GB 全给 KV 和并发批次,而它只比 48GB 的 A6000($0.817)贵 $0.007。
全精度基线:bf16 权重按官方示例做 TP=2,复现评测口径
RTX A6000 48GB × 2$0.817/卡·时(双卡 $1.634/时)
66.96GiB 权重切两半后每卡约 34GiB,正好对上官方 SGLang / vLLM 的 --tensor-parallel-size 2 与 --context-length 131072 示例。
03 —
在 NexGPU 上把 OpenHands 跑起来
四步:拉权重 → 起 OpenAI 兼容端点 → 起 Agent Canvas → 填 LLM 设置。全程不超过一杯咖啡的时间。
- 01
1. 开一台带 vLLM 的实例,拉官方 FP8 权重
在 console.nexgpu.net 选 A100 PCIE 80GB,镜像直接挑预置的 vLLM(2000+ 预置镜像里有 PyTorch、vLLM、Ubuntu CLI 等,不用自己装 CUDA)。34.89GiB 的 FP8 权重在千兆节点上几分钟就下完,落到实例存储上。
huggingface-cli download Qwen/Qwen3.6-35B-A3B-FP8 --local-dir /workspace/qwen3.6-35b-a3b-fp8 - 02
2. 起一个 OpenAI 兼容端点
OpenHands 走的是 OpenAI 协议,所以 vLLM、SGLang、Ollama、LM Studio 都行。--enable-prefix-caching 对 Agent 场景收益极大:系统提示词和工具定义每轮都重复,缓存命中后首 token 延迟明显下降。想再快可以试 Snowflake 的 ArcticInference,用 suffix 投机解码在部分场景能到 2 倍。
vllm serve /workspace/qwen3.6-35b-a3b-fp8 --served-model-name Qwen3.6-35B-A3B --host 0.0.0.0 --port 8000 --api-key mykey --enable-prefix-caching - 03
3. 起 Agent Canvas
注意端口:Agent Canvas 镜像内部也监听 8000,和 vLLM 撞车,映射到 8080 上避开。PROJECTS_PATH 指向你要让 Agent 改的代码目录 —— 这一步在租来的实例上做,比在自己笔记本上挂 docker.sock 安全得多,跑砸了销毁重开就行。
export PROJECTS_PATH=$HOME/projects && mkdir -p $PROJECTS_PATH $HOME/.openhands && docker run -it --rm -p 8080:8000 -v $HOME/.openhands:/home/openhands/.openhands -v $PROJECTS_PATH:/projects ghcr.io/openhands/agent-canvas:1.15.0 - 04
4. 在 LLM 设置里指向你自己的端点
打开 UI,进 LLM 设置,点「see advanced settings」并打开 Advanced 开关。Custom Model 填 openai/Qwen3.6-35B-A3B(前缀 openai/ 不能省),Base URL 填端点地址,API Key 填你启动 vLLM 时给的 mykey。上下文务必 ≥22000,推荐 32768 —— 这是 OpenHands 本地部署最常见的翻车点。若走 SDK 而不是 UI,pip 装三个包直接写脚本也行。
pip install openhands-sdk openhands-tools openhands-agent-server
一个八人后端组自托管 OpenHands,一个月要花多少
场景:用 Agent Canvas 挂 automation 做依赖升级和自动 code review,工作日每天开机 10 小时,跑 A100 PCIE 80GB + 官方 FP8 权重。算术摊开:算力 220 小时(10 小时 × 22 个工作日)× $0.824 = $181.28;存储放 FP8 权重约 37.5GB、再备一份 Q4 GGUF 约 22GB、加上 Docker 镜像与沙箱层,按 100GB 算,100 × $0.414 = $41.40(注意:实例停了算力就停止计费,存储要销毁才停);出网 300GB × $0.0081 = $2.43。合计约 $225.11/月,摊到 8 个人是每人每月不到 $29。而在此之前,你完全可以先花 $0.81(RTX 4090 24GB $0.540 × 1.5 小时)跑一遍 UD-IQ4_XS,确认 Agent 真的会调工具、会改文件,再决定要不要上 80GB 卡。按秒计费、无最低消费、无开通费、无配额申请,验证失败的成本几乎为零。
04 —
