---
title: "Markdown 和 llms.txt 端点"
description: "添加备用 Markdown/MDX 版本、llms.txt 索引和 llms-full.txt。"
---

> Documentation Index
> Fetch the complete documentation index at: https://nimbus-docs.cn/llms.txt
> Use this file to discover all available pages before exploring further.

# Markdown 和 llms.txt 端点

添加五个端点，用于提供备用 Markdown/MDX 版本、站点和分节 `llms.txt` 索引以及 `llms-full.txt`。Nimbus 集成必须已存在于 `astro.config.ts` 中。

<h2 id="1-add-alternate-page-versions">1. 添加备用页面版本</h2>

创建纯净的 Markdown 版本：

```ts title="src/pages/[...slug]/index.md.ts"
import { markdownRoute } from "@cloudflare/nimbus-docs/agent-endpoints";

export const prerender = true;
export const { GET, getStaticPaths } = markdownRoute();
```

创建 MDX 源版本：

```ts title="src/pages/[...slug]/index.mdx.ts"
import { markdownSourceRoute } from "@cloudflare/nimbus-docs/agent-endpoints";

export const prerender = true;
export const { GET, getStaticPaths } = markdownSourceRoute();
```

这两个路由为所有集合提供服务，包括文档版本、位于 `/blog` 的博客和 API 参考。API 页面有 `.md` 版本但没有 `.mdx` 源版本。隐藏版本中的页面两者都没有。后续添加的集合不需要新的路由文件。要自定义部分或所有页面的输出，请参阅[覆盖默认值](/ai/override-markdown)。

两个路由都必须保持预渲染。如果在请求时渲染，构建会失败。

<h2 id="2-add-the-site-index">2. 添加站点索引</h2>

创建站点级别的发现索引：

```ts title="src/pages/llms.txt.ts"
import { llmsRoute } from "@cloudflare/nimbus-docs/agent-endpoints";

export const prerender = true;
export const { GET } = llmsRoute();
```

<h2 id="3-add-llms-fulltxt">3. 添加 llms-full.txt</h2>

创建包含所有可发现文档的文件：

```ts title="src/pages/llms-full.txt.ts"
import { llmsFullRoute } from "@cloudflare/nimbus-docs/agent-endpoints";

export const prerender = true;
export const { GET } = llmsFullRoute();
```

<h2 id="4-add-section-indexes">4. 添加分节索引</h2>

创建用于 `/writing/llms.txt` 等路径的路由：

```ts title="src/pages/[section]/llms.txt.ts"
import { llmsSectionRoute } from "@cloudflare/nimbus-docs/agent-endpoints";

export const prerender = true;
export const { GET, getStaticPaths } = llmsSectionRoute();
```

每个 `GET` 对未知分节返回 `404`。在请求时渲染时，如果索引无法读取，它会返回不含详细信息的 `500` 并记录错误。要更改路由提供的内容，请参阅[覆盖默认值](/ai/override-markdown#override-an-llmstxt-index)。

除非你有意让 `llms.txt` 端点在请求时渲染，否则请保持预渲染。`agent-endpoints` 辅助函数支持两种模式，并需要 Nimbus Astro 集成。构建会警告每个没有预渲染路由生成的 Markdown 版本或 `llms.txt` 索引，并指出服务它的路由；对于有意在请求时渲染的路由，可以忽略该警告。

<h2 id="verify">验证</h2>

运行生产构建，然后启动 Astro 的生产预览：

```sh
pnpm build
pnpm preview
```

在另一个终端中，将 `get-started` 和 `writing` 替换为项目中存在的路由。如果 Astro 有部署基础路径，请为每个路径添加前缀：

```sh
curl --fail http://localhost:4321/get-started/index.md
curl --fail http://localhost:4321/get-started/index.mdx
curl --fail http://localhost:4321/llms.txt
curl --fail http://localhost:4321/llms-full.txt
curl --fail http://localhost:4321/writing/llms.txt
```

每个命令必须返回带有成功状态的内容。`404` 表示缺少对应的路由文件。如果构建报告未准备的集合，请按照[其他集合](/writing/pages-and-routing#other-collections)中的说明使用 `withNimbusMarkdown()` 包装其 Markdown 加载器。如果分节索引不存在，请确认该分节有可发现的页面并出现在 `/llms.txt` 中。

<h2 id="direct-rendering">直接渲染</h2>

`renderEntryAsMarkdown()` 和 `getEntryMarkdown()` 仍然可用于不包含 `<Render>` 的条目正文。传递包含 `<Render>` 的正文会抛出错误。请使用上述端点获取备用的 Markdown 版本和 `llms.txt` 索引。`getEntryMarkdown()` 还会加载 API 引用数据，适用于预渲染路由。

<h2 id="next-steps">后续步骤</h2>

- [了解智能体文档](/ai/docs-for-agents)
- [自定义生成的 Markdown](/configuration#customize-generated-markdown)
- [配置自定义内容加载器](/writing/pages-and-routing#other-collections)

Source: https://nimbus-docs.cn/ai/publish-markdown/index.mdx
