Everything you need to put an operator in the basement. Deeper reference docs live in the GitHub repo.
| Component | Requirement |
|---|---|
| Runtime | Node.js LTS (22+) and npm |
| OS | macOS or Linux (systemd service supported for always-on hosts) |
| Models | At least one of: an Anthropic API key, a reachable Ollama server, or an OpenRouter key |
| Optional | A Telegram bot token for mobile chat and alerts |
Github -coming soon
coming soon
The server starts on a local port with the web UI and the setup page.
Open /setup in your browser. It only answers on
loopback — it is not reachable from your network, let alone the
internet. Keys you enter go straight into your operating system's
keychain. They are never written to a .env file
and the agent will refuse any credential pasted into chat.
One file controls what the agent may do. Tools are off until you turn them on, and the global trust level caps everything regardless of which tools are enabled.
# config.yaml — illustrative excerpt trust_level: 2 # standing level, L0–L5; the agent cannot raise this itself allow_elevation: true # above-standing tools may be requested — every request is carded tools: weather: enabled calendar: enabled gmail: enabled # sending is L3 — raises an approval card soc: disabled # disabled modules leave zero footprint
The model is selected by a single value, switchable at runtime from the Settings panel. The prefix decides how tool calls are executed:
| Model prefix | Runs on | Tool calling |
|---|---|---|
anthropic/ |
Anthropic API | Full native tool loop — the most capable path |
ollama/ |
Your own GPU, on your LAN | Native tool calls, with automatic fallback for models that lack them |
openrouter |
OpenRouter (free tiers available) | Pseudo tool-calling parsed by the agent, with server-side pre-fetch for common reads |
Whichever path you choose, every tool call still passes through the same permission broker. The security model does not vary by provider.
Add a bot token in /setup and your operator
follows you out of the house. Critical alerts arrive immediately;
routine ones hold until morning so your phone stays quiet overnight.
Module reference, personality authoring, SOC integrations, and the full specification live in the repository: Github - coming soon.