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