ac (aery claw) is a personal AI agent that runs as a daemon on a Raspberry Pi 5. It connects to Telegram as its primary interface, calls LLMs via OpenRouter, and executes tools (shell, filesystem, Gmail, Calendar, web fetch, and more). Personality and behavior are defined by markdown files on disk.
Stack: TypeScript + Bun, compiled to a single binary targeting arm64 Linux (Pi OS), managed by pm2.
Single-user, minimal, easy to extend. Inspired by OpenClaw and ZeroClaw — see docs/ARCHITECTURE.md for the full design.
bun install
bun run dev # run from source
bun test # run the test suite
bun run lint # biome checkOne-time provisioning is documented in docs/SETUP.md. After that, deploys are:
bun run deploy # build arm64 binary, rsync to pi, pm2 restart
bun run deploy:workspace # push workspace/ markdown templates (prompts confirmation)
bun run deploy:skills # push skills/ to the PiThe build target is hard-coded to bun-linux-arm64; cross-compilation happens on the dev machine.
src/ agent loop, gateway, tools, session, memory, config
skills/ skill packs (gmail, calendar, web-fetch, obsidian, ...)
workspace/ markdown templates (AGENTS.md, IDENTITY.md, ...) deployed to ~/.ac/workspace/
docs/ architecture, setup, and per-feature design notes
Runtime state on the Pi lives under ~/.ac/ (config, workspace files, sessions, memory, logs, OAuth tokens).
docs/ARCHITECTURE.md— full architecture, background on OpenClaw/ZeroClaw, design decisionsdocs/SETUP.md— Pi provisioningdocs/00_*.md…docs/14_*.md— per-feature design notes (sessions, context window, skills, cron, subagents, etc.)
No license file — all rights reserved by default. Add one if you want others to reuse the code.