Agent Monitor — watch your AI agent work
Skip to content
Live agent visualization · Commit review · AI commentary
Watch your agent work.
An AI agent rewriting your codebase looks like scrolling text in a<br>terminal. Agent Monitor shows you what it's actually doing — every<br>file, class, and function it touches, lighting up live.
Download for macOS<br>View on GitHub<br>Apple Silicon · DMG · signed & notarized
Animated visualization of a code graph: nodes for directories,<br>files, classes, and functions light up and pulse as an AI agent<br>modifies, adds, and removes them.
watching…
Live monitoring
See the agent, not the scrollback.
A dozen files change per agent turn, and all you get is text<br>rushing past. Agent Monitor runs beside your agent's terminal<br>and answers the question the scrollback can't:<br>what part of the system is it touching?
Changed symbols pulse the moment they land. Only the latest<br>change animates, and the rest of the graph dims around it for a<br>beat — so your eye goes exactly where the work is happening.<br>When nothing is changing, nothing moves.
A call-flow graph: an entry point on the left fans out through<br>project functions to external packages, with particles flowing<br>along the call edges and a modified function pulsing amber.
Commit & PR review
Review the shape of a change, not a wall of diff.
Point it at your uncommitted work, a commit, or this branch<br>against the one you'll merge into. AI dives into the actual<br>code and compiles per-file review notes with risk<br>levels — a one-line synopsis for every changed symbol,<br>ready before you open the PR.
A diff shows you text. This shows you which APIs broke, what's<br>new, what's gone, and how risky each piece is.
Review notes<br>main ← feature/cache
src/engine.py<br>medium<br>+35 −3
rescan() — now invalidates the symbol cache before re-walking, fixing stale results after a branch switch.
src/parser.py<br>high<br>+12 −8
parse(source, lang) — signature changed: gained a lang parameter. Callers in 3 files updated; external callers will break.
src/model.py<br>low<br>+48 −32
class Cache — new LRU cache keyed by AST hash; replaces the removed to_json() serialization path.
Pictures + prose
Pictures and prose, side by side.
Colour and motion tell you where ; the narrative<br>tells you what and why . A pink double-pulse<br>means an API broke — and the note beside it names the parameter<br>that changed and who calls it.
Symbol identity is a hash of the AST, not the source<br>text — so a formatter pass lights up nothing, and a<br>docstring edit counts. The graph never cries wolf.
signature changed
PyParser.symbols() gained a<br>lang parameter — an API-breaking<br>change. Its two in-repo callers were updated in the same<br>pass; the new hash() method backs<br>the cache added in model.py.
A class node with four method nodes: one pulsing pink for a<br>signature change, one emerald for newly added — next to the<br>AI's written explanation of that exact change.
AI augmentation
An AI reviewer that never looks away.
While the agent works, a second AI narrates: a streamed<br>play-by-play of what the agent appears to be doing, where each<br>entry describes only what changed since the last<br>one . Watching Claude stops being boring the moment<br>someone is explaining the game.
one batched request per changeset
cached per symbol
key never reaches the frontend
fully functional without a key
Narrative<br>live
implementing14:32:07
wiring14:32:41
refactoring14:33:12
The real thing
Three panes. One picture of the work.
Narrative and review notes on the left. Structure in the middle —<br>repository to functions, changes lit up. Call flow on the right,<br>entry points to external packages. It replaces the graphical bits<br>of a modern IDE with the one view an agent workflow actually needs.
Agent Monitor reviewing one of its own commits.
Get started
Running in a minute.
Download the app
Native macOS app — no Python, no Node, nothing to install.
Download for macOS<br>Apple Silicon. Signed and notarized by Apple — opens like any Mac app.
Run from source
Python 3.10+ and git. Native window via Electron, or add --browser.
Copy<br>$ git clone https://github.com/sibblegp/agent-monitor.git
$ cd agent-monitor && ./run.sh
No agent handy? python tools/simulate_agent.py /tmp/demo-repo plays a scripted editing session you can watch.
Point it at a repo Open any git repository — or one package inside a monorepo.
Let your agent loose Claude Code, Cursor, anything that edits files. It just watches the filesystem.
Watch, then review Follow the work live, then read the compiled review notes before you commit.
added
modified
signature changed
removed
external
entry point