Skip to main content

Site Audit Agent - CLI tool for automated website audits

Project description

Site Audit Agent (SAA)

CLI tool for automated website audits using stealthy headless Chromium and LLM-powered analysis.

Quick Start

saa init                         # Setup config and API keys
saa audit https://example.com    # Run an audit

Installation

Single User (macOS/Linux) - Recommended

# Install pipx if needed
brew install pipx        # macOS
# or: sudo apt install pipx   # Ubuntu/Debian

# Install SAA from PyPI
pipx install site-audit-agent

# Setup (installs Chromium, creates config)
saa init

# Add your API keys
vi ~/.saa/.keys

Multi-User Server (Ubuntu/Debian)

System-wide install with shared settings - each user provides their own API keys.

# 1. Install pipx and SAA (as root)
sudo apt install pipx
sudo PIPX_HOME=/opt/pipx PIPX_BIN_DIR=/usr/local/bin pipx install site-audit-agent

# 2. Initialize system config (auto-installs Playwright Chromium to /opt/playwright)
sudo saa init --system

# 3. Verify
saa --version
saa audit https://example.com --no-llm -o test.md

Server Install - Quick Copy/Paste

# As root
sudo apt install pipx
sudo PIPX_HOME=/opt/pipx PIPX_BIN_DIR=/usr/local/bin pipx install site-audit-agent
sudo saa init --system

Install from GitHub (Latest/Dev)

# Single user
pipx install git+https://github.com/iXanadu/saa.git

# Multi-user server
sudo PIPX_HOME=/opt/pipx PIPX_BIN_DIR=/usr/local/bin pipx install git+https://github.com/iXanadu/saa.git

Server Update

# PyPI version
sudo PIPX_HOME=/opt/pipx PIPX_BIN_DIR=/usr/local/bin pipx upgrade site-audit-agent

# GitHub version
sudo PIPX_HOME=/opt/pipx PIPX_BIN_DIR=/usr/local/bin pipx reinstall site-audit-agent

Development Install

cd /path/to/saa
pip install -e .
playwright install chromium

Configuration

Config loads in order (later overrides earlier):

Location Purpose Precedence
/etc/saa/ System-wide (admin) 1 (lowest)
~/.saa/ User config 2
./.env, ./.keys Project override 3
Environment vars Runtime override 4 (highest)

Config Files

~/.saa/           # or /etc/saa/ for system
├── .env          # Settings
├── .keys         # API keys (keep secret!)
├── audit-plan.md # Default audit plan
└── plans/        # Archived plan versions

Environment Variables

Variable Description
XAI_API_KEY xAI API key (for Grok)
ANTHROPIC_API_KEY Anthropic API key (for Claude)
SAA_DEFAULT_LLM Default LLM (e.g., xai:grok, anthropic:sonnet)
SAA_DEFAULT_PLAN Path to default audit plan
SAA_OUTPUT_DIR Directory for auto-saved reports
SAA_MAX_PAGES Max pages to crawl
SAA_DEFAULT_DEPTH Max crawl depth

Usage

Basic Examples

saa audit https://example.com              # Basic audit
saa audit https://mysite.com -o report.md  # Save to file
saa audit https://mysite.com -q            # Quiet mode (status line only)
saa audit https://mysite.com -v            # Verbose output

Audit Modes

saa audit https://mysite.com -m own        # Deep audit (default)
saa audit https://competitor.com -m competitor  # Light scan
Mode Depth Max Pages Purpose
own 10 200 Deep audit of your sites
competitor 1 20 Light scan for insights

LLM Options

saa audit URL -l xai:grok           # Use xAI Grok
saa audit URL -l anthropic:sonnet   # Use Claude Sonnet
saa audit URL --no-llm              # Skip LLM (basic report)

Custom Audit Plans

saa audit URL -p ./my-plan.md       # Use custom plan
saa audit URL --no-plan             # Skip default plan

Crawl Pacing

saa audit URL --pacing off          # No delays (fast, detectable)
saa audit URL --pacing low          # 0.5-1.5s delays
saa audit URL --pacing medium       # 1-3s delays (default)
saa audit URL --pacing high         # 2-5s delays (stealthy)

Management Commands

Check for Updates

saa check                # Compare installed vs latest
saa update               # Update via pipx reinstall

Plan Management

saa plan                 # Show current plan location
saa plan --view          # Output current plan to stdout
saa plan --edit          # Open plan in editor ($EDITOR or vi)
saa plan --update        # Update to latest bundled plan
saa plan --bundled       # Show the bundled default plan
saa plan --list          # List archived versions
saa plan --rollback      # Restore previous version

View Config

saa config --list        # Show current settings

All Options

saa audit [OPTIONS] URL

Options:
  -p, --plan PATH          Custom audit plan (overrides config)
  --no-plan                Skip audit plan
  -m, --mode [own|competitor]  Audit mode
  -d, --depth INTEGER      Max crawl depth
  --max-pages INTEGER      Max pages to crawl
  -l, --llm TEXT           LLM provider:model
  --no-llm                 Skip LLM analysis
  -o, --output PATH        Output file path
  -q, --quiet              Quiet mode (status line only)
  -v, --verbose            Verbose output
  --pacing [off|low|medium|high]  Crawl pacing

Updating

# Check if update available
saa check

# Update (if installed via pipx)
saa update

# Or manually
pipx reinstall saa

Troubleshooting

"playwright: command not found"

Use Python module directly:

python3 -m playwright install chromium
# Or for pipx install:
~/.local/pipx/venvs/saa/bin/playwright install chromium

"No module named playwright" with sudo

Install to system pipx location:

sudo PIPX_HOME=/opt/pipx PIPX_BIN_DIR=/usr/local/bin pipx install ...

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.


Acknowledgments

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

site_audit_agent-0.5.0.tar.gz (39.7 kB view details)

Uploaded Source

Built Distribution

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

site_audit_agent-0.5.0-py3-none-any.whl (43.7 kB view details)

Uploaded Python 3

File details

Details for the file site_audit_agent-0.5.0.tar.gz.

File metadata

  • Download URL: site_audit_agent-0.5.0.tar.gz
  • Upload date:
  • Size: 39.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for site_audit_agent-0.5.0.tar.gz
Algorithm Hash digest
SHA256 d45fbd4cfaed5a615f9714d3821cc0534ca534c15e44e55b95a01600b3ad4d5c
MD5 be45fc315ef46e47f29e36813fa068c0
BLAKE2b-256 008a508f09ec89601f43cdb8957821b362e65dc1abea42d6dd7714d104380723

See more details on using hashes here.

File details

Details for the file site_audit_agent-0.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for site_audit_agent-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d6a4f06b0be69a1cd03356cc65fcd60f237d751919aba3ac0afd4d7c5a0f31ef
MD5 49ae4363143f04ea398c971309056e4a
BLAKE2b-256 ed6c124d292d772bfb14e5c88c4321c8955aa1e4c190a6a6158d365ad38266a8

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