Quick start – step by step
Pipe v0.50.5
Try it without a server
No spare server, or you want to see how Pipe works first? On your own computer with Docker:
git clone https://github.com/Kvmyk/pipe && cd pipe
LLM_PROVIDER=gemini LLM_API_KEY=... python3 sandbox/run.py try --scenario nginx-502
pipe --no-tunnel --local-port 7390 # or: pipe web --no-tunnel --local-port 7390
This starts a container that pretends to be a small server with a shop (nginx and an app), with Pipe inside. With --scenario the server starts broken: nginx-502 (wrong port in nginx), app-down (the app won't start), static-403 (wrong permissions), disk-hog (a forgotten big log). Ask Pipe for help and watch it look for the cause, ask for approval and take backups. Without a key the sandbox still starts, and Pipe then runs without a model. Stop it with docker rm -f pipe-sandbox.
The same scenarios are used to evaluate models: python3 sandbox/run.py eval runs each one, approves every proposed change and checks whether the server was really fixed (details: sandbox/README.md).
Prerequisites
- On the server – the agent backend running
- On your laptop – Python 3.11+ and SSH access
A shorter way: install the client (step 2, you can skip the server address) and type pipe web. The page asks what you want to do and sets Pipe up itself on this computer (Docker) or on your server (address and an SSH password or key). Steps 1 and 3 then happen on their own.
Step 1: Start the backend on the server
Log in to the server over SSH and run:
git clone https://github.com/Kvmyk/pipe
cd pipe
sudo bash scripts/install-server.sh # or --mode native (without Docker), --lang pl for Polish
The wizard asks for the LLM provider and API key, fetches the current list of models, checks that the chosen model supports tool calling, and writes backend/.env. No key? Pick Google Gemini – you can create a free key at https://aistudio.google.com/apikey (on the free tier Google may learn from your prompts, so on production enable billing). You can also pick No model: Pipe watches the server and sends alerts and reports, and nothing leaves the server; you turn chat on later (backend.md).
The script installs Docker (if it is missing) and starts the backend. The same by hand: python3 -m backend.configure && cd backend && docker compose up -d --build.
Check that it works:
cd backend && docker compose logs vps-agent
# Should show: [VPS Agent] Server ready.
You can create a new cloud server with Pipe on it right away – cloud-init. Kubernetes: deploy/kubernetes.
Step 2: Install the CLI on your laptop
git clone https://github.com/Kvmyk/pipe
cd pipe
Windows (PowerShell)
.\install.ps1
# The script asks for the server address, e.g. root@server.example.com
Linux / macOS (bash/zsh)
bash install.sh
# The script asks for the server address, e.g. root@server.example.com
The script:
- installs the Python dependencies (
rich) - adds a
pipefunction to your terminal profile - from then on, typing
pipein any terminal is enough
Step 3: Connect to the agent
pipe
The CLI automatically:
- Sets up the SSH tunnel (asks for a password if needed)
- Connects to the agent on the server
- Waits for your requests
To begin: /map (a diagram of what runs on the server) and /server (the agent explores the server and writes down what it learned in SERVER.md and DIRECTORY).
Example session
pipe Autonomous AI agent for managing a Linux server
server root@server.example.com
commands /status /report /changes /map /server /skills /help /exit
Connected to the agent on root@server.example.com
──────────────────────────────────────────────────────────────────────
› how much free disk space do I have?
The disk is 79% full -- about 4.2 GB left.
The largest directories are /var/log (1.1 GB) and /home (2.3 GB).
Do you want to clean up the logs? (`journalctl --vacuum-time=7d`)
› show nginx errors from the last hour
› restart nginx
╭─ I need your approval ─────────────────────────────────────────────╮
│ │
│ $ systemctl restart nginx │
│ │
│ Safety fuse │
│ ✓ check before nginx -t │
│ (failure = I won't run it) │
│ ✓ verify after nginx service active │
│ sites that work now must │
│ still work after the change │
╰──────────────────────────────────────────────────────────────────────╯
Run it? [y/n] (n): y
✓ Approved — running...
nginx restarted, verification passed.
› exit
Goodbye!
The command in the panel is exactly what will run. Below it is the safety-fuse plan: what Pipe checks before and after the change (details: Changes with a safety fuse).
pipe shortcut options
You can also pass extra options:
pipe --ssh-port 2222 # non-standard SSH port
pipe --key ~/.ssh/id_rsa # a specific SSH key
pipe --session my-session # keep the session history
pipe --lang pl # Polish CLI messages
Problems
| Problem | Solution |
|---|---|
| The agent doesn't answer / model error | python3 -m backend.configure --check checks the key, the model and tool calling |
| "Model ... is not on the list" in the logs | The model was retired, pick a new one: python3 -m backend.configure |
| The SSH tunnel doesn't respond | Check that the backend runs: docker logs vps-agent on the server |
| No 'ssh' command | Windows: install OpenSSH Client (Settings → Apps → Optional features) |
| SSH asks for a password every time | Add an SSH key: ssh-copy-id user@server |