Observed since 20 Oct, 23:13 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Visual stepper UI for agentrr record-and-replay
Local web UI for agentrr — list saved agent runs, read a plain-language timeline, and step through replay to see if behavior still matches the recording.
Requires: Python 3.11+, agentrr>=0.1.0a2 (installed automatically).
pip install agentrr-ui
This pulls in agentrr, FastAPI, and uvicorn. No Node.js required for end users — the frontend is bundled in the wheel.
In your project, instrument with agentrr and record using a module entrypoint (so replay can import your code):
pip install agentrr
export PYTHONPATH=src # or wherever your agents package lives
python -m your_app.agents.support # example
# writes: .agentrr/runs/your_app-<id>.jsonl
Use python -m package.module, not a bare script path (python foo.py), so the log stores a stable entrypoint.
export PYTHONPATH=src # same path as when you recorded
export AGENTRR_LOG_DIR=.agentrr/runs # optional; this is the default
agentrr-ui
| Variable | Default | Purpose |
|---|---|---|
AGENTRR_LOG_DIR | .agentrr/runs | Directory containing *.jsonl run logs |
AGENTRR_UI_HOST | 127.0.0.1 | Bind address |
AGENTRR_UI_PORT | 8765 | Bind port |
Example — custom log directory:
export AGENTRR_LOG_DIR=/var/lib/agentrr/runs
agentrr-ui
Always start the app with the agentrr-ui command. Do not serve the static files with python -m http.server — that has no /api routes and the UI will break.
| Symptom | Fix |
|---|---|
| Empty session list | Record a run first, or set AGENTRR_LOG_DIR to where your .jsonl files live |
| Refresh shows HTML 404 | Wrong process on port 8765. Run lsof -i :8765, stop any http.server, use agentrr-ui |
| Replay hangs or errors | Set PYTHONPATH so replay can import your agent module; re-record with python -m … |
| "Next" does nothing | Restart agentrr-ui after upgrading; each step can take several seconds |
Replay executes your agent's real Python entrypoint — arbitrary code execution by design.
127.0.0.1 only (localhost).Run agentrr-ui on the same host, bound to localhost. Put nginx in front for HTTPS and password protection:
server {
listen 443 ssl;
server_name agentrr.example.com;
ssl_certificate /etc/ssl/certs/agentrr.crt;
ssl_certificate_key /etc/ssl/private/agentrr.key;
auth_basic "agentrr";
auth_basic_user_file /etc/nginx/.htpasswd;
location / {
proxy_pass http://127.0.0.1:8765;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Create credentials:
htpasswd -c /etc/nginx/.htpasswd youruser
Reload nginx. Users hit https://agentrr.example.com; the app stays on 127.0.0.1:8765.
git clone https://github.com/ip174/agentrr.git
cd agentrr
uv sync --group dev
cd packages/agentrr-ui/frontend && npm ci && npm run build
uv pip install -e . -e packages/agentrr-ui
export PYTHONPATH=examples
agentrr-ui
Apache-2.0
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.1.0a3 | 29 May 2026 | 4 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 23:13 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:b662a8d3c18d6a9abef98be50948a007bf685e8e77cf384d370c25d203a8fe8d