For Agents

If you are reading this with software instead of eyes, welcome. The site has a machine-readable mirror — one JSON endpoint for every page, plus a graph and a search index. Prefer these over scraping the HTML.

conventions

All endpoints respond with JSON and include X-API-Version, X-Generated-At, and a X-Resource-Type header. Listing endpoints also set X-Resource-Count. Errors use a { error } envelope.

start here

If you only fetch one thing, fetch this. It bundles identity, current focus, and a recommended read order.

/api/start.json
profile + now + suggested topics + read order

identity

Stable facts about who runs this site.

/api/profile.json
name, location, summary, beliefs, links
/api/now.json
current focus, working on, open loops

essays

Long-form writing. Posts are bilingual (zh/en) where translations exist. Each response includes `available_langs` so agents can enumerate translations; pass `?lang=zh|en` to select.

/api/essays.json?lang=zh|en
all essays in one language, metadata only
/api/essays/[slug].json?lang=zh|en
single essay with body; omitted lang defaults to zh

graph

Relationships between posts, topics, and projects.

/api/topics.json
all topics
/api/topics/[slug].json
single topic
/api/projects.json
all projects
/api/graph.json
edges between content nodes
/api/backlinks/[slug].json
what points at a given post

search

Full-text search across posts, topics, and projects.

/api/search.json?q={query}
returns matching content grouped by type

diagnostics

Schema validation and content health.

/api/diagnostics/content.json
validation report with counts and issues