RegaOS
A local AI agent daemon that hears your wake-word, sees your screen, and acts on your computer — with every side-effecting action gated behind an explicit PermissionGateway.
the deep dive — architecture & implementation
Designed and built RegaOS as a trust-first on-device agent: voice control with on-device Whisper transcription, screen vision, mouse and keyboard control, any-provider model routing through a LiteLLM proxy, a commander/specialist agent layer, Telegram/WhatsApp/Composio integrations, Docker-sandboxed shell execution, an append-only audit log, and a global kill switch. Published on npm as a global CLI (rega) for Windows, macOS, and Linux.
RegaOS — the agent with a permission spine
RegaOS (“Rega” on the command line) is an on-device agent daemon. You speak a wake-word, give a command, and the agent plans and executes work on your machine — while a Next.js dashboard gives you a live window into everything it does.
The one rule
Every side-effecting action — file write, shell exec, network call, mouse/keyboard, payment — passes through the PermissionGateway before it runs. There is no code path that bypasses it. Three policy levels:
- paranoid — approve every action individually.
- balanced — prompts for destructive or network-mutating actions; allows safe reads.
- yolo — auto-approves everything. Sandbox only.
Capability highlights
- Voice control: continuous wake-word detection; speech transcribed on-device via Whisper. Responds by voice.
- Screen vision: captures and interprets the screen; specialist agents act on what they see.
- Any-provider routing: all LLM calls go through a configurable LiteLLM proxy — Ollama, Anthropic, OpenAI, swapped without code changes.
- Commander / Specialist layer: a CEO agent deliberates, selects the best specialist (vision, coding, CMO), and delegates — inside the same permission boundary.
- Docker sandbox: shell execution runs in an isolated Alpine container when Docker is available.
- Audit log & dry-run: every executed action is appended to a log; dry-run mode describes what it would do without executing.