This release is a pre-release and may not be stable for production use.
agentrr-ui
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).
What it does
- Lists sessions — every recorded agent run in your log directory.
- Shows what happened — a short story (Started → Asked AI → Used tool → Finished), not raw JSON.
- Check replay — re-runs your agent step-by-step and compares it to the saved recording.
- Shows differences — if something changed, highlights the step and shows saved vs replay side-by-side.
Install
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.
Quick start (record → open UI)
1. Record an agent run
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.
2. Start the UI
export PYTHONPATH=src # same path as when you recorded
export AGENTRR_LOG_DIR=.agentrr/runs # optional; this is the default
agentrr-ui
3. Inspect and replay
- Click a session on the home page.
- Read What happened (the timeline).
- Click Check replay, then Next for each important step (AI calls and tool use).
- Replay matched means today's run followed the same steps as the recording.
Run options
| 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.
Troubleshooting
| 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 |
Security
Replay executes your agent's real Python entrypoint — arbitrary code execution by design.
- Default: bind to
127.0.0.1only (localhost). - Never expose port 8765 on a public network without TLS and authentication.
- For remote access, use nginx (below) or another reverse proxy with HTTPS + auth.
nginx (TLS + basic auth)
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.
Development (from source)
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
More documentation
- Full UI guide — session page, architecture, dev workflow
- agentrr README — recording, CLI replay, guarantees
- Replay worker protocol — IPC for stepping
License
Apache-2.0
Release files for agentrr-ui 0.1.0a3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| agentrr_ui-0.1.0a3.tar.gz | 91.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agentrr_ui-0.1.0a3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size:186.1 kB
Release files / agentrr_ui-0.1.0a3.tar.gz
| Download URL | agentrr_ui-0.1.0a3.tar.gz |
|---|---|
| Size | 91.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
956d581655255e86273947f4c4a7a8c05ba0477fecfbb35d22872851a97b3279
|
|
BLAKE2b-256 checksum How to use checksums |
028f617436e4774ae557d178a20a292ccbff8a38aebbf5d4cd69d046f736c2db
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 29, 2026.
Transparency logRelease files / agentrr_ui-0.1.0a3-py3-none-any.whl
| Download URL | agentrr_ui-0.1.0a3-py3-none-any.whl |
|---|---|
| Size | 94.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
665a6af355ec33c1a75558c30dfbce14505bb425ae05e3a6199b144136e47e79
|
|
BLAKE2b-256 checksum How to use checksums |
f1d8f87720ffa716664d0efa93440d026796009efebdb3599e555c9c642ad136
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 29, 2026.
Transparency log