2. Connect a model
Veltro is an agent, so it needs a model to think with. Nothing in the rest of this quick start works until one is connected.
Which route you take depends on how you installed.
Windows — already done
Section titled “Windows — already done”setup-windows.bat configures a backend as part of extraction. If you ran it
in step 1, skip ahead to Run the tour.
macOS and Linux, from a release — the first-run wizard
Section titled “macOS and Linux, from a release — the first-run wizard”InferNode notices that no model is configured and Veltro opens with a greeting and a dialogue titled LLM Setup in the conversation zone:
Choose how to connect to an AI model:
Three buttons. Pick what matches what you have.
Remote API
Section titled “Remote API”You have an Anthropic API key. The Keyring app opens:
- Select API Key
- Enter
anthropicas the service - Paste your key
Local model
Section titled “Local model”You run Ollama or another OpenAI-compatible server. Settings opens on the LLM Service panel:
- Leave Mode on
Local - Choose the Ollama backend
- Set the URL, e.g.
http://localhost:11434/v1
Ollama must be running before you start InferNode — ollama serve, or
sudo systemctl start ollama.
Remote 9P
Section titled “Remote 9P”Another machine on your network is running InferNode and exporting /mnt/llm.
Settings opens on LLM Service:
- Switch Mode to
Remote (9P) - Enter that machine’s dial address:
tcp!host!port
The client needs no model, no API key, and no GPU — it mounts someone else’s model as a directory. This is the arrangement in Headless InferNode: mounting an LLM as a filesystem.
From a clone — the guided script
Section titled “From a clone — the guided script”If you built from source rather than downloading a release, there is a guided setup that does the whole thing before you ever launch:
./setup-macos.sh # or ./setup-linux.shIt offers the same choice — Anthropic key or local Ollama — then validates the key against the API, offers to add it to your shell profile, pulls the Ollama model if you picked that route, and writes the config. It also offers to set up an optional Brave Search key so Veltro can search the web.
These scripts are not in the release tarballs; they live in the repository. Release users get the wizard above.
Headless — edit the config
Section titled “Headless — edit the config”There is no wizard without a GUI. The same configuration is a file:
; cat /lib/ndb/llmmode=localbackend=openaiurl=http://localhost:11434/v1model=your-modeldial=The fields:
| Field | Values |
|---|---|
mode | local — a backend on this machine or at a URL · remote — mount a remote llmsrv over 9P |
backend | api — Anthropic · openai — any OpenAI-compatible server (Ollama, SGLang) · cli — a local Claude CLI gateway |
url | Backend endpoint, e.g. https://api.anthropic.com or http://localhost:11434/v1 |
model | Model name to request |
dial | Remote mode only: tcp!host!5640 |
Optional: auth=keyring and keyfile= for authenticated remote mounts, and
temperature= to override sampling.
For an API key without the GUI, set ANTHROPIC_API_KEY in the environment
before launching; the boot profile provisions it into factotum.
A fourth option, if you have Claude Code
Section titled “A fourth option, if you have Claude Code”The Settings LLM Service panel also offers a Claude CLI backend
(backend=cli), which uses your host’s existing claude login rather than an
API key. If Settings shows “API key: not needed (uses host claude login)”,
that is what it has picked up. The first-run wizard does not offer this one —
open Settings yourself.
Verify
Section titled “Verify”Relaunch InferNode. You have this step when the LLM Setup dialogue does not appear — it only shows when no model is configured, so its absence is the confirmation.
Then say anything at all in the conversation zone:
helloIf Veltro answers, you are done.
Troubleshooting
Section titled “Troubleshooting”Configured it, still no reply — you did not relaunch. This catches everybody.
Ollama route, nothing responds — Ollama is not running. Start it before InferNode, not after.
“keyring auth requested but keyfile not found” at boot — the remote 9P route
expects a key at /lib/keyring/serve-llm. Generate one on the serving machine
with ./serve-llm.sh --gen-key.
Next: Run the tour — now that Veltro can think, let it show you the system.