Firecracker microVM-based multi-agent system with IRC orchestration and local LLMs. Features: - Ephemeral command runner with VM snapshots (~1.1s) - Multi-agent orchestration via overseer IRC bot - 5 agent templates (worker, coder, researcher, quick, creative) - Tool access (shell + podman containers inside VMs) - Persistent workspace + memory system (MEMORY.md pattern) - Agent hot-reload (model/persona swap via SSH + SIGHUP) - Non-root agents, graceful shutdown, crash recovery - Agent-to-agent communication via IRC - DM support, /invite support - Systemd service, 20 regression tests Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3.1 KiB
3.1 KiB
Fireclaw Roadmap
Phase 1: Core CLI (done)
- Firecracker microVM lifecycle (boot, exec, destroy)
- SSH-based command execution
- Network isolation (tap + bridge + NAT)
- IP pool management for concurrent VMs
- Signal handling and cleanup
- CLI interface (
fireclaw run,fireclaw setup)
Phase 2: Fast & Useful (done)
- Alpine Linux rootfs (1 GiB sparse, 146 MiB on disk)
- Precompiled binary, global
fireclawcommand - Snapshot & restore (~1.1s vs ~2.9s cold boot)
Phase 3: Multi-Agent System (done)
- ngircd configured (
nyx.fireclaw.local, FireclawNet) - Channel layout: #control (overseer), #agents (common room), DMs, /invite
- Ollama with 5 models (qwen2.5-coder, qwen2.5, llama3.1, gemma3, phi4-mini)
- Agent rootfs — Alpine + Python IRC bot + podman + tools
- Agent manager — start/stop/list/reload long-running VMs
- Overseer — host-side IRC bot, !invoke/!destroy/!list/!model/!templates
- 5 agent templates — worker, coder, researcher, quick, creative
- Agent tool access — shell commands + podman containers
- Persistent workspace — 64 MiB ext4 as second virtio drive at /workspace
- Agent memory system — MEMORY.md + save_memory tool, survives restarts
- Agent hot-reload — SSH config update + SIGHUP, no VM restart
- Non-root agents — unprivileged
agentuser - Agent-to-agent via IRC mentions, 10s cooldown
- DM support — private messages without mention
- /invite support — agents auto-join invited channels
- Overseer resilience — crash recovery, agent adoption, KillMode=process
- Graceful shutdown — SSH SIGTERM → IRC QUIT → kill VM
- Systemd service — fireclaw-overseer.service
- Regression test suite — 20 tests
Phase 4: Hardening & Performance
- Network policies per agent — iptables rules per tap device
- Warm pool — pre-booted VMs from snapshots for instant spawns
- Concurrent snapshot runs via network namespaces
- Thin provisioning — device-mapper snapshots instead of full rootfs copies
- Thread safety — lock around IRC socket writes in agent.py
- Agent health checks — overseer monitors and restarts dead agents
Phase 5: Advanced Features
- Persistent agent memory v2 — richer structure, auto-save from conversations
- Scheduled/cron tasks — agents that run on a timer
- Advanced tool use — MCP tools, multi-step execution, file I/O
- Cost tracking — log duration, model, tokens per interaction
- Execution recording — full audit trail of agent actions
Phase 6: Ideas & Experiments
- vsock — replace SSH with virtio-vsock for lower overhead
- Web dashboard — status page for running agents
- Podman-in-Firecracker — double isolation for untrusted container images
- Honeypot mode — test agent safety with fake credentials/services
- Self-healing rootfs — agents evolve their own images
- Claude API backend — for tasks requiring deep reasoning
- IRC federation — link nyx.fireclaw.local ↔ odin for external access