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>
66 lines
3.1 KiB
Markdown
66 lines
3.1 KiB
Markdown
# Fireclaw Roadmap
|
|
|
|
## Phase 1: Core CLI (done)
|
|
|
|
- [x] Firecracker microVM lifecycle (boot, exec, destroy)
|
|
- [x] SSH-based command execution
|
|
- [x] Network isolation (tap + bridge + NAT)
|
|
- [x] IP pool management for concurrent VMs
|
|
- [x] Signal handling and cleanup
|
|
- [x] CLI interface (`fireclaw run`, `fireclaw setup`)
|
|
|
|
## Phase 2: Fast & Useful (done)
|
|
|
|
- [x] Alpine Linux rootfs (1 GiB sparse, 146 MiB on disk)
|
|
- [x] Precompiled binary, global `fireclaw` command
|
|
- [x] Snapshot & restore (~1.1s vs ~2.9s cold boot)
|
|
|
|
## Phase 3: Multi-Agent System (done)
|
|
|
|
- [x] ngircd configured (`nyx.fireclaw.local`, FireclawNet)
|
|
- [x] Channel layout: #control (overseer), #agents (common room), DMs, /invite
|
|
- [x] Ollama with 5 models (qwen2.5-coder, qwen2.5, llama3.1, gemma3, phi4-mini)
|
|
- [x] Agent rootfs — Alpine + Python IRC bot + podman + tools
|
|
- [x] Agent manager — start/stop/list/reload long-running VMs
|
|
- [x] Overseer — host-side IRC bot, !invoke/!destroy/!list/!model/!templates
|
|
- [x] 5 agent templates — worker, coder, researcher, quick, creative
|
|
- [x] Agent tool access — shell commands + podman containers
|
|
- [x] Persistent workspace — 64 MiB ext4 as second virtio drive at /workspace
|
|
- [x] Agent memory system — MEMORY.md + save_memory tool, survives restarts
|
|
- [x] Agent hot-reload — SSH config update + SIGHUP, no VM restart
|
|
- [x] Non-root agents — unprivileged `agent` user
|
|
- [x] Agent-to-agent via IRC mentions, 10s cooldown
|
|
- [x] DM support — private messages without mention
|
|
- [x] /invite support — agents auto-join invited channels
|
|
- [x] Overseer resilience — crash recovery, agent adoption, KillMode=process
|
|
- [x] Graceful shutdown — SSH SIGTERM → IRC QUIT → kill VM
|
|
- [x] Systemd service — fireclaw-overseer.service
|
|
- [x] 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
|