Spring til indhold

Løsninger · Kodeagenter

En VPS til OpenHands

OpenHands er en autonom kodeagent: giv den et repository og en opgave, så redigerer, kører, tester og åbner den pull requests på egen hånd med den model, du vælger, bag en API-nøgle. Dens egen README siger, at den mest effektive måde at køre den på er på en server i skyen, og dens egen advarsel siger, at agenten har fuld adgang til den maskine, den kører på. Begge peger på samme svar: en maskine, der ikke er nogens bærbare. Projektets serverguide kalder 2 vCPU og 4 GB rigeligt til én bruger; BD-8 til $12.90 om måneden giver det dobbelte for mindre end 4 GB-maskinerne andre steder.

Hvad den kræver

Software fra dokumentationen, størrelser mærket efter kilde

Softwaren og sikkerhedsopsætningen kommer fra projektets egen dokumentation. Hvor projektet ikke oplyser hardwarekrav, står det ved størrelserne, hvis tal de er.

Fra OpenHands' README, SELF_HOSTING.md og dokumentation

  • "2 vCPU / 4 GB RAM er rigeligt til en enkelt bruger" (projektets VM-guide). Dokumentationen kræver "en moderne processor og mindst 4GB RAM".
  • Installation: Node.js 24 eller nyere og uv, derefter npx @openhands/agent-canvas --public. Én kommando starter agentserveren, automatiseringsbackenden og webappen bag en ingress på 127.0.0.1:8000.
  • Sæt LOCAL_BACKEND_API_KEY før første start: i public-tilstand skal hvert API-kald indeholde den, og webappen beder om den før alt andet. Bloker alt undtagen SSH i firewallen først; guiden siger, at det skal ske, før agenten overhovedet kører.
  • En API-nøgle fra en modeludbyder: dokumentationen siger, at OpenHands kræver en til de fleste modeller. Docker er valgfrit og kun nødvendigt, hvis du vil have hver samtale isoleret i sin egen container. Ingen GPU, medmindre du selv hoster modellen.

Størrelser (projektets tal, derefter vores)

Dimensionering efter anvendelse
ArbejdsbyrdevCPURAM
Én bruger, hostede modeller, agent direkte på værten (officielt)Guidens eget tal. Agentserveren kører direkte på maskinen, så maskinen er sandkassen.24 GB
En eller to brugere, en Docker-sandkasse pr. samtaleVores. Hver samtale får en container; installation af afhængigheder, builds og testsuiter kører inde i dem.48 GB
Et teams delte agentserver, flere agenter ad gangenVores. Parallelle agenter på parallelle repositories, der hver kompilerer noget.824 GB

De planer, der passer

5 maskiner, aktuelt prissat

Billigste passende maskine først. Priserne er dagens, pr. måned, hentet fra kataloget.

  • BD-8$12.90/md.

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

    Billigst med plads til at bygge og teste. 4 vCPU, 8 GB, 100 GB og 32 TB trafik for mindre end 4 GB-maskinerne andre steder. Det dobbelte af guidens tal; testsuiter mærker kernerne.

  • U2-4-40$14.90/md.

    2 vCPU · 4 GB · 40 GB disk · Unmetered

    Præcis guidens tal, unmetered, Istanbul. 2 vCPU / 4 GB / 40 GB. Én bruger, hostede modeller, agenten direkte på værten. Umålt trafik til kloninger og pakkeinstallationer.

  • BD-24$31.90/md.

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

    8 vCPU / 24 GB til et teams agentserver. Flere agenter ad gangen, Docker-sandkasser, automatiseringsbackenden efter en tidsplan.

  • C2-4-80$37.90/md.

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

    Guidens tal, i snesevis af byer. 2 vCPU / 4 GB / 80 GB. Vælg den for byens skyld; hold dig til én samtale ad gangen.

  • C4-8-160$75.90/md.

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

    4 vCPU / 8 GB / 160 GB, i snesevis af byer. Den komfortable størrelse med disk til mange checkouts og Docker-images.

Der findes endnu ingen opstartsskabelon til OpenHands: installationen er de fem trin nedenfor, som du selv skriver, i den rækkefølge projektets egen guide angiver. Firewall først, nøgle dernæst, agent til sidst.

Installationen

Fem trin i den rækkefølge, OpenHands' egen guide angiver

