Congregating scattered signals into shared understanding. Unified observability for autonomous agents — running entirely on your machine.
$ pip install moolmesh && mool dashboard
Everything your agents are doing — in a single browser tab.
Live event feed from all agents. Messages, tool calls, token usage, models — as they happen.
Token consumption by provider, hourly activity, top tools, top projects. See where the spend goes.
PR kanban, issues, milestones, GitHub Projects v2. The state of the work, human and AI alike.
Commit feed, author stats, hot files, daily and weekly digest narratives powered by LLM.
Auto-discovered on startup. No configuration, no API keys, no cloud.
If it matters, it lives in SQLite. If it's in SQLite, it's queryable. No volatile caches, no ephemeral memory.
No corporate loyalties. Adding a new agent is an adapter, not a rewrite. The tool serves the developer, not the vendor.
Python standard library and SQLite. No accounts, no API keys, no data leaving your machine. Privacy is the architecture.
Session discovery is automatic. If setup takes more than a minute, something is wrong.
Built for developers who care about what runs on their machine.
MoolMesh works with a dashboard or without one.
Read-only access to session data via the Model Context Protocol. Any MCP-compatible agent can query active sessions, token usage, tool stats, and project activity. Runs as a separate process (~15 MB RAM), independent from the dashboard.
Generate Markdown reports, discover sessions, and manage repos — all without launching the dashboard. Ideal for CI pipelines, cron jobs, or scripting into your existing workflow. Every command exits cleanly with structured output.
No pip packages at runtime. tomllib, sqlite3, http.server, threading. That's the stack.
Two databases: events.db for sessions, github.db for repos. WAL mode, transactional offsets, crash-safe. Schema migrates automatically on startup.
Server-Sent Events with id: fields for zero-gap reconnection. Browser disconnects and reconnects get replayed from SQLite — no events lost.
macOS uses kqueue for instant file detection. Linux falls back to polling (~1s). Both work out of the box, no configuration needed.