Skip to main content

Output Contract

stdout is reserved for the command payload only.
  • Human-readable command results and --json payloads are written to stdout.
  • User-facing CLI commands suppress infrastructure INFO/WARN/DEBUG logs by default.
  • When explicitly enabled for diagnosis, infrastructure logs and internal diagnostics go to stderr.
  • Set RAVI_CLI_LOG_LEVEL=info to opt into verbose CLI diagnostics temporarily.
  • Machine-readable modes like ravi stream also reserve stdout for protocol frames only.

Setup

Daemon

Manage the ravi daemon process via PM2.

Agents

Agent lifecycle and configuration.
Agent set keys: name, cwd, model, dmScope, systemPromptAppend, matrixAccount, settingSources, mode (active|sentinel), groupDebounceMs, defaults (JSON object).

Instances

Central configuration entity for channels/accounts. Each instance maps to one omni connection.

Routes

Read route config and live routing without drilling into the instances subtree.
Use ravi instances routes ... when you need to mutate route config.

Instance Routes

Per-instance routing rules that map patterns to agents. Use this subtree for mutations; use ravi routes ... for discovery/read paths.

Instance Pending

Manage unrouted contacts/groups waiting for approval.

Contacts

Contact management with multi-platform identities.

Sessions

Manage agent sessions, cross-session messaging, and ephemeral TTLs.

Ephemeral Sessions

Cross-Session Messaging

Settings

Global configuration stored in SQLite.
Known settings: defaultAgent, defaultDmScope, defaultTimezone, whatsapp.groupPolicy, whatsapp.dmPolicy. Legacy account.* rows are shadowed by instances and should not be used as live config.

Permissions

REBAC (Relation-Based Access Control) permission management.
Entity format: type:id (e.g. agent:dev, tool:Bash, group:contacts, system:*). Relations: admin, use, execute, access, modify, write_contacts, read_own_contacts, read_tagged_contacts, read_contact, view. Entity types: agent, system, group, session, contact, cron, trigger, team, tool, executable, toolgroup.

Cron

Scheduled job management.

Heartbeat

Proactive agent runs that check HEARTBEAT.md for pending tasks.

Triggers

Event-driven triggers that subscribe to NATS topics and fire agent prompts.

WhatsApp Groups

WhatsApp group management (requires connected instance).

WhatsApp DMs

Send direct messages and manage read receipts.

Media

Send media files through connected channels.

Audio

Generate speech via ElevenLabs TTS.

Image

Generate images via Gemini.

Video

Analyze videos via Gemini API.

Transcribe

Audio transcription via OpenAI Whisper.
Supported formats: .ogg, .opus, .mp3, .m4a, .mp4, .wav, .webm.

React

Emoji reactions on messages.

Events

Live stream of NATS events for debugging.

Copilot

Bridge ravi to Claude Code team mailboxes.

Tools

Inspect and export CLI tools as SDK tool definitions.

Service

Low-level bot service management.