Same detection engine, same output. Pick the card that matches your stack. If your framework isn't listed, the Custom Python or Custom Node path works with anything you've wired together yourself.
One line wires it in. Drop it around your compiled graph and you're done.
from agentsonar import monitor graph = monitor(your_graph.compile())
Any framework, no orchestrator required. Works with hand-rolled loops or any framework without a native adapter. Call sonar.delegation() wherever one agent hands work to another.
from agentsonar import monitor_orchestrator sonar = monitor_orchestrator() sonar.delegation("researcher", "writer") sonar.shutdown()
Any Node or TypeScript framework. Same detection, idiomatic async Node API.
import { AgentSonar } from 'agentsonar' const sonar = new AgentSonar({}) sonar.delegation('researcher', 'writer') await sonar.shutdown()
For OMA-style event bus architectures. If you're starting fresh, prefer the Custom Node card above — it covers most use cases directly.
import { emitDelegations } from "@agentsonar/oma" await emitDelegations(tasks)
Terminal CLI + desktop app. Every tool call and subagent is watched. One install command wires .claude/settings.json — no code changes needed.
# install once, then start a fresh session
pip install agentsonar
agentsonar install-claude-hooks
Auto-attaches to CrewAI's event bus. Detects 3 of 8 failure patterns today: loop detection, repetitive delegation, and resource exhaustion. Full coverage and Prevent Mode coming soon.
from agentsonar import AgentSonarListener listener = AgentSonarListener() crew.kickoff() listener.shutdown()
Native adapters for each. Today, plug in via the Custom Python card above.
Native adapter in progress. Today: use the Custom Python path — monitor_orchestrator() + sonar.delegation() wherever agents hand off.
Native adapter in progress. Today: same Custom Python path works with Claude-based multi-agent systems.
Native adapter in progress. Today: the Custom Python path handles AutoGen's agent-to-agent delegation patterns.
Working on a framework not listed? The Custom Python or Custom Node card handles any orchestrator.
For a native adapter: open a feature request →