粘贴或获取 · 逐行诊断

llms.txt 验证器

粘贴的内容会在您的浏览器中分析。检查公开 URL 时,我们的 Cloudflare 函数会获取文件,然后由您的浏览器分析其结构。

最近更新:

验证器

输入域名(我们会获取其 /llms.txt)或完整文件 URL。请求会通过我们的边缘函数发出,因此目标网站的 CORS 限制不适用。

我们的检查内容

验证器实现了来自 llmstxt.org:

  • 必须包含 H1。 在可选的 UTF-8 BOM 之后,恰好只有一个一级标题。
  • 引用块摘要。 建议紧接在 H1 之后。
  • H2 文件列表部分。 每个章节都是一个 Markdown 列表,其中包含 - [name](url) 条目,并可选择添加 : notes.
  • 绝对 URL。 相对 URL 会被标记为警告。
  • 章节之外不得有内容。 第一个 H2 之后只能出现文件列表。
  • 不要添加前导标题。 第一个 H2 之前的自由格式上下文不能添加 H3 至 H6 标题。
  • 大小防护。 大于 50 KB 的文件会收到一条信息级提示,建议使用 llms-full.txt.

每项诊断都包含规则代码(例如 H1_REQUIRED, URL_RELATIVE), 因此您可以在 CI 日志中用 grep 搜索它。

在 CI 中使用

驱动此页面的同一解析器也可以接入您的构建流程:以下规则代码是稳定的,因此脚本可以在 CI 日志中用 grep 搜索它们。一个最小的 Node 检查示例:

import { readFileSync } from 'node:fs';
import { parseLlmsTxt, summarize } from './validator/validate'; // same parser as this validator

const input = readFileSync('public/llms.txt', 'utf8');
const parsed = parseLlmsTxt(input);
const sum = summarize(parsed);

if (!sum.passes) {
  for (const d of parsed.diagnostics) {
    console.error(`${d.severity.toUpperCase()} [${d.rule}] line ${d.line}: ${d.message}`);
  }
  process.exit(1);
}
console.log(`OK, ${parsed.sections.length} sections, ${parsed.sizeBytes} bytes`);

后续步骤

通过验证的文件仍可能不是正确的文件。 十项最佳实践规则 涵盖验证器无法检查的内容:您列出的页面是否确实是模型需要的页面, 而这些页面往往并非访问量最高的页面。要从零开始?请使用 生成器 会根据您的站点地图生成一个有效文件,并 如何创建 llms.txt 按技术栈分别说明部署。关于语法本身,请参见 格式参考,或者阅读 真实文件 ,这些文件由 Anthropic、Cloudflare 和 Stripe 发布。

来源