# Wake

> Wake shows a website which AI agents reach it, what they tried, where they got stuck, and what to change so agents can navigate the site, then lists the site so more agents arrive. Raw IP, user-agent, query strings, bodies, cookies and referrers are never stored.

Wake has two halves that share one desk:

- **AXO** (agent experience observability): a small collector on your edge or server mirrors agent requests, coarsened on your side, to Wake. The desk turns them into sessions, a funnel (discovered → read docs → authenticated → attempted action → converted), friction (auth walls, rejected calls, retry loops, docs dead ends) and ranked fixes with evidence.
- **AEO** (agent engine optimisation): a readiness check of your public site as an agent sees it (homepage, robots.txt, llms.txt, sitemap, agent card), publish-ready discovery files, and a gated listing plan measured by identified agents only. Crawlers are counted separately and never sold as agents.

## Where to go

| Need | Go to |
|---|---|
| See it before installing | [Sample desk](/wake/demo) (a labelled model, not live traffic) |
| Check any public site | `/wake/?host=yourdomain.com` |
| Open a desk for your site | [Start tracking](/wake/signup) |
| Install the collector | [Install](/wake/docs/install) |
| Read the data from code | [API](/wake/docs/api) · [OpenAPI](/api/wake/v1/openapi.json) |
| Ask your AI about your agents | [MCP](/wake/docs/mcp) (Claude Code, Cursor, Codex, Claude Desktop) |
| Terminal | [CLI](/wake/docs/cli) |
| What is kept | [Privacy](/wake/docs/privacy) |

## The loop

1. **Verify** you own the host (DNS TXT or a well-known file).
2. **Deploy** the collector (Cloudflare Worker, Express middleware or Next.js middleware). Agents are headless, so a browser pixel never sees them; the collector does.
3. **Watch** the first agent session land. The desk, the API, the CLI and your AI assistant all read the same rows.
4. **Fix** what the friction says: a 401 with no instructions, a docs page with no runnable first request, a 5xx on the action call.
5. **List** the site: publish `llms.txt`, allow named AI clients in `robots.txt`, keep the sensor door, and judge arrivals by identified agents.

## Vocabulary

- **Nickname**: a daily HMAC of the agent's network identity, computed on your side with your own secret. The same machine is a new nickname tomorrow; nothing in Wake can be joined back to an address.
- **Page class**: `home`, `docs`, `auth`, `pricing`, `checkout`, `account`, `search`, `api`, `discovery`, `other`. The collector sends the class, never the URL.
- **Identified agent**: a client that names itself (Claude, ChatGPT, Cursor, Perplexity…) or a user-triggered fetcher. Smithery scanners, Amazonbot, Meta, Yandex and bare Chrome on a crawler network are crawlers, reported but never billed.

This site is built with the same rules it recommends: a readable `llms.txt`, Markdown docs at `/wake/docs/*.md`, an agent card at `/.well-known/agent-card.json`, and an OpenAPI description.
