Architecture

MiniClaw is shaped around one boundary: Discord is the control and delivery surface, while the local runtime owns routing, provider context, task execution, storage, recovery, and quality traceability. User state remains under ~/.miniclaw/; implementation facts remain in docs/.

flowchart LR
  subgraph Interface
    Discord[Discord Channels]
    Slash[Slash Commands]
  end
  subgraph Runtime
    Intake[Bot Intake]
    Router[Smart Router]
    Chat[Chat Runtime]
    Task[Task Runtime]
    Manager[Agent Run Manager]
    Cron[Cron Scheduler]
    ActiveWindow[config.yaml active_window]
  end
  subgraph Context
    Providers[Readonly Providers]
    Memory[Memory / Chat Context]
  end
  subgraph Execution
    Claude[Claude Code]
    Codex[Codex]
  end
  subgraph State
    SQLite[(SQLite)]
    Logs[Trace Events]
  end

  Discord --> Intake
  Slash --> Intake
  Intake --> Router
  Router --> Chat
  Router --> Task
  Task --> Manager
  Cron --> ActiveWindow
  ActiveWindow --> Providers
  Providers --> Task
  Memory --> Chat
  Memory --> Task
  Task --> Claude
  Task --> Codex
  Chat --> SQLite
  Task --> SQLite
  Claude --> Logs
  Codex --> Logs

Boundary Map

  • Interface boundary: Discord carries user intent, progress, final output, and operator actions.
  • Runtime boundary: routing, task lifecycle, optional Agent Run Manager orchestration, cron active-window guarding, and recovery logic stay in MiniClaw.
  • Provider boundary: external accounts are read-only context sources; secrets and sessions stay outside Git.
  • Execution boundary: Claude and Codex run work, but MiniClaw normalizes sessions, usage, trace events, and delivery.
  • Docs boundary: English repo docs remain canonical; Chinese mirrors and website pages are checked against that source.

Data Movement

flowchart TD
  Intent[User Intent / Cron Trigger] --> Route[Route Decision]
  Route --> Context[Context Assembly]
  Context --> Execute[Agent Execution]
  Execute --> Persist[Persist Trace + State]
  Persist --> Deliver[Discord Delivery]
  Deliver --> Recover[Auto Doctor / Recovery]
  Recover --> Persist

Legacy feature stubs have been merged and removed. Current implementation facts belong in runtime, provider, experiment, and reference docs, then flow into this website through public-impact or trace-only source references.

Source Docs

This website page is a curated summary. The implementation source of truth stays in the repo docs.