commit ff694d12f67a65798e0d6165854f64f292f5e209 Author: ansible Date: Tue Apr 7 13:28:29 2026 +0000 Initial commit — fireclaw multi-agent system 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) diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..95d7ca8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +node_modules/ +dist/ +*.js.map +.DS_Store diff --git a/IDEAS.md b/IDEAS.md new file mode 100644 index 0000000..34241df --- /dev/null +++ b/IDEAS.md @@ -0,0 +1,142 @@ +# Fireclaw Ideas + +Future features and experiments, loosely prioritized by usefulness. + +## Operator Tools + +### !status command +Quick dashboard in IRC: agent count, RAM/CPU per VM, Ollama model currently loaded, system uptime, disk free. One command to see the health of everything. + +### !logs [n] +Tail the last N interactions an agent had. Stored in the agent's workspace. Useful to see what an agent's been doing while you were away. + +### !persona [new persona] +View or live-edit an agent's persona via IRC. "Make the worker more sarcastic" without touching files or restarting. Uses hot-reload under the hood. + +### !pause / !resume +Temporarily mute an agent without destroying it. Agent stays alive but stops responding. Useful when you need a channel to yourself. + +## Agent Tools + +### Web search +Agents can search via the searx instance on mymx. Either bake the searx CLI into the rootfs, or add a proper `web_search(query)` tool that calls the searx API from inside the VM. Agents could actually research topics instead of relying on training data. + +### Fetch URL +`fetch_url(url)` tool to grab a webpage, strip HTML, return text. Combined with web search, agents become genuine research assistants. Could use `curl | python3 -c "from html.parser import..."` or a lightweight readability script. + +### File sharing between agents +A shared `/shared` mount (third virtio drive, or a common ext4 image) that all agents can read/write. Drop a file from one agent, pick it up from another. Enables collaboration: researcher writes findings, coder reads and implements. + +### Code execution sandbox +A `run_python(code)` tool that's safer than `run_command`. Executes in a subprocess with resource limits (timeout, memory cap). Better for code agents that need to test their own output. + +## Automation + +### Cron agents +Template gets an optional `schedule` field: `"schedule": "0 8 * * *"`. The overseer spawns the agent on schedule, it does its task, reports to #agents, and self-destructs. Use cases: +- Morning health check: "any disk/memory/service issues on grogbox?" +- Daily digest: "summarize what happened in #agents yesterday" +- Backup verification: "check that last night's backups completed" + +### Webhook triggers +HTTP endpoint on the host (e.g., `:8080/hook/