Building a Personal AI OS: Forge vs OpenClaw

By Jason MacDonald • February 25, 2026 • HC Protocol Intelligence Brief

Two developers. Two VPS setups. Two Telegram bots. Two very different architectures for the same goal: a 24/7 autonomous AI companion that manages tasks, monitors infrastructure, and amplifies human decision-making.

Reza Rezvani built a 13-agent system on OpenClaw in 12 hours. I've been building Forge over several weeks. Both systems run on a VPS, use Telegram for communication, and automate daily operations. The architecture diverges sharply.

This is what I found when I mapped his approach against mine.


Architecture at a Glance

LayerOpenClaw (Reza)Forge (Jason)
IdentitySOUL.md (single file)soul.md + user.md + CLAUDE.md (separated by concern)
SafetyAGENTS.md guardrailsCLAUDE.md rules + Gatekeeper scoring service
CommunicationTelegram botGrammy-based Commander (multi-command, agent dispatch)
Schedulingcrontab entries7 systemd timers (guardian, heartbeat, poller, brief, intel)
MemoryFile-based MEMORY.mdmemory.md + Supabase semantic memory + knowledge graph
AutomationManual cron promptsRalph autonomous agent + task queue + LLM-scored gating
DashboardNoneVercel app (6 tabs: Ops, Projects, Deps, Intel, Knowledge, Files)
DeployNot mentioneddeploy.sh with auto-rollback + smoke testing

The Core Difference: Prompts vs. Services

OpenClaw is prompt-centric. Every capability is a prompt file that runs on a schedule. Want morning briefings? Write a prompt, add a cron.

Forge is service-centric. Every capability is an independent microservice with a REST API, health endpoint, and systemd lifecycle. Want task quality gating? Build a Gatekeeper service on port 5015 that scores tasks via LLM before your autonomous agent touches them.

The trade-off: OpenClaw is faster to set up (12 hours to 13 agents). Forge is harder to build but each capability is reusable, composable, and independently deployable. Service architecture pays compound interest.

What OpenClaw Does That Forge Doesn't (Yet)

1. DND Hours + Alert Batching

Reza configures quiet hours. Alerts queue silently overnight and batch into the morning briefing. Forge currently fires Telegram alerts 24/7.

Building Adding DND_START/DND_END env vars. Queued events batch into the daily brief.

2. Agent Handoff Memory

When one of Reza's agents finishes work, it writes a structured handoff note. The next agent reads it for context. Forge's Ralph tasks are currently independent — task 2 doesn't know what task 1 built.

Building Structured JSON handoffs between sequential Ralph tasks.

3. Natural Language Task Queuing

Reza texts his bot at 1 AM: "renew the SSL cert." The system figures out what to do. Forge requires slash commands.

Building Commander dispatcher will detect imperative verbs and route directly to the task queue. Two words from bed.

4. Automated Evening Digest

A 19:00 summary of the day: what got done, what's pending, what's tomorrow. Forge has /wrap-up but it's manual.

Building New systemd timer, same pattern as the morning brief.

5. Follow-Up Reminders

Reza's system tracks follow-ups and nudges when items go stale.

Building Daily timer parses Task Board tags, sends Telegram reminders for overdue items.

What Forge Does That OpenClaw Doesn't

Gatekeeper Service Live

Every task gets scored by an LLM across 5 dimensions before our autonomous agent touches it. Vague tasks get decomposed into concrete subtasks. A poorly-written task killed our agent 3 times in 5 seconds — the gatekeeper prevents that. Score of 11? Human required. Score of 94? Approved. OpenClaw has no quality gate.

Autonomous Execution Pipeline Live

Ralph isn't a cron job. It's a full autonomous agent with a task queue, circuit breaker, spawn tracking, and anti-loop protection. It claims tasks atomically, runs them in isolated git branches, and auto-deploys on success.

Deploy Pipeline with Rollback Live

Every code change: tag current main, merge feature branch, restart services, smoke test, auto-rollback if the bot breaks.

Dashboard Live

Six-tab web dashboard showing real-time ops, projects, dependencies, intelligence, knowledge graph, and file management.

The 13-Agent Question

Reza runs 13 specialized agents with separate personality files, model assignments (Opus for strategy, Haiku for execution), and domain isolation.

I run one Claude instance with 14 skills.

For a solo operator running personal projects, skill switching is the right call. One Claude with skills is lighter, cheaper, and easier to maintain than 13 separate agents. If domain isolation becomes a problem, the pattern is clear: separate context directories per agent.

The Scoreboard

CapabilityOpenClawForge
Identity/personality filesYesYes
Safety guardrailsFile-basedFile + LLM scoring
Telegram communicationYesYes (more sophisticated)
Scheduled automation29 crons7 timers (expanding to 13)
Task queueKanban APISupabase + Gatekeeper + Ralph
Autonomous executionNoYes (Ralph agent)
Quality gateNoYes (Gatekeeper)
DashboardNo6-tab Vercel app
Deploy automationNodeploy.sh + rollback
DND hoursYesBuilding
Agent handoffsYesBuilding
Multi-agent13 agentsSkill switching
Monthly cost~$120~$235 (includes Claude Max)

What We Learned

  1. Prompt categories are a useful audit tool. Mapping someone else's 30 prompts against your capabilities reveals gaps you didn't know you had.
  2. Agent handoffs matter. When tasks chain together, context between steps is the difference between success and repeated failure.
  3. DND hours are basic hygiene. Any system that can message you at 3 AM needs quiet hours. This should have been day-one infrastructure.
  4. Service architecture pays compound interest. Every new Forge capability becomes a reusable API. Prompt-based approaches are faster to start but harder to compose.
  5. Start with 3, not 13. Reza's advice matches our experience. Build what you need, expand when pain points emerge.

What We're Building Next

10 tasks queued for Ralph based on this analysis:

  1. Agent Handoff Memory
  2. DND Hours + Alert Batching
  3. Automated Evening Digest
  4. Natural Language Task Queuing
  5. Weekly System Self-Assessment
  6. Follow-Up Reminders
  7. GitHub PR/CI Monitoring
  8. SSL Certificate Monitoring
  9. Dependency Update Checking
  10. This article (dogfooding our own publishing stack)