Skip to main content

Portable multi-agent UX stress tester

Project description

AgentUX

Portable Multi-Agent UX Stress-Tester for local web apps.

Goal

Install once, then run AgentUX from any project root to audit that project's running app.

Install

pip install -e .
playwright install chromium

Install Anywhere

You have three practical options:

  1. Direct from local path (dev mode)
pip install -e /absolute/path/to/ux-tester
  1. Isolated global CLI via pipx (recommended for tool-style usage)
pipx install /absolute/path/to/ux-tester
  1. Build wheel and install on another machine
python -m pip install build
python -m build
pip install dist/agentux-0.1.0-py3-none-any.whl

Use In Any Project

From the target project's root directory:

  1. Install AgentUX
pip install agentux
  1. Initialize AgentUX (sets key + infers project context/scenario)
agentux init
  1. Start your web app (framework-specific)
# examples:
npm run dev
# or
pnpm dev
# or
python manage.py runserver
  1. Run AgentUX
agentux run

agentux run:

  • Requires .agentux/ to already exist (created by agentux init)
  • Ensures Playwright Chromium is installed (unless --skip-browser-install)
  • Starts dashboard and auto-starts audit

Optional:

agentux run --no-auto

Run:

agentux run

Open http://localhost:8501.

Features

  • Discovery + dynamic persona synthesis
  • Parallel persona audit loops with Playwright
  • Structured observability artifacts (screenshots, traces, JSONL logs)
  • Streamlit mission-control dashboard
  • Final UX friction report (report.md + report.json)

Artifact Output

Each run writes under the current project's .agentux:

.agentux/artifacts/<run_id>/
  config_snapshot.json
  discovery/
  agents/<agent_id>/
  aggregate/

Scenario config is read from .agentux/scenarios/default.yaml. Login credentials are read on-demand from .agentux/login.yaml when agents need to fill auth forms. Use this format:

accounts:
  - username: student@example.com
    password: your-password
  - username: teacher@example.com
    password: your-password

Inference details are saved to .agentux/project_profile.json. Example:

default_scenario:
  id: "default"
  name: "Checkout Flow"
  goal: "Complete a purchase"
  success_assertions:
    - type: "url_contains"
      value: "/checkout/complete"
persona_overrides: {}

Optional Docker Dev Mode

docker-compose up --build

Notes

  • agentux init updates .gitignore with .agentux/.env, .agentux/login.yaml, and .agentux/artifacts/.
  • The engine fails fast on missing API key or unreachable target URL.
  • Your target app must already be running before agentux run.

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

agentux-0.1.4.tar.gz (30.6 kB view details)

Uploaded Source

Built Distribution

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

agentux-0.1.4-py3-none-any.whl (32.2 kB view details)

Uploaded Python 3

File details

Details for the file agentux-0.1.4.tar.gz.

File metadata

  • Download URL: agentux-0.1.4.tar.gz
  • Upload date:
  • Size: 30.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for agentux-0.1.4.tar.gz
Algorithm Hash digest
SHA256 8993b74bf783c6d3c6dc43d13455821181853ea4d7d7a21fb1a776cd2e73baf6
MD5 64c6157d67bed040d2c7e4951a4eecfc
BLAKE2b-256 3252f4aaf37ba2dc40e836dfe43d82bc0f44e5fb62c9e62a17bb6174deeea7a5

See more details on using hashes here.

File details

Details for the file agentux-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: agentux-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 32.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for agentux-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 597562bfc29d741d57af9bd8e3a6906cbd26f4f9f9b9f42dcefd8bcc5b3a21f5
MD5 ff93612db4d40c41eaf4b6e0e9770f7a
BLAKE2b-256 66dc76005262f7efe0476880026340bcc7cca4a823327095c46477657b5ee67b

See more details on using hashes here.

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