goClaw/Documentation

Architecture

Platform Architecture

How goClaw's six pillars fit together — from agent runtime to multi-channel delivery.

goClaw is built from six interlocking components. Each pillar can be used independently, but they're designed to reinforce each other. The result is a platform where every interaction makes the agent smarter.

System diagram

NanoClaw CoreClaude + MCP Tools + Skills Self-Evolving KnowledgeMarkdown + FTS5 + Nightly Research Built-in CRMContacts · Threads · Notes · Tags Multi-Channel DeliveryEmail · SMS · Telegram · WhatsApp Permission SystemGroups · Sandboxing · Mount Allowlists Admin DashboardInbox · Contacts · Knowledge · Research Queue

How a request flows through the platform

  1. Inbound message arrives — Email, SMS, Telegram, or WhatsApp
  2. Channel listener normalizes the raw message to a standard format
  3. CRM lookup — find or create a contact record, attach the message to their thread
  4. Agent is invoked with full context: message, thread history, contact details, agent persona, relevant knowledge
  5. Agent reasons using Claude (Sonnet for primary reasoning, Haiku for classification)
  6. Agent uses MCP tools as needed: knowledge search, CRM operations, web research
  7. Agent generates response and dispatches through the appropriate channel
  8. CRM updated — response logged, follow-up scheduled if needed
  9. Curiosity items filed if the agent encountered any knowledge gaps

Tech stack

LayerTechnology
RuntimeNode.js 22+, pnpm monorepo
Primary LLMAnthropic Claude (Sonnet + Haiku + Opus)
Research LLMOpenAI GPT-4o-mini (web search synthesis)
DatabaseSQLite (CRM, FTS5 knowledge index, task scheduler, curiosity queue)
Admin UINext.js 15
DeploymentDocker (local) or EC2 + Vercel (cloud)
EmailResend (outbound) + IMAP (inbound)
SMSTwilio
WhatsAppTwilio + Meta
TelegramGrammy

Package structure

goClaw is a pnpm monorepo. Each pillar is a separate package:

PackagePurpose
@clawrm/coreAgent orchestration, task scheduling, container runtime
@clawrm/crmContact management, threads, MCP tool integration
@clawrm/channelsMulti-channel messaging (pluggable interface)
@clawrm/knowledgeKnowledge base, research pipeline, curiosity queue, FTS5
@clawrm/adminNext.js admin dashboard
@clawrm/cliSetup wizard and deployment CLI
@clawrm/sharedShared types and utilities

See Package Reference for full API documentation.

Data storage

goClaw uses SQLite exclusively — no external databases required.

Database fileContents
data/crm.dbContacts, threads, messages, notes, tags
data/knowledge.dbKnowledge file index with FTS5 full-text search
data/tasks.dbTask scheduler queue (scheduled follow-ups, research runs)
data/curiosity.dbCuriosity item queue and research history
data/billing.dbTenant billing state, usage snapshots

SQLite WAL mode is enabled for all databases. Backups run nightly to S3 or local disk depending on configuration.

Scalability model

goClaw is designed for single-tenant or small multi-tenant deployments on modest infrastructure:

  • 1–3 agents, light usage: t3.small EC2 (2 vCPU, 2GB RAM)
  • 3–10 agents, medium usage: t3.medium (2 vCPU, 4GB RAM)
  • 10+ agents or heavy usage: t3.large or horizontal scaling with dedicated instances per high-load tenant

The SQLite architecture means vertical scaling (more RAM/CPU) is the natural path. Horizontal distribution would require migrating to PostgreSQL — a planned option on the roadmap but not in scope for v1.