← Jarvis

OpenClaw Setup Guide

How Ron set up Jarvis — a personal AI assistant running 24/7 on OpenClaw, communicating via Telegram.

What This Is

A persistent AI assistant that:

Architecture

You (Telegram) ↔ OpenClaw Gateway ↔ Claude (Anthropic API)
                        │
                   Workspace (/data/workspace)
                   ├ SOUL.md (personality)
                   ├ MEMORY.md (long-term memory)
                   ├ HOT.md (critical rules, read every reply)
                   ├ scripts/ (guards, polling, credits)
                   ├ hooks/ (message validation)
                   └ memory/ (daily logs)
                        │
                   Cron Jobs (9 scheduled tasks)
                   Backup (every 30 min → GitHub)

Before You Start

Cost

Optimize for quality, not cost. Your time is worth more than API tokens.

Security

Model Choice

Persistence


Step-by-Step Setup

1. Infrastructure (Railway)

  1. Fork the OpenClaw Railway template
  2. Deploy to Railway
  3. Add a persistent volume at /data
  4. Set environment variables: ANTHROPIC_API_KEY, OPENCLAW_GATEWAY_TOKEN

2. Telegram Channel

  1. Create a bot via @BotFather
  2. Add bot token to OpenClaw config
  3. Set allowFrom to your Telegram user ID
  4. Start chatting

3. Identity Bootstrap

On first message, the assistant reads BOOTSTRAP.md and walks through choosing a name, defining personality, and learning about you. Delete the file after — the assistant is now "born."

4. Workspace Structure

/data/workspace/
  AGENTS.md        — operating instructions
  SOUL.md          — personality and principles
  USER.md          — info about you
  IDENTITY.md      — name, emoji, vibe
  HOT.md           — critical rules (checked every reply)
  MEMORY.md        — long-term curated memory
  HEARTBEAT.md     — periodic check tasks
  memory/          — daily logs (YYYY-MM-DD.md)
  scripts/         — automation (guards, polling)
  hooks/           — message validation

5. Cron Jobs

JobSchedulePurpose
Morning message5:00 AMDaily briefing, credit reset
Workspace backupEvery 30 minPush to GitHub
GitHub pollingEvery 1 minCheck for PR comments
Blocked reminder9:00 AMNudge on pending items
Nightly summary9:30 PMDay recap with credits
Memory review1:30 AMConsolidate daily logs
Weekly summarySun 11 AMWeek in review

6. GitHub Integration

  1. Create a bot GitHub account
  2. Fork target repos to the bot account
  3. Generate fine-grained PATs for push and PR creation
  4. Build a deterministic write guard (Python, not LLM)
Never give the bot direct write access to your repos. PRs only.

7. Safety Layers


Lessons Learned

  1. ChatGPT said 10 minutes. It took 4 hours. Expect setup to take a full day.
  2. Text rules leak. Code enforcement doesn't. Put safety at side-effect boundaries, not in markdown.
  3. Tiny PRs always. 1-2 lines, 1 file, one idea. The human reviews in 10 seconds.
  4. The assistant will break things. Design for recovery, not prevention.
  5. Attention is the scarcest resource. Not tokens, not compute. Your attention.
  6. Memory architecture > prompt engineering. HOT.md (20 lines, every reply) beats MEMORY.md (big file, loaded once).
  7. Back up from day one. Your workspace IS your assistant.

Current Stack

v0.2-staging