> AI coding agents: see [/llms.txt](/llms.txt) for the full documentation index. Markdown version: [/docs/manual/zh/ai/llms.md](/docs/manual/zh/ai/llms.md).

---
title: LLMs 集成
description: TockDocs 使用 Nuxt LLMs 模块生成 AI 就绪的内容文件
navigation:
  icon: i-lucide-message-circle-code
---

TockDocs 默认集成 `nuxt-llms`，为大型语言模型（LLMs）准备您的内容。所有文档页面都会被注入，并自动生成和预渲染 `/llms.txt` 和 `/llms-full.txt` 文件。

::note
查看 TockDocs 站点部署后生成的 `/llms.txt` 文件。
::

## 默认值

以下是用于生成 `/llms.txt` 文件的默认值：

- `domain` → 根据您的部署平台计算（或使用 `NUXT_SITE_URL` 环境变量）
- `title` → 从您的 `package.json` 提取
- `description` → 从您的 `package.json` 提取
- `full.title` → 从您的 `package.json` 提取
- `full.description` → 从您的 `package.json` 提取

## 自定义

您可以在 `nuxt.config.ts` 中覆盖 LLMs 数据：

```ts [nuxt.config.ts]
export default defineNuxtConfig({
  llms: {
    domain: 'https://your-site.com',
    title: '您的站点名称',
    description: '站点的简要描述',
    full: {
      title: '您的站点名称',
      description: '站点的简要描述',
    },
  },
})
```

## 原始 Markdown 访问

当启用 `nuxt-llms` 时，TockDocs 会通过规范的 `.md` 页面 URL 暴露原始预处理 Markdown/MDC，这样 AI 工具就不必读取冗长的后处理输出。

### 工作原理

- **直接页面别名**：给受支持的文档页面 URL 追加 `.md`，即可直接打开原始预处理 Markdown/MDC，例如 `/docs/manual/zh/ai/llms.md` 或 `/zh/getting-started/installation.md`
- **规范 Markdown URL**：给页面路由追加 `.md`，即可获取原始 Markdown/MDC 源码
- **兼容别名**：`/source/<page-route>.md` 和 `/raw/<content-path>.md` 仍然会解析到同一份原始源码 Markdown，方便兼容旧集成
- **Content-Type**：`text/markdown; charset=utf-8`
- **LLMs.txt 集成**：`llms.txt` 中的文档链接会自动重写为 `.md` 页面 URL，因此 Agent 获取原始 Markdown/MDC，而非完整 HTML

::note
此页面的示例路径：

- 直接 URL 别名：`/docs/manual/zh/ai/llms.md`
- 兼容源码别名：`/source/docs/manual/zh/ai/llms.md`
- 兼容 Raw 别名：`/raw/docs/manual/zh/ai/llms.md`
::

### 配置

您可以在 `nuxt.config.ts` 中自定义遗留的 `nuxt-llms` Raw 端点行为：

```ts [nuxt.config.ts]
export default defineNuxtConfig({
  llms: {
    contentRawMarkdown: {
      // 阻止特定页面集合被暴露
      excludeCollections: ['landing', 'landing_en', 'landing_fr'],
      // 保持 llms.txt 链接指向渲染页面而非原始 Markdown
      rewriteLLMSTxt: false,
    },
  },
})
```

要完全禁用遗留 Raw 端点：

```ts [nuxt.config.ts]
export default defineNuxtConfig({
  llms: {
    contentRawMarkdown: false,
  },
})
```

## Markdown 重定向

::note
直接 `.md` 页面 URL 在所有环境中都可用。在具备服务器运行时的部署中，当 Agent 发送偏好 Markdown 的请求头时，TockDocs 也会直接协商返回 Markdown 响应。在 Vercel 上，构建时注入的路由规则会让预渲染页面保持相同行为。
::

在具备服务器运行时的部署中，当请求偏好 Markdown 响应时，TockDocs 会自动将 Markdown 内容提供给 AI Agent 和 CLI 工具。

### 为什么？

像 Claude Code 这样的 Agent 默认使用 `Accept: text/markdown` 头部，返回源码 Markdown 可以在此过程中节省大量数据传输和令牌。

### 如何实现？

TockDocs 使用 HTTP 头部检测来自 AI Agent 和命令行工具的请求：

- **Accept 头部**：带有 `Accept: text/markdown` 的请求会直接收到页面的 Markdown 版本
- **User-agent 检测**：来自 `curl` 等工具的请求会按 Agent 风格的 Markdown 抓取处理

### 协商规则

- **根路径**：`/` → `/llms.txt`
- **文档页面**：`/{path}` → `/{path}.md`

### 使用示例

```bash
# 直接通过页面 URL 获取源码 Markdown
curl https://your-site.com/docs/manual/zh/ai/llms.md

# 从首页获取 llms.txt
curl -H "Accept: text/markdown" https://your-site.com/

# 从语言首页获取 llms.txt（legacy i18n 模式）
curl -H "Accept: text/markdown" https://your-site.com/zh

# 获取文档页面的源码 Markdown
curl -H "Accept: text/markdown" https://your-site.com/docs/manual/zh/ai/llms
```

所有这些命令都会返回 Markdown 内容而非 HTML。

::tip{to="https://github.com/nuxt-content/nuxt-llms"}
查看 nuxt-llms 文档了解有关该模块的更多信息。
::
