自定义 LLM 输出

以 Markdown 格式查看

通过使用 <llms-only><llms-ignore> 标签在页面内过滤内容、使用查询参数过滤端点输出、使用 noindex 排除页面,或提供您自己的自定义文件来自定义 LLM 从您的站点接收的内容。

页面内过滤

在页面内,使用 <llms-only><llms-ignore> 标签来控制在您的文档站点上哪些内容暴露给 AI 而非人类读者。

仅供 AI 使用的内容

<llms-only> 内容仅出现在外部代理(如 Claude、ChatGPT 或 Cursor)直接获取的 LLM 服务端点上:/llms.txt 以及每个页面的 .md/.mdx 源文件。它在所有面向人类的界面中都是隐藏的,包括渲染页面、复制页面、搜索小部件和 Ask Fern

使用 <llms-only> 适用于:

  • 对 AI 有用但冗长的技术上下文,如实现细节或架构说明
  • 会使人类 UI 变得混乱的代码相关元数据
  • 帮助 AI 理解页面之间关系的交叉引用

仅供人类使用的内容

<llms-ignore> 内容出现在所有面向人类的界面上,包括渲染页面、复制页面、搜索小部件和 Ask Fern(它会索引并可以像任何其他页面内容一样引用它)。它会从 LLM 服务端点(/llms.txt 和每个页面的 .md/.mdx 源文件)中被去除。

使用 <llms-ignore> 适用于:

  • 营销 CTA 或促销内容
  • 仅为人类读者提供的导航提示
  • 仅应保留在源文件中的内部注释

示例

Fern 自己的文档快速开始将 GitHub UI 点击步骤与其 CLI 等价形式配对:

quickstart.mdx
1使用 `fern-api/docs-starter` 仓库作为您站点的模板:
2
3<llms-ignore>
41. 导航到 [fern-api/docs-starter](https://github.com/fern-api/docs-starter) 并点击 **Use this template** 按钮(位于此页面右上角)。您必须登录 GitHub。
52. 选择 **create a new repository** 选项。将其命名为 `fern-docs`。
63. 克隆您新创建的仓库并在您喜欢的代码编辑器中打开它(例如 Cursor、VS Code)。
7</llms-ignore>
8
9<llms-only>
10Use the GitHub CLI to create a new repository from the template and clone it locally:
11
12```bash
13gh repo create my-org/fern-docs --template fern-api/docs-starter --private --clone
14cd fern-docs
15```
16
17Replace `my-org/fern-docs` with your desired owner and repository name. Use `--public` instead of `--private` if you want a public repository.
18</llms-only>

使用 fern-api/docs-starter 仓库作为您站点的模板:

  1. 导航到 fern-api/docs-starter 并点击 Use this template 按钮(位于此页面右上角)。您必须登录 GitHub。
  2. 选择 create a new repository 选项。将其命名为 fern-docs
  3. 克隆您新创建的仓库并在您喜欢的代码编辑器中打开它(例如 Cursor、VS Code)。

在文档站点上,人类读者只看到编号的 UI 步骤——<llms-only> 块是隐藏的。读取此页面 Markdown 输出的 LLM 看到的相反:没有 UI 步骤,只有它们可以实际运行的 gh repo create 命令。每个受众都获得他们可以执行的路径。

指导原则:仅限 UI 的元素属于人类读者,而它们的程序化等价物属于 AI 代理。 将可点击的卡片和 UI 演练包装在 <llms-ignore> 中,以便代理跳过它们,并为每个 UI 步骤配对一个 <llms-only> 块,给出 CLI 或 API 等价物。

要预览和调试 AI 为任何页面看到的内容,您可以在页面 URL 后附加 .md.mdx查看其 Markdown 源文件

过滤端点输出

使用 langexcludeSpec 查询参数过滤 llms.txt 输出,以减少令牌使用量。参数也可以组合使用。

示例
/llms.txt?lang=python
/llms.txt?excludeSpec=true
/llms.txt?lang=python&excludeSpec=true
lang
'node' | 'python' | 'java' | 'ruby' | 'go' | 'csharp' | 'swift'

将 SDK 代码示例过滤到特定语言。也接受常见别名:javascripttypescriptjstspygolang。不区分大小写。

excludeSpec
boolean

排除 OpenAPI 和 AsyncAPI 规范部分。

排除整个页面

您可以通过在页面的 frontmatter 中添加 noindex: true 来从 LLM 端点(llms.txt)排除整个页面。标记为 noindex 的页面不会被搜索引擎索引,但在您的侧边栏导航中仍然可见,并且仍可以通过 URL 直接访问。要同时从导航中隐藏页面,请参阅隐藏内容

docs/pages/internal-notes.mdx
1---
2title: 内部说明
3noindex: true
4---

提供自定义文件

要提供您自己的 llms.txt 而不是自动生成的版本,请在 docs.yml 中的 agents 键下指向您的文件:

docs.yml
1agents:
2 llms-txt: ./path/to/llms.txt

路径相对于 docs.yml 文件。CLI 验证文件是否存在并将其作为您的文档部署的一部分上传。您的自定义文件在根级别的 /llms.txt 端点提供。嵌套路径(例如 /api-reference/llms.txt)继续使用自动生成的输出。

要控制哪些爬虫访问您的站点而不是它们接收什么,请改为提供自定义 robots.txt