Ryvos is a single binary with a rich CLI built on clap v4. Run ryvos --help for the full list, or see each command below.
Global Flags
These flags work with any command:
--config <path> Override config file path (default: ~/.ryvos/config.toml)
--workspace <path> Override workspace directory
--verbose Enable verbose logging (RUST_LOG=debug)
--quiet Suppress non-essential output
--json Output in JSON format (where supported)
--version Print version and exit
--help Print help and exit
Commands
ryvos (default: REPL)
ryvosStarts the interactive REPL (Read-Eval-Print Loop). This is the default when no subcommand is given.
╭──────────────────────────────╮
│ ryvos v0.6.5 │
│ Model: claude-sonnet-4-20250514 │
│ Session: a1b2c3d4 │
╰──────────────────────────────╯
You > _
REPL-specific features:
- Session persists across messages
- Type
exitor pressCtrl+Cto quit - Type
/helpfor in-REPL commands - Automatic context management and compaction
ryvos run
Execute a single prompt and exit:
ryvos run "your prompt here"Flags:
| Flag | Description |
|---|---|
--resume <session_id> | Resume a previous session |
--list-sessions | List recent sessions with timestamps |
--goal <file> | Load goal definition from a TOML/JSON file |
--director | Enable Director orchestration for this run |
--max-turns <n> | Override max turns (default: 25) |
--timeout <secs> | Override max duration (default: 600) |
--json | Output structured JSON |
--no-stream | Disable streaming (wait for complete response) |
--system <prompt> | Override system prompt |
Examples:
# Single task
ryvos run "list all TODO comments in this codebase"
# With Director orchestration
ryvos run --director "refactor the authentication module to use OAuth2"
# Resume a session
ryvos run --resume abc123 "what about the edge case we discussed?"
# CI/CD usage with JSON output
ryvos run --json "check if all tests pass" | jq '.success'ryvos serve
Start the HTTP/WebSocket gateway server:
ryvos serveStarts the Axum server at http://localhost:18789 (or your configured bind address) with:
- REST API (
/api/chat,/api/sessions,/api/config) - WebSocket endpoint (
/ws) for real-time streaming - Embedded Web UI dashboard
- Role-based authentication
Flags:
| Flag | Description |
|---|---|
--bind <addr> | Override bind address (default: 127.0.0.1:18789) |
--no-ui | Disable embedded Web UI |
ryvos daemon
Start always-on daemon mode:
ryvos daemon
ryvos daemon --gatewayRuns Ryvos as a long-running process with:
- All configured channel adapters (Telegram, Discord, Slack, WhatsApp)
- Heartbeat monitoring
- Cron scheduled tasks
- Auto-restart on failure
Flags:
| Flag | Description |
|---|---|
--gateway | Also start the HTTP/WebSocket gateway |
--no-channels | Skip starting channel adapters |
--no-heartbeat | Disable heartbeat monitoring |
--no-cron | Disable cron scheduler |
ryvos init
Interactive setup wizard:
ryvos init
ryvos init -y # Accept all defaultsRuns the 10-phase onboarding flow:
- LLM Provider — Choose and configure your model
- Security — Set safety preferences
- Channels — Configure Telegram, Discord, Slack, WhatsApp
- Gateway — Set up Web UI and API
- MCP Servers — Add external tool servers
- Cron — Schedule recurring tasks
- Heartbeat — Configure health monitoring
- Web Search — Set up web search provider
- Embeddings — Configure semantic search
- Budget — Set spending limits
The wizard writes ~/.ryvos/config.toml and optionally creates a systemd user service.
ryvos config
Print the resolved configuration:
ryvos configShows the fully resolved config with environment variables expanded. Useful for debugging.
:::caution This command prints API keys in plaintext. Use only in secure environments. :::
ryvos doctor
Run system health checks:
ryvos doctor
ryvos doctor --jsonChecks:
- Config file validity
- API key connectivity for primary and fallback models
- Workspace directory access
- Database integrity (SQLite)
- Channel adapter configuration
- MCP server connectivity
- Cron expression validity
- Security policy consistency
✓ Config loaded from ~/.ryvos/config.toml
✓ Anthropic API (claude-sonnet-4-20250514) — connected, 247ms
✓ Ollama (llama3.1:70b) — connected, 12ms
✓ Workspace ~/.ryvos — readable, writable
✓ Database — SQLite WAL mode, 1,247 sessions
✓ Telegram — bot token valid, webhook active
✗ Discord — bot token expired (update in config)
✓ MCP filesystem — 3 tools available
✓ Cron — 2 jobs, next fire in 47 minutes
ryvos health
Show tool health statistics:
ryvos healthDisplays success/failure rates for each tool based on the failure journal:
Tool Success Failures Health
bash 234 3 98.7%
read 1,024 0 100.0%
web_fetch 89 12 88.1%
browser_navigate 45 8 84.9%
ryvos tui
Launch the terminal UI:
ryvos tuiFull-screen terminal interface built with ratatui and crossterm:
- Split-pane layout (chat + tool output)
- Real-time streaming display
- Session info banner
- Arrow key navigation, Enter to send, Ctrl+C to quit
ryvos mcp
Manage MCP (Model Context Protocol) servers:
List
ryvos mcp listShows all configured MCP servers and their available tools:
Server: filesystem (stdio)
Tools: read_file, write_file, list_directory
Server: github (stdio)
Tools: create_issue, list_repos, search_code
Add
ryvos mcp add <name> --command <cmd> --args <args...>
ryvos mcp add <name> --url <sse-url>Examples:
# Add a stdio MCP server
ryvos mcp add filesystem --command npx --args "-y" "@modelcontextprotocol/server-filesystem" "/home/user"
# Add an SSE MCP server
ryvos mcp add remote-tools --url "http://localhost:3001/sse"ryvos skill
Manage skills (Lua/Rhai scripts):
ryvos skill list # List installed skills
ryvos skill install <name> # Install from registry
ryvos skill search <query> # Search the skill registry
ryvos skill remove <name> # Uninstall a skillryvos soul
Run the personality interview:
ryvos soulA 5-question interactive interview that generates SOUL.md in your workspace. This defines the agent's personality, communication style, and behavioral preferences.
ryvos update
Self-update to the latest version:
ryvos updateDownloads and replaces the current binary with the latest release from GitHub.
ryvos viking-server
Start the Viking memory server:
ryvos viking-serverStarts the hierarchical memory server on port 1933. Normally started automatically in daemon mode when [openviking] is configured.
ryvos migrate-memory
Migrate memory between backends:
ryvos migrate-memory --from sqlite --to viking
ryvos migrate-memory --from viking --to sqliteTransfers memory data between the SQLite store and Viking hierarchical memory.
ryvos completions
Generate shell completion scripts:
Bash
ryvos completions bash > ~/.local/share/bash-completion/completions/ryvosZsh
ryvos completions zsh > ~/.zfunc/_ryvosFish
ryvos completions fish > ~/.config/fish/completions/ryvos.fishPowerShell
ryvos completions powershell > $HOME\Documents\PowerShell\Completions\ryvos.ps1Exit Codes
| Code | Meaning |
|---|---|
0 | Success |
1 | General error |
2 | Config error (missing file, invalid TOML) |
3 | API error (provider unreachable, auth failure) |
4 | Timeout (max_duration_secs exceeded) |
5 | Budget exceeded |
Environment Variables
Beyond $\{VAR\} expansion in config, these environment variables affect behavior:
| Variable | Effect |
|---|---|
RYVOS_CONFIG | Override config file path |
RYVOS_WORKSPACE | Override workspace directory |
RUST_LOG | Control log verbosity (error, warn, info, debug, trace) |
NO_COLOR | Disable colored output |
Next Steps
- Quick Start — Walkthrough of first usage
- Configuration — Full config.toml reference
- Systemd Service — Run as a system service