Quick Start
Quick Start
Section titled “Quick Start”Get RivetOS running in under 5 minutes. Two paths: Docker (recommended) or bare-metal.
Prerequisites
Section titled “Prerequisites”| Requirement | Version | Check |
|---|---|---|
| Node.js | ≥ 24 | node --version |
| npm | ≥ 10 | npm --version |
| Git | any | git --version |
| Docker (optional) | ≥ 24 | docker --version |
Note:
npm installautomatically builds all packages via postinstall. No separate build step needed.
Option A: Interactive Setup (Recommended)
Section titled “Option A: Interactive Setup (Recommended)”The rivetos init wizard walks you through everything — deployment target, agent configuration, API keys, channels, and generates your config automatically.
git clone https://github.com/philbert440/rivetOS.gitcd rivetOSnpm installnpx rivetos initThe wizard will:
- Detect your environment — Docker available? Proxmox? How much memory?
- Choose deployment target — Docker (recommended), Proxmox, or manual
- Configure agents — pick a provider, enter your API key, choose a model
- Configure channels — Discord, Telegram, Voice, or API-only
- Review and deploy — summary of your choices, then one-click deploy
After the wizard completes, your agent is running.
Option B: Docker (Manual)
Section titled “Option B: Docker (Manual)”1. Clone and install
Section titled “1. Clone and install”git clone https://github.com/philbert440/rivetOS.gitcd rivetOSnpm install2. Create your config
Section titled “2. Create your config”cp config.example.yaml config.yamlEdit config.yaml with your settings:
runtime: workspace: ~/.rivetos/workspace default_agent: myagent
agents: myagent: provider: anthropic
providers: anthropic: model: claude-sonnet-4-20250514 max_tokens: 8192
channels: discord: channel_bindings: "YOUR_CHANNEL_ID": myagent
memory: postgres: # Connection string is set via RIVETOS_PG_URL env var3. Set up secrets
Section titled “3. Set up secrets”cp .env.example .envEdit .env:
ANTHROPIC_API_KEY=sk-ant-...DISCORD_BOT_TOKEN=...RIVETOS_PG_URL=postgresql://rivetos:rivetos@localhost:5432/rivetosSecurity: Never put API keys in
config.yaml. Always use.envor environment variables.
4. Build and run with Docker
Section titled “4. Build and run with Docker”# Build container images from sourcenpx rivetos build
# Start everything (datahub + agent)docker compose up -d
# Check statusnpx rivetos status
# View logsnpx rivetos logs --follow5. Verify
Section titled “5. Verify”# Run diagnosticsnpx rivetos doctor
# Run smoke testsnpx rivetos testOption C: Bare-Metal (No Docker)
Section titled “Option C: Bare-Metal (No Docker)”Run RivetOS directly on your machine. You’ll need PostgreSQL running separately.
1. Clone and install
Section titled “1. Clone and install”git clone https://github.com/philbert440/rivetOS.gitcd rivetOSnpm install2. Set up PostgreSQL
Section titled “2. Set up PostgreSQL”RivetOS needs PostgreSQL 16+ with the pgvector extension.
# Ubuntu/Debiansudo apt install postgresql-16 postgresql-16-pgvector
# macOS (Homebrew)brew install postgresql@16brew install pgvector
# Create databasecreatedb rivetospsql rivetos -c "CREATE EXTENSION IF NOT EXISTS vector;"3. Create config and secrets
Section titled “3. Create config and secrets”cp config.example.yaml config.yamlcp .env.example .envEdit both files as described in Option B, steps 2-3.
4. Create workspace
Section titled “4. Create workspace”mkdir -p workspace/memoryAdd your workspace files:
| File | Purpose | Required? |
|---|---|---|
workspace/CORE.md | Agent identity and personality | Yes |
workspace/USER.md | Who the agent is helping | Yes |
workspace/WORKSPACE.md | Operating rules and conventions | Yes |
workspace/MEMORY.md | Context index for the memory system | Optional |
workspace/CAPABILITIES.md | Extended tool/skill reference | Optional |
See the Workspace Files section below for details.
5. Start
Section titled “5. Start”npx rivetos start6. Install as a system service (optional)
Section titled “6. Install as a system service (optional)”# Install as a systemd servicenpx rivetos service install
# Now it starts on bootsudo systemctl status rivetosWorkspace Files
Section titled “Workspace Files”Workspace files are markdown documents injected into the agent’s system prompt. They define who the agent is and how it behaves.
Required Files
Section titled “Required Files”CORE.md — Agent identity, personality, values, and behavioral rules.
# CORE.md — Who You Are
You are a helpful AI assistant named Rivet.
## Working Style- Be direct and concise- Show your reasoning- Ask before making destructive changesUSER.md — Information about the person the agent is helping.
# USER.md — About Your Human
- **Name:** Phil- **Timezone:** America/New_York- **Preferences:** TypeScript, Next.js, direct communicationWORKSPACE.md — Operating rules, safety boundaries, and conventions.
# WORKSPACE.md — Operating Rules
## Safety- Don't delete files without asking- Don't send emails without approval- Keep secrets private
## Every Session1. Read CORE.md, USER.md, WORKSPACE.md2. Check recent memory files3. Get to workOptional Files
Section titled “Optional Files”MEMORY.md — A lightweight index into the memory system. The agent uses this to know what to search for.
CAPABILITIES.md — Extended reference for tools, skills, and infrastructure. Included in the system prompt for local models where token cost isn’t a concern.
HEARTBEAT.md — Instructions for periodic background tasks. Only injected during heartbeat turns, not regular conversation.
memory/YYYY-MM-DD.md — Daily notes. The agent reads recent daily notes for context continuity between sessions.
First Conversation
Section titled “First Conversation”Once your agent is running, talk to it through your configured channel:
Discord: Send a message in the bound channel.
Terminal: npx rivetos chat myagent "Hello, who are you?"
API: curl -X POST http://localhost:3100/api/message -H 'Content-Type: application/json' -d '{"content": "Hello"}'
Useful Commands
Section titled “Useful Commands”In any channel, you can use slash commands:
| Command | What it does |
|---|---|
/stop | Abort the current response immediately |
/new | Start a fresh session (clears conversation history) |
/status | Show agent status and runtime info |
/model | Show or switch the current model |
/think [level] | Set thinking depth: off, low, medium, high |
/steer [message] | Inject context mid-response |
/context add [file] | Pin a file into the agent’s context |
/context list | Show pinned files |
/context clear | Remove all pinned files |
CLI Reference (Quick)
Section titled “CLI Reference (Quick)”rivetos init # Interactive setup wizardrivetos start # Start the runtimerivetos stop # Stop the running instancerivetos status # Show runtime status and metricsrivetos doctor # Health check (config, connectivity, containers)rivetos test # Smoke test (provider, memory, tools)rivetos logs # Tail agent logsrivetos update # Pull latest source, rebuild, restartrivetos config # View or edit configurationrivetos agent add # Add a new agentrivetos agent list # List configured agentsrivetos mesh list # Show mesh peers (multi-instance)rivetos mesh ping # Health check all peersrivetos build # Build container images from sourcerivetos infra up # Deploy infrastructure from configrivetos infra preview # Preview infrastructure changesrivetos infra destroy # Tear down infrastructurerivetos service install # Install as systemd servicerivetos plugins list # Show loaded pluginsrivetos skills list # Show available skillsNext Steps
Section titled “Next Steps”- Channel Setup — Connect to Discord, Telegram, voice, and agent-to-agent messaging
- Provider Setup — Configure Anthropic, xAI, Google, Ollama, and llama-server providers
- Configuration Reference — Every config option explained
- Architecture — How the system works
- Plugins — How to write your own channel, provider, or tool
- Skills — How to write and share skills
- Deployment — Docker, Proxmox, multi-agent, networking
- Troubleshooting — Common issues and fixes
Quick Troubleshooting
Section titled “Quick Troubleshooting”Agent doesn’t respond?
- Run
npx rivetos doctorto check connectivity - Check
npx rivetos logsfor errors - Verify your API key is set in
.env
Docker containers won’t start?
- Run
docker compose logs datahubto check PostgreSQL - Ensure port 5432 isn’t already in use
- Try
npx rivetos buildto rebuild images
Memory search returns nothing?
- Check PostgreSQL connection:
npx rivetos test --quick - Embeddings may still be processing — check
npx rivetos statusfor queue depth
Can’t find config?
- Default location:
./config.yamlor~/.rivetos/config.yaml - Override with:
npx rivetos start --config /path/to/config.yaml