Can AI agents use ur site?
OpenIngress crawls websites, inspects what AI agents can see and interact with, and runs LLM-guided tasks to identify navigation breakpoints. It generates reports on coverage, operability scores, and blocker evidence, helping developers ensure their sites are agent-friendly.
Uh oh!
There was an error while loading. Please reload this page.
Notifications You must be signed in to change notification settings
Fork 2
Star 5
BranchesTags
Open more actions menu
Folders and files
NameName
Last commit message
Last commit date
Latest commit
History
3 Commits
3 Commits
backend
backend
deploy
deploy
docs
docs
frontend
frontend
supabase
supabase
.dockerignore
.dockerignore
.env.example
.env.example
.gitignore
.gitignore
CONTRIBUTING.md
CONTRIBUTING.md
DEPLOY.md
DEPLOY.md
DEPLOY_AZURE.md
DEPLOY_AZURE.md
Dockerfile
Dockerfile
LICENSE
LICENSE
Makefile
Makefile
README.md
README.md
SECURITY.md
SECURITY.md
SELF_HOST.md
SELF_HOST.md
package-lock.json
package-lock.json
railway.toml
railway.toml
Repository files navigation
Self-hosted web operability analysis.
Crawl coverage, accessibility-tree inspection, and agent navigation break points.
openingress.dev · Architecture · Quick start · Self-host
Background
The problem
AI agents are starting to browse the web for people — opening pages, clicking buttons, filling forms. A site can look fine in a browser and still be hard for an agent to use: buttons without labels, pages that only load in JavaScript, links that never show up in the page structure agents read.
Being findable (SEO, citations, llms.txt) is not the same as being usable by an agent on the live site.
What OpenIngress does
OpenIngress crawls a site like a browser would, inspects what an agent can actually see and click, then runs LLM-guided tasks against that crawl. The output is a report: which pages were reached, what broke, and where navigation stalled.
Architecture
flowchart TB subgraph crawl["Crawl (Playwright)"] URL[Site URL] --> BFS[BFS page discovery] BFS --> CAP[HTML · screenshots · aria snapshots] end
subgraph analyze["Analyze"] CAP --> STATIC[Static operability] CAP --> GRAPH[Navigation graph] STATIC --> GAPS[Gap taxonomy] end
subgraph explore["Explore (BYOK LLM)"] GRAPH --> CATALOG[Page catalog] CATALOG --> JOBS[Exploration jobs] LLM[OpenAI-compatible API] --> JOBS JOBS --> TRACE[Job traces · blockers] end
subgraph report["Report"] GAPS --> OUT[Coverage + break points] TRACE --> OUT end
Loading
Stage Input Output
Crawl Public URL Page graph, DOM, screenshots, Playwright accessibility snapshots
Analyze Crawl artifacts Operability scores, label coverage, llms.txt, hydration checks, gap taxonomy
Explore Catalog + LLM key Reachability jobs, task attempts, blocker evidence
Report Analysis + job results Readiness metrics, break points, markdown export
Default crawl bounds: depth 3, max 100 pages.
Stack
Layer Components
API Flask, Gunicorn
Automation Playwright (Chromium), Python 3.10+
Exploration OpenAI-compatible LLM (Azure, Gemini, Ollama, local proxy)
UI Vue 3, Vite
Persistence Local filesystem; optional Supabase
Quick start
cp .env.example .env cp backend/.env.example backend/.env cp frontend/.env.example frontend/.env
LLM_API_KEY required in backend/.env
make install make backend # terminal 1 — API make frontend # terminal 2 — UI
Configuration, Docker, and deployment: SELF_HOST.md.
Configuration
Variable Required Description
LLM_API_KEY yes Provider key (OpenAI or compatible)
LLM_BASE_URL no Custom endpoint
LLM_MODEL_NAME no Default gpt-4o-mini
AUTH_DISABLED no Default 1
Runs and exploration require a configured LLM key.
Repository layout
Path Description
backend/ Flask API, crawl/explore workers, report generation
frontend/ Vue dashboard
docs/ Agent brief, Playwright recording notes
Dockerfile Playwright + Gunicorn container
License
MIT
About
Find where AI agents break when navigating your site.
openingress.dev
Resources
Readme
License
MIT license
Contributing
Contributing
Security policy
Security policy
Uh oh!
There was an error while loading. Please reload this page.
Activity
Custom properties
Stars
5 stars
Watchers
1 watching
Forks
2 forks
Report repository
Releases
No releases published
Packages 0
Uh oh!
There was an error while loading. Please reload this page.
Contributors
Uh oh!
There was an error while loading. Please reload this page.
Languages
Python 69.0%
Vue 13.8%
CSS 11.6%
JavaScript 4.2%
Shell 0.9%
PLpgSQL 0.3%
Other 0.2%