Giải pháp · Agent lập trình
VPS cho OpenHands
OpenHands là một agent lập trình tự động: giao cho nó một repository và một nhiệm vụ, nó tự sửa mã, chạy, kiểm thử và mở pull request, với mô hình bạn chọn thông qua API key. README của chính dự án nói cách mạnh nhất để chạy nó là trên một máy chủ đám mây, và cảnh báo của chính dự án nói agent có toàn quyền truy cập máy mà nó chạy. Cả hai đều dẫn tới cùng một câu trả lời: một máy không phải laptop của ai cả. Hướng dẫn máy chủ của dự án coi 2 vCPU và 4 GB là dư dả cho một người dùng; BD-8 giá $12.90 mỗi tháng cho gấp đôi mức đó với giá thấp hơn các máy 4 GB khác.
Những gì nó cần
Phần mềm theo tài liệu chính thức, cấu hình ghi rõ nguồn
Phần mềm và cách thiết lập bảo mật lấy từ tài liệu của chính dự án. Khi dự án không công bố thông số phần cứng, cấu hình sẽ ghi rõ con số đó là của ai.
Từ README, SELF_HOSTING.md và tài liệu của OpenHands
- “2 vCPU / 4 GB RAM là dư dả cho một người dùng” (hướng dẫn VM của dự án). Tài liệu yêu cầu “một bộ xử lý hiện đại và tối thiểu 4GB RAM”.
- Cài đặt: Node.js 24 trở lên và uv, rồi
npx @openhands/agent-canvas --public. Một lệnh khởi động agent server, backend tự động hóa và ứng dụng web phía sau ingress trên 127.0.0.1:8000. - Đặt
LOCAL_BACKEND_API_KEYtrước lần khởi động đầu tiên: ở chế độ public, mọi lệnh gọi API phải kèm key và ứng dụng web hỏi key trước mọi thứ khác. Chặn mọi thứ trừ SSH trên tường lửa trước; hướng dẫn nói phải làm việc đó trước khi agent chạy lần nào. - Một API key từ nhà cung cấp mô hình: tài liệu nói OpenHands cần key cho hầu hết các mô hình. Docker là tùy chọn và chỉ cần nếu bạn muốn mỗi cuộc hội thoại chạy trong sandbox container riêng. Không cần GPU trừ khi bạn tự host mô hình.
Cấu hình (con số của dự án, rồi của chúng tôi)
| Khối lượng công việc | vCPU | RAM |
|---|---|---|
| Một người dùng, mô hình được host, agent trên máy chủ (chính thức)Con số của chính hướng dẫn. Agent server chạy trực tiếp trên máy, nên chính máy là sandbox. | 2 | 4 GB |
| Một hoặc hai người dùng, mỗi cuộc hội thoại một sandbox DockerCủa chúng tôi. Mỗi cuộc hội thoại có một container; việc cài dependency, build và bộ kiểm thử đều chạy bên trong. | 4 | 8 GB |
| Máy chủ agent dùng chung của một nhóm, nhiều agent cùng lúcCủa chúng tôi. Nhiều agent song song trên nhiều repository, mỗi agent đang biên dịch gì đó. | 8 | 24 GB |
Các gói phù hợp
5 máy, giá trực tiếp
Máy phù hợp rẻ nhất trước. Giá là giá hôm nay, theo tháng, lấy từ danh mục.
- BD-8$12.90/tháng
4 vCPU · 8 GB · 100 GB ổ đĩa · 32 TB
Rẻ nhất mà vẫn đủ chỗ để build và kiểm thử. 4 vCPU, 8 GB, 100 GB và 32 TB lưu lượng, rẻ hơn các máy 4 GB khác. Gấp đôi con số của hướng dẫn; bộ kiểm thử sẽ tận dụng được số nhân.
- U2-4-40$14.90/tháng
2 vCPU · 4 GB · 40 GB ổ đĩa · Unmetered
Đúng con số của hướng dẫn, unmetered, Istanbul. 2 vCPU / 4 GB / 40 GB. Một người dùng, mô hình được host, agent chạy trên máy chủ. Lưu lượng không tính cho việc clone và cài gói.
- BD-24$31.90/tháng
8 vCPU · 24 GB · 300 GB ổ đĩa · 32 TB
8 vCPU / 24 GB cho máy chủ agent của một nhóm. Nhiều agent cùng lúc, sandbox Docker, backend tự động hóa chạy theo lịch.
- C2-4-80$37.90/tháng
2 vCPU · 4 GB · 80 GB ổ đĩa · 3 TB
Con số của hướng dẫn, tại hàng chục thành phố. 2 vCPU / 4 GB / 80 GB. Chọn vì thành phố; mỗi lần chỉ chạy một cuộc hội thoại.
- C4-8-160$75.90/tháng
4 vCPU · 8 GB · 160 GB ổ đĩa · 3 TB
4 vCPU / 8 GB / 160 GB, tại hàng chục thành phố. Cấu hình thoải mái với ổ đĩa cho nhiều bản checkout và image Docker.
Hiện chưa có preset khởi động cho OpenHands: việc cài đặt là năm bước dưới đây, do bạn tự gõ, theo thứ tự trong hướng dẫn của chính dự án. Tường lửa trước, key thứ hai, agent thứ ba.
Cài đặt
Năm bước, theo đúng thứ tự trong hướng dẫn của chính OpenHands
Hướng dẫn nói rõ tường lửa phải có trước lần khởi động đầu tiên, vì agent server có toàn quyền trên máy và chỉ tường lửa cùng key đứng giữa nó và người lạ.
- Tường lửa trước tiên.
ufw allow OpenSSH && ufw --force enableKhông cho gì vào ngoài SSH. Ingress (8000), agent server (18000), backend tự động hóa (18001) và static server (3001) không được truy cập được từ bên ngoài; hướng dẫn nói rõ đúng như vậy. - Node.js 24 và uv.
apt-get install -y curl git curl -fsSL https://deb.nodesource.com/setup_24.x | bash - && apt-get install -y nodejs curl -LsSf https://astral.sh/uv/install.sh | shuv chạy agent server; hướng dẫn cài nó bằng trình cài đặt một dòng từ astral.sh. - Tạo key, khởi động ở chế độ public.
export LOCAL_BACKEND_API_KEY=$(openssl rand -base64 32); echo $LOCAL_BACKEND_API_KEY npx @openhands/agent-canvas --publicHãy sao chép key vào nơi an toàn trước khi tiếp tục; chế độ public nghĩa là ứng dụng web sẽ hỏi bạn key này. Để chạy lâu dài, dùng unit systemd của hướng dẫn tại/etc/systemd/system/agent-canvas.servicecóEnvironment=LOCAL_BACKEND_API_KEY=…bên trong, rồisystemctl enable --now agent-canvas. - Truy cập qua SSH, thêm mô hình.
ssh -N -L 8000:127.0.0.1:8000 root@your-serverrồi mở http://127.0.0.1:8000, dán key, sau đó vào Settings: chọn nhà cung cấp LLM và mô hình rồi dán API key của nhà cung cấp đó. Bắt đầu một cuộc hội thoại trên một repository. - Tùy chọn: một tên miền. Trỏ bản ghi A về máy chủ, mở cổng 80 và 443,
apt-get install -y nginx certbot python3-certbot-nginx, và khối nginx của hướng dẫn để proxy tới 127.0.0.1:8000 với header WebSocket;certbot --nginx -d canvas.example.com --redirectlấy chứng chỉ. Nếu 443 phải mở ra toàn thế giới, hướng dẫn nói key là lớp phòng vệ chính của bạn, vì vậy hãy giữ nó dài và bí mật.
Nói thẳng
Gói chúng tôi thực sự sẽ mua
Hướng dẫn nói 2 vCPU và 4 GB là dư dả cho một người dùng. Hãy mua máy 8 GB có giá thấp hơn các máy 4 GB và để agent biên dịch thoải mái.
Cho agent lập trình của một người
BD-8 · $12.90/tháng
4 vCPU, 8 GB và 100 GB với giá $12.90: máy chủ agent, vài repository đã checkout, cây phụ thuộc của chúng và một bộ kiểm thử chạy trong khi bạn theo dõi, vẫn còn dư bộ nhớ nếu bạn bật Docker sandbox. Mô hình nằm ở nơi khác, sau một API key, nên máy này không bao giờ cần GPU và hóa đơn đáng kể là của nhà cung cấp mô hình. C2-4-80 với giá $37.90 đúng bằng con số trong hướng dẫn, có ở hàng chục thành phố, nếu thành phố quan trọng với bạn hơn số nhân.
Câu hỏi