OpenAlerts watches your agentic stack in real-time. LLM errors, stuck sessions, gateway outages - delivered to Slack, Discord or Telegram the moment they happen.
Zero configuration. OpenAlerts instruments your agent automatically - no changes to your existing code.
pip install openalertsimport openalerts
from app.agent.manus import Manus
async def main():
await openalerts.init({}) # add this
agent = Manus()
await agent.run("Your task") # unchangednpm install -g @steadwing/openalerts# 1. auto-detect your OpenClaw config
openalerts init
# 2. configure your alert channel
# ~/.openalerts/config.json
# 3. start monitoring (separate process)
openalerts startA live web dashboard launches automatically. Every event, every session, every alert - persisted in JSONL, survives agent restarts. Your data never leaves your machine.
They don't throw exceptions you notice. They just keep running - burning tokens, consuming budget, blocking users - while you have no idea.
The session shows active. The agent is stuck in a loop, repeating the same tool call every 30 seconds, burning tokens with every attempt.
Sentry can't detect a stuck session. Datadog doesn't know what “50% LLM error rate over 20 calls” means. These tools weren't built for agentic failure modes.
By the time a user complains or your LLM invoice spikes, the agent has been failing for hours. OpenAlerts catches it within seconds.
Install the package alongside your existing agent setup. No native build steps. No heavy dependencies.
Call openalerts.init({}) before your agent runs. OpenAlerts monkey-patches your framework automatically - zero changes to your agent logic.
Run openalerts init to auto-detect your OpenClaw config, then configure your alert channel and start the monitoring process.
The moment a rule fires - session stuck, LLM error spike, cost threshold breached - your team gets notified before users notice.
All thresholds configurable. All rules ship on day one. No setup required - they run against every event in real time.
Agent idle with no progress for too long
API failures or model errors per minute
Tool execution failures per minute
Consecutive missed heartbeats from gateway
Failure percentage over last N calls
No heartbeat received (watchdog timer)
Infrastructure-level errors per minute
Pending items in alert delivery queue
LLM spend rate per hour exceeded
LLM spend exceeds daily budget cap
Child agent failures in multi-agent workflows
Configure multiple channels simultaneously. Alert delivery is fire-and-forget - if one channel is down, your agent never blocks.
Webhook URL integration. Alerts land in the channel of your choice with full alert context.
Webhook URL integration. Direct HTTP POST to your Discord server channel, no bot needed.
Bot API integration. Real-time message delivery via Telegram bot to any chat or group.
HTTP POST to any URL. Pipe alerts into PagerDuty, custom dashboards, or any endpoint.
Runs fully locally. No cloud dependency, no data leaving your machine, no pricing tiers. Just a tool that works.
Four frameworks are live: OpenManus (Python), OpenClaw (Node.js), nanobot (Python), and CrewAI (Python). The nanobot adapter includes subagent lifecycle tracking — subagent.spawn, subagent.end, and subagent.error events — with parent/child session correlation. Adapters for LangChain, Vercel AI SDK, and Mastra are in development. The event model is universal, so new adapters drop in with minimal code.
No. OpenAlerts runs fully locally — no external service calls, no cloud backend, no telemetry. Events are persisted to JSONL files in ~/.openalerts/ on your own machine. Nothing leaves.
No. Alert delivery is fire-and-forget. If Telegram is down or a webhook times out, your agent is never blocked — the alert is logged and the engine moves on. The monitoring overhead is negligible.
Yes. Every rule's threshold and cooldown is configurable via config.json. You can also disable individual rules entirely. Custom rule authoring is planned for a future release.
Use Python (pip install openalerts) for OpenManus or nanobot. Use the Node CLI (npm install -g @steadwing/openalerts) for OpenClaw. The Python adapter supports 6 core alert rules; the Node adapter covers all 10, including cost tracking and queue depth. Both use the same config format and alert channels.
Generic APM tools don't understand agentic failure modes. Sentry doesn't know what a “stuck session” is. Datadog can't alert on “error rate over the last 20 LLM calls.” OpenAlerts rules are purpose-built for how AI agents actually fail — loops, token overruns, gateway disconnects, cost spikes.