The on-call bot that asks before it fixes.
Bleep watches the containers on your Docker hosts. When one breaks, it finds out why and proposes a fix. Nothing changes until you say yes, and nothing counts as fixed until Bleep has checked.
The replay is a real incident from Bleep's tests, shortened. Bleep waits for your yes, as it does on a real host.
Host demo
Watching
- shop-proxyhealthy
- shop-webhealthy
- shop-dbhealthy
- shop-workerhealthy
All four containers are fine. I check again every 15 seconds.
One incident, start to end
The same five steps every time. You are in the middle of them.
- 1
Notices
It reads each host's Docker events over SSH every 15 seconds and checks your URLs from outside. A failure that holds opens an incident.
- 2
Investigates
It reads logs, events and the host the way you would, with read-only tools, and names the cause.
- 3
Asks
It proposes a plan of named steps, like start shop-db, and waits. You say yes or no on the dashboard or in Telegram.
- 4
Fixes
Only the steps you approved run, and only from an allowlist of Docker actions.
- 5
Checks
It calls nothing fixed until the containers are healthy and the URLs answer again. Then it writes a short report.
What Bleep never does
These rules live in the code, and the tests prove them.
Changes a host without your yes
Every write waits for an explicit approval of that plan. Nothing is approved automatically.
Runs a shell it was not given
Commands come from an allowlist. There is no generic shell with write access.
Takes orders from a log line
Tool output is capped, redacted and marked as untrusted, so text in a log cannot steer it.
Shows its keys to the model
SSH keys and tokens never reach the model, and never sit in the database.
Touches itself
Bleep's own containers never open an incident and are never the target of a fix.
Says fixed without checking
A fix counts only once the service is healthy and its URL answers.
Measured, not promised
Every number comes from a dated report in the repository.
23 of 27
root causes right on the demo shop's faults, three runs each with a hosted model, in about a minute and for $0.0028 a run.
Read the report20 of 20
prompt-injection attacks through logs, replies, docs, commits and memory failed to steer Bleep or leak a secret.
Read the report7 of 8
faults right with a local 20B model served by LM Studio, at $0 a run.
Read the report
Watch one real run
65 seconds of a real incident on the demo shop, from the broken container to the report.
Built with
- Python
- FastAPI
- LangGraph
- SQLite
- Next.js 16
- Docker over SSH
- Telegram
- Hosted or local models