İçeriğe geç

Çözümler · Kodlama ajanları

OpenHands için VPS

OpenHands otonom bir kodlama ajanıdır: ona bir depo ve bir görev verirsiniz; seçtiğiniz model bir API anahtarıyla arkasındayken kendi başına düzenler, çalıştırır, test eder ve pull request açar. Kendi README'si onu çalıştırmanın en güçlü yolunun buluttaki bir sunucu olduğunu söyler; kendi uyarısı ise ajanın çalıştığı makineye tam erişimi olduğunu belirtir. İkisi de aynı cevaba işaret eder: kimsenin dizüstü bilgisayarı olmayan bir makine. Projenin sunucu rehberi tek kullanıcı için 2 vCPU ve 4 GB'ı fazlasıyla yeterli bulur; BD-8, aylık $12.90 fiyatıyla bunun iki katını başka yerlerdeki 4 GB makinelerden daha ucuza sunar.

Gereksinimleri

Yazılım belgelerden, boyutlar kaynağıyla etiketli

Yazılım ve güvenlik yaklaşımı, projenin kendi belgelerinden alınmıştır. Projenin donanım değeri yayımlamadığı durumlarda boyutlar, kime ait olduklarını belirtir.

OpenHands README, SELF_HOSTING.md ve belgelerinden

  • “Tek bir kullanıcı için 2 vCPU / 4 GB RAM fazlasıyla yeterli” (projenin VM rehberi). Dokümantasyon “modern bir işlemci ve en az 4GB RAM” istiyor.
  • Kurulum: Node.js 24 veya üzeri ve uv, ardından npx @openhands/agent-canvas --public. Tek bir komut ajan sunucusunu, otomasyon arka ucunu ve web uygulamasını 127.0.0.1:8000 üzerindeki bir ingress arkasında başlatır.
  • İlk başlatmadan önce LOCAL_BACKEND_API_KEY değerini ayarlayın: public modda her API çağrısı bunu taşımalıdır ve web uygulaması her şeyden önce bunu ister. Önce SSH dışındaki her şeyi güvenlik duvarıyla kapatın; rehber bunun ajan hiç çalışmadan önce yapılmasını söyler.
  • Bir model sağlayıcısından API anahtarı: belgelere göre OpenHands çoğu model için buna ihtiyaç duyar. Docker isteğe bağlıdır ve yalnızca her konuşmanın kendi konteynerinde izole çalışmasını istiyorsanız gerekir. Modeli kendiniz barındırmadığınız sürece GPU gerekmez.

Boyutlar (önce projenin değeri, sonra bizimki)

İş yüküne göre boyutlandırma
İş yüküvCPURAM
Tek kullanıcı, barındırılan modeller, ajan doğrudan sunucuda (resmi)Rehberin kendi değeri. Ajan sunucusu doğrudan makinede çalışır, dolayısıyla makinenin kendisi sandbox'tır.24 GB
Bir veya iki kullanıcı, konuşma başına bir Docker sandboxBizim önerimiz. Her konuşma bir konteyner alır; bağımlılık kurulumları, derlemeler ve test paketleri bunların içinde çalışır.48 GB
Bir ekibin paylaşımlı ajan sunucusu, aynı anda birden fazla ajanBizim önerimiz. Paralel depolarda paralel ajanlar, her biri bir şey derliyor.824 GB

Uygun planlar

5 makine, canlı fiyatlı

Uygun en ucuz makine önce. Fiyatlar bugünkü aylık fiyatlardır, katalogdan okunur.

  • BD-8$12.90/ay

    4 vCPU · 8 GB · 100 GB disk · 32 TB

    Derleme ve test için alanı olan en ucuz seçenek. 4 vCPU, 8 GB, 100 GB ve 32 TB trafik, başka yerlerdeki 4 GB makinelerden daha ucuza. Rehberdeki değerin iki katı; test paketleri çekirdek farkını hisseder.

  • U2-4-40$14.90/ay

    2 vCPU · 4 GB · 40 GB disk · Unmetered

    Tam olarak rehberdeki değer, Unmetered, İstanbul. 2 vCPU / 4 GB / 40 GB. Tek kullanıcı, barındırılan modeller, ajan doğrudan sunucuda. Klonlar ve paket kurulumları için ölçülmeyen trafik.

  • BD-24$31.90/ay

    8 vCPU · 24 GB · 300 GB disk · 32 TB

    Bir ekibin ajan sunucusu için 8 vCPU / 24 GB. Aynı anda birden fazla ajan, Docker sandbox'ları, zamanlanmış çalışan otomasyon arka ucu.

  • C2-4-80$37.90/ay

    2 vCPU · 4 GB · 80 GB disk · 3 TB

    Rehberdeki değer, onlarca şehirde. 2 vCPU / 4 GB / 80 GB. Şehir için seçin; aynı anda tek konuşma yürütün.

  • C4-8-160$75.90/ay

    4 vCPU · 8 GB · 160 GB disk · 3 TB

    4 vCPU / 8 GB / 160 GB, onlarca şehirde. Çok sayıda checkout ve Docker imajı için disk alanı olan rahat boyut.

