POST

OpenHands:9.2 万 star 的自主编码代理,在沙箱里自己写一晚上代码

给它一个 GitHub issue,它自己开容器、读代码、改代码、跑测试、提 PR。DeepSeek 能当它的脑子,但执行能力越强,越要管住。

前面几篇的智能体都在你的编辑器里工作。OpenHands(原 OpenDevin)换了个思路:它在一个独立容器里干活。

你给它一个任务,它开一个沙箱、把仓库拉进去、读代码、改、跑测试、反复直到完成。你可以像看直播一样看它操作。

9.2 万 star,地址:

https://github.com/All-Hands-AI/OpenHands

装

docker pull docker.all-hands.dev/all-hands-ai/runtime:0.30-nikolaik

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

(版本号会变,以官方 README 为准。)

打开 http://NAS地址:3000。

注意那个 -v /var/run/docker.sock:它让容器能在你的机器上开新容器。方便,但等于给了它很大的权限。只在自己信任的环境里跑。

接 DeepSeek

进设置 → LLM:

字段填什么
ProviderOpenAI 兼容 / Custom
Base URLhttps://api.deepseek.com/v1
API Keysk-...
Modeldeepseek-chat

保存后在首页选这个模型,然后给任务。

它怎么干活

给一个任务,比如:

修复 issue #42:用户上传超过 10 MB 的文件时,接口返回 500

它的循环是:

  1. 浏览仓库结构,读相关文件
  2. 猜测原因(可能是 nginx 限制、可能是代码里没校验)
  3. 改代码
  4. 跑测试
  5. 失败就回到 2

你能在界面里看到每一步的终端输出、文件修改、浏览器操作。

三个实际用途

修 GitHub issue:把 issue 内容粘进去,让它自己找原因。

写测试:给它一个模块,让它补测试并跑通。验证标准明确,成功率高。

跑通别人的项目:clone 下来,“帮我把这个项目在本机跑起来”,它会读 README、装依赖、改配置。

成本与风险

成本:这种循环可能跑几十轮,每轮都发上下文。DeepSeek 便宜,但一晚上也可能几块钱到几十块。设一个轮次上限(它的设置里有 max iterations)。

风险:它在沙箱里跑,但沙箱挂的是你的 docker socket,能起容器、能挂载目录。别在有重要数据的机器上不设防地跑。

质量:DeepSeek 在这个任务上的表现不如 Claude。简单的修 bug 能成,复杂重构容易绕圈。

会踩的坑

启动后 3000 打不开 镜像很大(几个 G),第一次拉很久。看 docker logs。

它一直卡在装依赖 沙箱网络受限。给它配代理,或者提前把依赖装进基础镜像。

任务描述太模糊 “优化这个项目"一定失败。“修 issue #42"成功率就高。给它可验证的目标。

跑了一晚上没结果 设 max iterations,比如 30 轮。到点停,你来看它卡在哪。

Windows 上 docker.sock 挂不上 在 WSL2 里跑,或者用它的云端版。

它适合谁

  • 有明确 issue、希望它自己修的;
  • 想看看"自主编程代理"到底能做到什么程度的;
  • 机器配置可以(8 GB 以上),且能接受沙箱权限的。

不适合:生产环境服务器(权限太大);期待它替代程序员的。

最后

OpenHands 代表的是这条路的最远端:人只给目标,过程全自动。

现在还远没到能放心用的程度。但它的形态已经很清楚——你会看到越来越多的"AI 在容器里干活,人只负责验收”。

先在小仓库上试,别一上来就给核心项目。

有问题留言。

👁 - 次浏览

留言

← 返回首页