站点架构总览
Read.Wiki 不是一个普通的 Starlight 文档站:它同时是一个可被 AI 工具直接读取的文档源。要理解它,需要认识三条并行的访问路径。
三种读者,三条路径
Section titled “三种读者,三条路径”| 读者 | 入口 | 传输格式 |
|---|---|---|
| 浏览器用户 | /zh/...、/en/... | HTML + Pagefind 搜索 |
| 纯文本抓取类 AI | /llms.txt、/llms-full.txt | text/plain |
| MCP 客户端(Claude Desktop 等) | /mcp | JSON-RPC over Streamable HTTP |
前两条是静态可预渲染的;第三条是按需 SSR,这也是整个项目选择 Astro SSR + @astrojs/node 的根本原因。
src/content/docs/{zh,en}/— 所有 Markdown 内容;Starlight 在构建期消费,src/lib/docs.ts在运行期消费src/lib/docs.ts— 同时服务”AI 索引生成”与”MCP 搜索”的唯一信息源src/lib/mcp.ts— 把docs.ts的产物注册为 MCP 资源、工具与 promptsrc/pages/mcp.ts—POST /mcp的 JSON-RPC 端点,每个请求建一个无状态 server
astro.config.mjs 通过环境变量 VERSION 切换 base。main → /,v2.0 → /v2.0/。同一份源码可以分别构建出 /、/v1.0/、/v2.0/ 三个产物,部署时放到同一个静态目录即可。