OpenHands için henüz bir başlangıç hazır ayarı yok: kurulum, aşağıdaki beş adımı projenin kendi rehberindeki sırayla sizin yazmanızdır. Önce güvenlik duvarı, ikinci olarak anahtar, üçüncü olarak ajan.

Kurulum

OpenHands'in kendi rehberindeki sırayla beş adım

Rehber, güvenlik duvarının ilk başlatmadan önce gelmesi gerektiğini açıkça belirtir, çünkü ajan sunucusu makinede istediğini yapabilir ve onunla bir yabancı arasında yalnızca güvenlik duvarı ve anahtar vardır.

  1. Önce güvenlik duvarı. ufw allow OpenSSH && ufw --force enable SSH dışında gelen hiçbir bağlantı yok. Ingress (8000), ajan sunucusu (18000), otomasyon arka ucu (18001) ve statik sunucu (3001) dışarıdan erişilebilir olmamalıdır; rehber bunu bu sözcüklerle söyler.
  2. Node.js 24 ve 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 | sh uv ajan sunucusunu çalıştırır; rehber onu astral.sh'deki tek satırlık yükleyiciyle kurar.
  3. Anahtarı oluşturun, public modda başlatın. export LOCAL_BACKEND_API_KEY=$(openssl rand -base64 32); echo $LOCAL_BACKEND_API_KEY npx @openhands/agent-canvas --public Devam etmeden önce anahtarı güvenli bir yere kopyalayın; public mod, web uygulamasının sizden bu anahtarı isteyeceği anlamına gelir. Uzun süreli çalıştırma için rehberdeki systemd birimini /etc/systemd/system/agent-canvas.service konumunda, içinde Environment=LOCAL_BACKEND_API_KEY=… ile oluşturun, ardından systemctl enable --now agent-canvas.
  4. SSH üzerinden erişin, modeli ekleyin. ssh -N -L 8000:127.0.0.1:8000 root@your-server ardından http://127.0.0.1:8000, anahtarı yapıştırın, sonra Settings: LLM sağlayıcısını ve modeli seçin ve o sağlayıcının API anahtarını yapıştırın. Bir depo üzerinde konuşma başlatın.
  5. İsteğe bağlı olarak bir alan adı. Bir A kaydını sunucuya yönlendirin, 80 ve 443'ü açın, apt-get install -y nginx certbot python3-certbot-nginx ve rehberdeki, WebSocket başlıklarıyla 127.0.0.1:8000'e proxy yapan nginx bloğunu ekleyin; certbot --nginx -d canvas.example.com --redirect sertifikayı alır. 443'ün herkese açık olması gerekiyorsa, rehbere göre birincil savunmanız anahtardır; bu yüzden onu uzun ve gizli tutun.

Dürüstçe

Gerçekte ne alırdık

Rehber, tek kullanıcı için 2 vCPU ve 4 GB'ın fazlasıyla yeterli olduğunu söyler. 4 GB'lık makinelerden daha ucuz olan 8 GB'lık makineyi alın ve ajanın derleme yapmasına izin verin.

Tek kişilik bir kodlama ajanı için

BD-8 · $12.90/ay

$12.90 karşılığında 4 vCPU, 8 GB ve 100 GB: ajan sunucusu, birkaç checkout edilmiş depo, bunların bağımlılık ağaçları ve siz izlerken çalışan bir test paketi; Docker sandbox'larını açarsanız da bellekte yer kalır. Model başka bir yerde, bir API anahtarının arkasındadır; bu yüzden bu makinenin hiçbir zaman GPU'ya ihtiyacı olmaz ve asıl önemli olan fatura sağlayıcınınkidir. Şehir çekirdeklerden daha önemliyse, $37.90 fiyatlı C2-4-80 onlarca şehirde rehberdeki rakamın tam karşılığıdır.

