Personal Operating Layer
A personal agent harness in WhatsApp, keeping context, routing work, and coordinating specialized agents across my day.
Ravi is the operating layer behind a personal agent system that lives where the day already happens. It keeps durable context per conversation, routes work into the right session or specialist agent, and coordinates follow-through across tasks, messages, and background runs.
omni handles transport and channels. Ravi keeps memory, routing, permissions, task execution, and cross-agent coordination coherent. The CLI and the WhatsApp overlay can sit on top as operator surfaces, but the harness itself lives here.
Mental Model
What Ravi Handles
Context, work routing, and follow-through.
Sessions and routing
Durable session context for DMs, groups, threads, and workflow lanes, with routing that decides where each message should land.
Specialized agents
Multiple agents with separate prompts, models, scopes, permissions, and working directories.
Task runtime
`TASK.md`-first tasks, assignments, comments, parent-child lineage, callbacks, and tracked execution lanes.
Automation
Cron, triggers, heartbeat, outbound flows, and event-driven coordination on the same backbone.
Architecture
Primary Surface
WhatsApp first
WhatsApp is the main operator surface today. Telegram and Discord can use the same backbone when omni is configured, but Ravi is shaped around durable personal operations in WhatsApp.
Quick Start
Bring the harness up locally.
1. Install
git clone https://github.com/filipexyz/ravi.git
cd ravi
bun install
bun run build
bun link
2. Configure
ravi setup
# then configure ~/.ravi/.env
OMNI_DIR=/path/to/omni-v2
DATABASE_URL=postgresql://postgres:postgres@127.0.0.1:5432/omni
3. Start
ravi daemon start
ravi whatsapp connect