🔶 Can AI agents use ur site?
英文标题:🔶 Can AI agents use ur site?
⬆️ 5 pts | 💬 9 comments | by manupareekk
43.3 KB
中文
⬆️ 5 pts | 💬 9 comments | by manupareekk
中文全文翻译正在补齐,可先查看下方英文原文。
English / 原文
Self-hosted web operability analysis.
Crawl coverage, accessibility-tree inspection, and agent navigation break points.
openingress.dev · Architecture · Quick start · Self-host
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.
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.
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.
| 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 |
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.
| 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.
| Path | Description |
|---|---|
backend/ |
Flask API, crawl/explore workers, report generation |
frontend/ |
Vue dashboard |
docs/ |
Agent brief, Playwright recording notes |
Dockerfile |
Playwright + Gunicorn container |