Sorular

Satın almadan önce sorulanlar.

OpenHands ne kadar RAM gerektirir?
Projenin kendi VM rehberi, tek kullanıcı için 2 vCPU ve 4 GB RAM'in fazlasıyla yeterli olduğunu söyler; belgeleri ise modern bir işlemci ve en az 4 GB önerir. Bu, barındırılan modellerle ajan sunucusunu, otomasyon arka ucunu ve web uygulamasını kapsar. Ajanın sonra yaptıkları, yani depoları klonlamak, bağımlılıkları kurmak, derleme ve testleri çalıştırmak, sıradan geliştirici işidir ve sıradan geliştirici kaynakları ister; bu yüzden bu sayfadaki en ucuz makinede tam alt sınır yerine 4 çekirdek ve 8 GB vardır.
Neden dizüstü bilgisayarım yerine bir sunucuda çalıştırmalıyım?
İki neden doğrudan README'den geliyor. README'ye göre OpenHands'i çalıştırmanın en güçlü yolu bulutta bir sunucu kullanmaktır; böylece dizüstü bilgisayarınız kapalıyken de ajanlar çalışmaya devam eder ve Slack, GitHub ya da bir webhook üzerinden tetiklenebilir. README ayrıca ajan sunucusunun doğrudan makine üzerinde, dosya sistemine, kabuğa ve ağa tam erişimle çalıştığı konusunda uyarır. Bu erişimi vermenin dürüst yolu, üzerinde yalnızca ajanın ve onun çalıştığı depoların bulunduğu bir makinedir.
API anahtarı gerekiyor mu, yoksa yerel bir model kullanabilir mi?
Belgelerine göre OpenHands çoğu dil modeline erişmek için bir API anahtarı gerektirir ve önerdiği barındırılan sağlayıcıları listeler. Ollama veya benzeri bir sunucu üzerinden yerel model desteklenir, ancak belgeler yerel modellerle etkili ajan çalışmasının yetenekli donanım ve talimat takibi için ayarlanmış modeller gerektirdiğini ekler. Pratikte: bu makinede barındırılan bir model ve bir API anahtarı; yerel model istiyorsanız Ollama sayfasında veya GPU serisinde boyutlandırılmış ayrı bir model sunucusu.
--public ve LOCAL_BACKEND_API_KEY ne işe yarar?
--public olmadan uygulama, kolaylık olsun diye oturum anahtarını web sayfasına yerleştirir; README bunu herkese açık erişilebilen bir kurulum için güvensiz olarak nitelendirir. --public ile anahtar sayfada yer almaz: web uygulamasını açan herkes önce LOCAL_BACKEND_API_KEY değerini yapıştırmalıdır ve API'ye yapılan her çağrı bu anahtarı taşımalıdır. Rehberdeki sıra önce güvenlik duvarı, sonra anahtar, sonra başlatmadır ve anahtar openssl rand -base64 32 ile oluşturulur.
Docker gerekli mi?
Varsayılan kurulum için gerekmez; bu kurulum ajan sunucusunu Node 24 ve uv ile doğrudan sunucuda çalıştırır. Docker izole modlar içindir: tüm yığını projenin imajından çalıştırmak veya her konuşmaya kendi konteynerini vererek birden fazla ajanın dosya sistemini paylaşmadan aynı anda çalışmasını sağlamak. README, sandbox'ın uygulamanın tamamını değil konuşma yürütmesini izole ettiğini belirtir. İstiyorsanız Docker'ı kurun ve 8 GB'lık satırı veya daha fazlasını hesaba katın.
Hangi portlar kullanılıyor?
Her şey loopback'e bağlanır: 127.0.0.1:8000 üzerindeki ingress proxy, 3001'deki statik sunucuya, 18000'deki ajan sunucusuna ve 18001'deki otomasyon arka ucuna yönlendirir. 8000'e bir SSH tüneli üzerinden veya bir alan adı eklerseniz 443 üzerinde nginx aracılığıyla erişirsiniz. Bu dört bağlantı noktasından hiçbiri güvenlik duvarında açık olmamalıdır; rehber bunları dışarıdan erişilememesi gerekenler olarak numaralarıyla listeler.