I gave my local AI agents an org chart, a budget, and a paper trail A developer released Flash, an open-source agent shell for Ollama that lets locally hosted AI agents, called "sparks," run persistent scheduled tasks with org-chart hierarchies, per-agent token budgets, and an append-only SHA-256 hash-chained audit log. The tool adds a devtools capability exposing network logs, requests, console output and computed styles, plus rate-limited user notifications and automatic model fallback when a model is removed. The project reports 1,916 passing tests and requires no API keys. Most AI agents die when you close the chat. Mine don't. They're called sparks , and they live in Flash https://github.com/Natuworkguy/Flash , my open source agent shell for Ollama https://ollama.com . Each one gets a name, a goal, a schedule, and lines it must never cross. Then it works on its own, on your machine, and reports back. Make a spark that checks my repo every morning for new issues and tells me which ones look like bugs. Never comment on anything. Two sparks were fine. Six were six interns who had never met. So today they got a company. Any spark can report to a lead . Its reports roll up to the lead, and the lead tells you what matters, so you read one report instead of six. Each team is drawn as a live org chart, with reports flying up the lines as comets. /sparks teams add Dev Team Built-in templates Dev Team, Personal Desk start paused , so nothing burns your GPU before you've looked. A spark can propose hiring a new spark, or letting one go, with a reason. It waits as a card until you approve or decline. Off by default. Turn one on and a spark gets tokens per hour, day, week or month. When it runs out, it pauses. /sparks budget scout 50k/day Local tokens still cost you: they're GPU time, and a loop at 3am is still a loop. Every shift, tool call, approval and change goes into an append-only log. Each entry carries the hash of the one before it: hashlib.sha256 previous + body .encode "utf-8" .hexdigest Edit a line by hand and verification points at it. Pause all stops new shifts and lets running ones finish. Stop all is the big red button. The agent can already drive a web page. Now devtools gives it the network log, full requests, the console, a JS console, and computed styles. A screenshot can't show a 404. This can. notify user pops up a toast in the web UI, a browser notification in a background tab, or a desktop notification. It's rate limited, and you set the limit: /notify 8 per 30m ollama rm it, sparks fall back to another model and say so instead of crashing. 10 features in one day, 1,916 tests passing, 0 API keys. curl -fsSL https://raw.githubusercontent.com/Natuworkguy/Flash/main/install.sh | bash flash Then type /sparks new . Stars on GitHub https://github.com/Natuworkguy/Flash help a lot. What job would you give an agent that works for you around the clock? The best answer becomes a template.