Skip to main content

Visual stepper UI for agentrr record-and-replay

Project description

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

  1. Lists sessions — every recorded agent run in your log directory.
  2. Shows what happened — a short story (Started → Asked AI → Used tool → Finished), not raw JSON.
  3. Check replay — re-runs your agent step-by-step and compares it to the saved recording.
  4. 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

Open http://127.0.0.1:8765

3. Inspect and replay

  1. Click a session on the home page.
  2. Read What happened (the timeline).
  3. Click Check replay, then Next for each important step (AI calls and tool use).
  4. 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.1 only (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

License

Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agentrr_ui-0.1.0a3.tar.gz (91.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentrr_ui-0.1.0a3-py3-none-any.whl (94.8 kB view details)

Uploaded Python 3

File details

Details for the file agentrr_ui-0.1.0a3.tar.gz.

File metadata

  • Download URL: agentrr_ui-0.1.0a3.tar.gz
  • Upload date:
  • Size: 91.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for agentrr_ui-0.1.0a3.tar.gz
Algorithm Hash digest
SHA256 956d581655255e86273947f4c4a7a8c05ba0477fecfbb35d22872851a97b3279
MD5 e8e58d865fbb3c131f45edba0cbafbbd
BLAKE2b-256 028f617436e4774ae557d178a20a292ccbff8a38aebbf5d4cd69d046f736c2db

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentrr_ui-0.1.0a3.tar.gz:

Publisher: release.yml on ip174/agentrr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agentrr_ui-0.1.0a3-py3-none-any.whl.

File metadata

  • Download URL: agentrr_ui-0.1.0a3-py3-none-any.whl
  • Upload date:
  • Size: 94.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for agentrr_ui-0.1.0a3-py3-none-any.whl
Algorithm Hash digest
SHA256 665a6af355ec33c1a75558c30dfbce14505bb425ae05e3a6199b144136e47e79
MD5 7c0947fa724b81a5f8952e1139a7b569
BLAKE2b-256 f1d8f87720ffa716664d0efa93440d026796009efebdb3599e555c9c642ad136

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentrr_ui-0.1.0a3-py3-none-any.whl:

Publisher: release.yml on ip174/agentrr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page