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.1.tar.gz (39.8 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.1-py3-none-any.whl (43.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: site_audit_agent-0.5.1.tar.gz
  • Upload date:
  • Size: 39.8 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.1.tar.gz
Algorithm Hash digest
SHA256 08b2e85b6588f2161e8547e69a9036dbe4d17425bef2944b2a3f46346ca1c833
MD5 48564fa19c0eaed9316b2b31589e590d
BLAKE2b-256 337c6b12ff46c778eac386d75d7c76c436cb3318e1c1db7ee047130459d948bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for site_audit_agent-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 412e906f05986d24f005a340400e84ebad92f31e1f1412aa4320ad3413fee6e3
MD5 f55f3e5b1b3f288a131c826d0e792ceb
BLAKE2b-256 93ba9dae8df4fac09c6d5a1ea303544a11e489a5f36a76fab57502b01f6b7fdd

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