SlopTotal, a Self-hosted AI text detector that runs 23 open models SlopTotal, a free self-hosted open-source AI text detector from developer pablocaeg, runs 23 independent detection engines in parallel on a user's own CPU and reports an overall AUC of 0.974 on a 110-text RAID corpus, with 90% of AI text reaching "Suspicious" or above and 1 of 66 human texts wrongly labeled "Likely AI." A September 2026 re-measurement on a fresh 180-text RAID sample with upgraded dependencies produced AUC 0.979, 1 of 40 human texts called "Likely AI," and 0 of 26 literary passages flagged. The tool ships as a Docker image (ghcr.io/pablocaeg/sloptotal), accepts text, URLs, PDF, DOCX, TXT and MD input, and publishes its evaluation harness, raw per-sample scores and failure cases, including three engines found scoring backwards and two loading a randomly initialized network while carrying real ensemble weight. VirusTotal for AI-generated text. Paste text, drop in a PDF or Word file, or give it a URL. Twenty-three independent AI detectors neural classifiers, statistical tests and linguistic heuristics score it in parallel, and a calibrated ensemble turns their votes into one verdict you can inspect engine by engine. It runs on your own CPU, so nothing you scan leaves your machine. It is a free, self-hosted, open-source alternative to hosted AI content detectors such as GPTZero, Originality.ai, Copyleaks, ZeroGPT and Humalingo. Instead of one number from one model, it shows you every model's opinion, and it publishes how accurate that is, failures included. Try it: sloptotal.com https://sloptotal.com ยท Run it: docker run -p 8000:8000 ghcr.io/pablocaeg/sloptotal - 23 detection engines, one calibrated score. DeBERTa and RoBERTa classifiers, Binoculars, Fast-DetectGPT, GLTR, perplexity and burstiness tests, and stock-phrase heuristics. Results stream in as each engine finishes. - Text, URLs and documents. Paste text, scan a web page main content is extracted automatically , or upload .pdf , .docx , .txt or .md . - Site check: was this website vibe-coded? Finds the fingerprints that Lovable, v0, Bolt, Base44, Replit and Same leave in the sites they deploy, and shows the evidence for each one. How it works site-check-detect-sites-built-with-ai-app-builders - Per-paragraph heat map through the API, to see which parts read as AI. - Measured, not claimed. Every accuracy number below comes with the corpus, the harness and the raw per-sample scores. - Private by default. Self-hosted, no third-party AI APIs, no tracking, reports deleted after 30 days. - CPU-only is fine. Auto-detects your hardware; 4 GB RAM is enough for the lite profile, a GPU is optional. - JSON API and a Chrome extension https://github.com/pablocaeg/sloptotal-extension that marks AI-looking results in Google Search and LinkedIn. Most detectors publish an accuracy figure without saying what it was measured on. These numbers, the harness that produced them and the raw per-sample results are all in tests/eval/ https://github.com/pablocaeg/sloptotal/blob/master/tests/eval . Two corpora, deliberately: | Corpus | What | Size | |---|---|---| | Multi-domain | RAID: news, book prose, poetry, academic abstracts. AI from GPT-4, ChatGPT, Llama, Mistral, Cohere, GPT-3 | 110 40 human, 70 AI | | Literary control | Project Gutenberg prose published 1532-1915 -- Machiavelli, Austen, Melville, Kafka | 26 all human | The second exists because a high score there cannot be anything but an error: the writing predates language models by a century or more. Optimising on the first corpus alone produces a threshold that mislabels literature. | | Result | |---|---| | Overall AUC | 0.974 | | AI reaching "Suspicious" or above | 90% | | Human text wrongly called "Likely AI" | 1 of 66 | | Literary passages flagged | 0 of 26 | Re-measured in September 2026 on a fresh RAID sample 180 texts with upgraded dependencies: AUC 0.979, 1 of 40 human texts called "Likely AI", 0 of 26 literary passages flagged. What does not work. Short text is unreliable below roughly 80 words and settles from about 200. Hand-edited AI loses fingerprints with every rewriting pass. Source code is outside what these engines do: in testing they never falsely accused human code, and never caught machine-written code either -- so we do not claim they can. The failures are published too, including three engines found scoring backwards and two loading a randomly initialised network while carrying real ensemble weight. Read them at sloptotal.com/detect/ai-detector-benchmark/ https://sloptotal.com/detect/ai-detector-benchmark/ and sloptotal.com/detect/ai-detector-false-positives/ https://sloptotal.com/detect/ai-detector-false-positives/ . docker run -p 8000:8000 -v sloptotal-models:/app/models ghcr.io/pablocaeg/sloptotal Open http://localhost:8000 http://localhost:8000 . The first scan downloads about 2 GB of models into the sloptotal-models volume, so later starts are quick. To build from source instead, run docker compose up . Requires Python 3.10+ macOS ships 3.9, which is too old . git clone https://github.com/pablocaeg/sloptotal.git cd sloptotal python3.11 -m venv venv && source venv/bin/activate pip install -r requirements.txt ./start.sh or: uvicorn app.main:app --port 8000 Check that every engine loads and scores, end to end: python scripts/smoke test.py against http://localhost:8000 "Is this website vibe-coded?" checkers mostly score style Tailwind class counts, missing security headers, buzzwords and turn it into a percentage. Hand-written sites share all of those traits. SlopTotal looks only for markers the builders themselves leave in what they deploy, each one confirmed on live sites or in the builders' own templates: | Builder | Fingerprints | |---|---| | Lovable | gptengineer.js runtime, /lovable-uploads/ assets, the Lovable badge, /~flock.js , .lovable.app | | v0 Vercel |