Guiden er tydelig om, at firewallen kommer før første start, fordi agentserveren har frit løb på maskinen, og kun firewallen og nøglen står mellem den og en fremmed.

  1. Firewall først. ufw allow OpenSSH && ufw --force enable Intet indgående undtagen SSH. Ingress (8000), agentserveren (18000), automatiseringsbackenden (18001) og den statiske server (3001) må ikke kunne nås udefra; guiden siger det med de ord.
  2. Node.js 24 og 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 kører agentserveren; guiden installerer det med enkeltlinje-installationsprogrammet fra astral.sh.
  3. Generér nøglen, start i public-tilstand. export LOCAL_BACKEND_API_KEY=$(openssl rand -base64 32); echo $LOCAL_BACKEND_API_KEY npx @openhands/agent-canvas --public Kopiér nøglen et sikkert sted hen, før du fortsætter; public-tilstand betyder, at webappen vil bede dig om den. Til længerevarende drift: guidens systemd-unit i /etc/systemd/system/agent-canvas.service med Environment=LOCAL_BACKEND_API_KEY=…, derefter systemctl enable --now agent-canvas.
  4. Tilgå den over SSH, tilføj modellen. ssh -N -L 8000:127.0.0.1:8000 root@your-server derefter http://127.0.0.1:8000, indsæt nøglen, derefter Settings: vælg LLM-udbyder og model, og indsæt udbyderens API-nøgle. Start en samtale på et repository.
  5. Eventuelt et domæne. Peg en A-record mod serveren, åbn 80 og 443, apt-get install -y nginx certbot python3-certbot-nginx og guidens nginx-blok, der proxyer til 127.0.0.1:8000 med WebSocket-headers; certbot --nginx -d canvas.example.com --redirect henter certifikatet. Hvis 443 skal være åben for alle, siger guiden, at nøglen er dit primære forsvar, så gør den lang og hold den hemmelig.

Helt ærligt

Det, vi selv ville købe

Guiden siger, at 2 vCPU og 4 GB er rigeligt til én bruger. Køb 8 GB-maskinen, der koster mindre end 4 GB-maskinerne, og lad agenten kompilere.

Til én persons kodeagent

BD-8 · $12.90/md.

4 vCPU, 8 GB og 100 GB til $12.90: agentserveren, nogle få udtjekkede repositories, deres afhængighedstræer og en testsuite, der kører, mens De ser på, med hukommelse til overs, hvis De slår Docker-sandboxes til. Modellen ligger andetsteds bag en API-nøgle, så denne maskine har aldrig brug for en GPU, og den regning, der betyder noget, er udbyderens. C2-4-80 til $37.90 er guidens præcise tal i snesevis af byer, hvis byen betyder mere end kernerne.

Spørgsmål

Hvad folk spørger om, før de køber.

Hvor meget RAM kræver OpenHands?
Projektets egen VM-guide siger, at 2 vCPU og 4 GB RAM er rigeligt til en enkelt bruger, og dokumentationen anbefaler en moderne processor og mindst 4 GB. Det dækker agentserveren, automatiseringsbackenden og webappen med hostede modeller. Det, agenten derefter laver (kloner repositories, installerer afhængigheder, kører builds og tests), er almindeligt udviklerarbejde og kræver almindelige udviklerressourcer, og derfor har den billigste maskine på denne side 4 kerner og 8 GB i stedet for præcis minimum.
Hvorfor køre det på en server i stedet for min bærbare?
To grunde fra selve README'en. Den siger, at den mest effektive måde at køre OpenHands på er på en server i skyen, så agenter bliver ved med at køre, når din bærbare er lukket, og kan startes fra Slack, GitHub eller en webhook. Og den advarer om, at agentserveren kører direkte på maskinen med fuld adgang til filsystem, shell og netværk. En maskine, der ikke indeholder andet end agenten og de repositories, den arbejder på, er den ærlige måde at give den den adgang.
Kræver den en API-nøgle, eller kan den bruge en lokal model?
Dokumentationen siger, at OpenHands kræver en API-nøgle for at få adgang til de fleste sprogmodeller, og nævner de hostede udbydere, den anbefaler. En lokal model via Ollama eller en lignende server understøttes, men dokumentationen tilføjer, at effektivt agentarbejde med lokale modeller kræver kraftig hardware og modeller, der er tunet til at følge instruktioner. I praksis: en hostet model og en API-nøgle på denne maskine, og hvis du vil have en lokal model, en separat modelserver dimensioneret ud fra Ollama-siden eller GPU-linjen.
Hvad gør --public og LOCAL_BACKEND_API_KEY?
Uden --public indsætter appen for nemheds skyld sin sessionsnøgle i websiden, hvilket README kalder usikkert for en udrulning, der kan nås offentligt. Med --public er nøglen ikke i siden: alle, der åbner webappen, skal først indsætte LOCAL_BACKEND_API_KEY, og hvert kald til API'et skal medsende den. Guidens rækkefølge er firewall, så nøgle, så start, og den genererer nøglen med openssl rand -base64 32.
Har jeg brug for Docker?
Ikke til standardinstallationen, som kører agentserveren direkte på værten med Node 24 og uv. Docker er til de isolerede tilstande: at køre hele stakken fra projektets image eller give hver samtale sin egen container, så flere agenter kan arbejde samtidig uden at dele filsystem. README'en bemærker, at sandkassen isolerer samtalernes kørsel, ikke hele appen. Vil du have det, så installér Docker og sæt budget af til 8 GB-rækken eller mere.
Hvilke porte er involveret?
Alt binder til loopback: ingress-proxyen på 127.0.0.1:8000 router til den statiske server på 3001, agentserveren på 18000 og automatiseringsbackenden på 18001. Du når 8000 via en SSH-tunnel eller gennem nginx på 443, hvis du tilføjer et domæne. Ingen af de fire porte bør være åbne i firewallen; guiden nævner dem med nummer som dem, der ikke må kunne nås udefra.