01
Live attach
Attach to a running workflow and watch it execute as a graph — every node, edge, and tool call, while it happens. Not a trace viewer for afterwards.
GraphMind is out — open source, MIT, local-first. Star it on GitHub.
Open source · MIT · Local-first
Attaches while it’s happening.
Your traces shouldn’t be a post-mortem. GraphMind attaches to the run itself: watch your agent execute as a live graph, pause on error, set breakpoints, step through every input and output, inject a fix, and resume.
npx graphmind-ai demo
One command, no API key — watch a real debug session pause on a planted bug. Or try the debugger in your browser, nothing to install.
What it does
01
Attach to a running workflow and watch it execute as a graph — every node, edge, and tool call, while it happens. Not a trace viewer for afterwards.
02
Set breakpoints on any node. Pause automatically on error. Step through the run the way you step through code.
03
Open any node and read its exact inputs and outputs. Edit state, inject a fix, and resume — no restart, no replay.
04
npx graphmind-ai and you’re debugging. Loopback-only server,
keys kept out of the recording, run data that stays put. MIT licensed.
How it works
GraphMind never authors your workflow — the graph is a projection of the code you already wrote. Wrap your model and tools, run your agent, and the debugger attaches. There are adapters for the Vercel AI SDK, the Anthropic and OpenAI SDKs, LangGraph/LangChain and Python, plus generic OpenTelemetry and OpenInference trace import — and a proxy that debugs an MCP server in any language with no code changes at all.
npx graphmind-ai init detects your framework and prints the snippet to add.npx graphmind-ai starts the local debugger.Need to hand a bug to someone else?
npx graphmind-ai record <run> --html writes the whole run to a single
self-contained HTML file — it opens in any browser, with no server and no account.
import { graphmind } from '@graphmind-ai/sdk';
const gm = graphmind({ app: 'support-agent' });
const model = gm.wrapModel(anthropic('claude-sonnet-4-5'));
const tools = gm.wrapTools({ searchFlights, checkBudget });
Local-first, precisely: the server binds 127.0.0.1 only and
refuses connections from foreign browser origins. Your API keys never enter the recording —
a dedicated credential-leak audit asserts it on every build. Your prompts, outputs and traces
stay on your machine. The CLI does send one anonymous ping per command (its name, a random
install id, the version — never arguments, prompts or run data), which
GRAPHMIND_TELEMETRY=0 turns off;
here is exactly what it sends.
Works with your stack
@graphmind-ai/sdk@graphmind-ai/anthropic@graphmind-ai/openai@graphmind-ai/langgraphpip install graphmind-aigraphmind mcp-proxy -- your-servernpx graphmind-ai import trace.jsonNot sure which you need? npx graphmind-ai init reads your project and tells you.
For teams
A self-hosted Team edition is in the works: shared run history, workspaces, and SSO, running entirely on your own infrastructure with flat annual pricing. No per-seat metering, no traces leaving your network.
Want it early, or want to shape it? Email hello@graphmind.ai — design partners get it first, at a permanent discount.