auto picks for you
Your own exits first, then CommandAGI's: the same country, then the same continent, then the lowest measured round trip.
CommandAGI · commandagi.com/for/vpn-exits
An agent thread browses through a WireGuard exit node, so a site never sees your home address. Pick an exit, or let auto pick the nearest.
How a packet leaves
On Linux an agent thread runs in its own network namespace, and WireGuard is its only route. The coordinator holds public keys only.
CommandAGI's own account asked the coordinator for its exits. Each one had polled its netmap seconds before. CommandAGI's monitors read sites through them, and each read holds credits first (see credits). Overlay keys and public addresses are left out here.
Read by scripts/sites/case-studies.mjs; kept in case-studies/vpn-exits/stats.json in CommandAGI's Drive.
16:53:39.258 fsn-1 operator=commandagi DE · EU hetzner $0.0013/GB proxy: yes ok 16:53:37.787 hel-1 operator=commandagi FI · EU hetzner $0.0013/GB proxy: yes ok 16:53:43.523 nbg-1 operator=commandagi DE · EU hetzner $0.0013/GB proxy: yes ok
Exits as code
CommandAGI's exits are files in its own Drive: infra/vpn/<name>/exit.tsx. Ten are declared; three are on. make infra-plan compares the files with what the providers run.
// infra/vpn/fsn-1/exit.tsx
import { HetznerExit } from "../hetzner.tsx";
export default () => <HetznerExit name="fsn-1" region="fsn1" country="DE" continent="EU" size="cax11" maxMonthlyUsd={6.99} />;Your own exits first, then CommandAGI's: the same country, then the same continent, then the lowest measured round trip.
Once a thread has an exit, it never goes out another way. An exit that refuses the thread stops the turn.
Hetzner's price, $0.0013 a GB with headroom for the exchange rate, held from your credits before the bytes move.
Make an exit grant for the agent in settings → network, and its thread goes out through it.