Developers
API, MCP, and machine-readable indexes.
Public stats at api.duyet.net (same-origin mirror at duyet.net/api), an MCP server, and the files agents use to find the rest of the site. GET endpoints need no auth.
Public API
| Method | Endpoint | Description |
|---|---|---|
| GET | /health | Service health check. |
| GET | /api/ai/percentage/current | How much of duyet.net is AI-written, right now. |
| GET | /api/ai/percentage/history?days=N | AI-percentage time series for the last N days. |
| GET | /api/ai/percentage/available | Days with AI-percentage data available. |
| GET | /api/insights/overview | Aggregated development insights from this site. |
| POST | /api/llm/generate | LLM generation (card descriptions). Requires a bearer token. |
Public GET endpoints need no auth. POST /api/llm/generate uses Authorization: Bearer <token> — request access at [email protected]. OAuth scopes read:profile and chat are declared in /.well-known/oauth-protected-resource. Responses carry RateLimit-* headers; exceeding the limit returns 429 with Retry-After.
MCP
CV, blog posts, GitHub activity, and contact tools over Streamable HTTP at https://mcp.duyet.net/mcp:
claude mcp add --transport http duyet https://mcp.duyet.net/mcpMachine-readable files
- /openapi.jsonOpenAPI 3.1 spec for the public API.
- /llms.txtLLM-friendly index of the whole site.
- /sitemap.xmlEvery indexable page.
- /.well-known/api-catalogLink-set catalog of available APIs.
- /.well-known/oauth-protected-resourceOAuth protected-resource metadata.
- /.well-known/mcp/server-card.jsonMCP server card.
CLI
One binary for posts, notes, KB, and the agent. macOS and Linux use a POSIX installer; Windows uses PowerShell. Channel manifests: /cli/stable.json and /cli/beta.json.
curl -fsSL https://duyet.net/install.sh | shDUYET_CHANNEL=beta curl -fsSL https://duyet.net/install.sh | shDUYET_VERSION=0.1.0-beta.1 curl -fsSL https://duyet.net/install.sh | shirm https://duyet.net/install.ps1 | iexgh attestation verify duyet-x86_64-unknown-linux-musl.tar.xz --repo duyet/monorepoQuickstart
curl https://api.duyet.net/healthcurl https://api.duyet.net/api/ai/percentage/currentcurl https://api.duyet.net/api/insights/overviewduyet contact --name Ada --email [email protected] --message "Hi" --yesduyet chat "hello" --session test