
使用 mkdocs-llmstxt 插件为 Instructor 文档自动生成 llms.txt面向 LLM 的文档消费实践【免费下载链接】instructorstructured outputs for llms项目地址: https://gitcode.com/GitHub_Trending/in/instructor导读本文以 Instructor 官方博客对mkdocs-llmstxt插件集成的深度剖析为主体结合仓库内真实的 mkdocs.yml 配置、pyproject.toml 依赖声明与构建脚本完整还原如何在 MkDocs 构建流程中自动生成 llms.txt这一工程实践。读完本文你将掌握 llms.txt 规范的核心价值、mkdocs-llmstxt插件的安装与配置方法、sections 与 glob 模式的组织技巧以及如何在自己的 MkDocs 项目中落地同样零手工维护、随构建自动更新的 AI 友好文档管线。llms.txt为什么文档需要一份给 LLM 看的索引在深入插件之前有必要先理解它产出的llms.txt文件到底是什么。Instructor 仓库中同日的另一篇公告 llms-txt-support.md 给出了一个非常直观的类比llms.txt 之于 LLM正如 robots.txt 之于搜索引擎。这个由 Answer.AI 团队提出的规范解决了一个现实矛盾绝大多数网站的上下文窗口装不下而充满导航、广告和 JavaScript 的 HTML 页面又很难被大模型高效解析。llms.txt 以纯文本 Markdown 链接的形式在站点根目录提供一份清洁版文档清单让 Copilot、Claude、Cursor 这类 AI 编码助手无需解析复杂 HTML 即可直接获取项目最相关的文档内容详见 llms-txt-adoption.md。对于 Instructor 这样一个为 LLM 提供结构化输出的库而言采用该标准有着天然的一致性用户经常通过 AI 编码助手与 Instructor 交互一份可被机器消费的文档索引直接关系到代码建议的准确性与功能理解的深度。mkdocs-llmstxt 插件核心特性mkdocs-llmstxt插件由 Timothée Mazzucotelli 开发解决的是一类共性问题如何让 llms.txt 与持续演进的文档保持同步。其关键能力包括自动生成在 MkDocs 构建阶段直接从源文档生成llms.txt无需任何手工维护灵活的分区控制通过sections精确指定要纳入哪些文档甚至可以为每个文档条目提供描述文字干净的 Markdown 转换将文档转换为 LLM 友好的纯 Markdown 格式剥离 HTML 残留与导航元素可定制的项目描述同时支持简短描述与较长的markdown_description为 AI 模型提供充分的上下文。一个最小化的sections配置示例如下摘自原博客plugins: - llmstxt: sections: Getting Started: - index.md: Introduction to structured outputs - installation.md: Setup instructions Core Concepts: - concepts/*.md注意键: 描述的写法冒号后面跟的是该文档条目的描述文本而concepts/*.md这种 glob 写法则允许整个目录批量纳入。Instructor 的落地配置仓库内真实实现原博客展示的配置与当前仓库 mkdocs.yml 中实际生效的配置完全一致这也是最值得直接复用的参考plugins: - llmstxt: markdown_description: Instructor is a Python library that makes it easy to work with structured outputs from large language models (LLMs). Built on top of Pydantic, it provides a simple, type-safe way to extract structured data from LLM responses across multiple providers including OpenAI, Anthropic, Google, and many others. sections: Getting Started: - index.md: Introduction to structured outputs with LLMs - getting-started.md: Quick start guide - installation.md: Installation instructions Core Concepts: - concepts/*.md Integrations: - integrations/*.md分区设计为什么选这三个板块原博客解释了这三个分区的取舍逻辑——它们构成了 AI 模型理解并使用 Instructor 所需的最小充分信息集Getting Starteddocs/index.md、docs/getting-started.md、docs/installation.md核心概念与安装指引回答这是什么、怎么装、怎么起步Core Conceptsdocs/concepts/目录入口见 docs/concepts/index.md验证、流式、模式等特性的深入讲解回答它能做什么Integrationsdocs/integrations/目录入口见 docs/integrations/index.mdOpenAI、Anthropic、Google 等各 Provider 的接入指南回答如何接到具体模型。值得注意的是concepts/*.md与integrations/*.md使用了glob 模式当仓库新增概念文档或 Provider 集成指南时例如 mkdocs.yml 中不断扩充的 Provider 列表这些新文档会被自动纳入 llms.txt这正是内容保鲜的机制来源。依赖声明插件如何进入构建链在 pyproject.toml 的docs可选依赖组中插件被明确固定了版本区间docs [ mkdocs2.0.0,1.6.1, mkdocs-material[imaging]10.0.0,9.5.9, mkdocstrings0.27.1,0.31.0, mkdocstrings-python2.0.0,1.12.2, mkdocs-jupyter0.24.6,0.27.0, mkdocs-rss-plugin2.0.0,1.12.0, mkdocs-minify-plugin1.0.0,0.8.0, mkdocs-redirects2.0.0,1.2.1, mkdocs-llmstxt0.5.0,0.6.0; python_version 3.10, ... ]同一插件也被列入 requirements-doc.txt文档构建的依赖清单并以0.5.0,0.6.0的区间约束保证构建可复现。这里有两个值得注意的工程细节版本下限 0.5.0意味着配置依赖该版本及以后的插件行为升级时需关注插件变更日志python_version 3.10的环境标记表明该插件对 Python 版本有要求与本仓库文档构建脚本 build_mkdocs.sh 中uv sync --python 3.13 --extra docs的 Python 3.13 选择保持一致。生成结果仓库中的 llms.txt构建产出的 docs/llms.txt 直接体现了插件的输出形态以# Instructor: Type-Safe Structured Outputs from LLMs开头紧跟项目概述然后是自动生成的 Table of Contents按Installation、Core Concept、Supported Providers、Key Features、Advanced Usage、Examples等章节组织 Markdown 链接。从内容看它不仅汇总了 docs/index.md、docs/getting-started.md 等入门文档还把各 Provider 的模式说明如Mode.TOOLS、Mode.JSON、关键特性响应验证、流式、迭代器、多模态、缓存、Hooks、重试以及进阶用法并行处理、模板化、Maybe 响应都收纳其中——这正是 AI 编码助手检索 Instructor 能力时的直达通道。插件工作原理构建期四步流水线原博客将mkdocs-llmstxt插件的执行流程概括为四个阶段从源码结构看可以进一步对应到 MkDocs 插件生命周期解析配置在 MkDocs 构建启动时读取sections配置确定纳入范围与每个文档条目的描述文本文件处理将指定的 Markdown 文件转换为干净、LLM 友好的格式移除 HTML 残留与导航元素内容组装将各分区内容与项目元信息标题、markdown_description按 llms.txt 规范合并输出生成将最终的llms.txt写入站点根目录。由于它作为 MkDocs 插件挂载在构建生命周期内因此天然具备两个优势构建集成无缝——每次部署文档都会触发重新生成对应仓库的 build_mkdocs.sh 构建脚本内容始终新鲜——新增集成指南或修改概念文档后llms.txt 无需任何手工同步。在自己的 MkDocs 项目中接入安装与配置将插件应用到任意 MkDocs 项目只需两步第一步安装插件pip install mkdocs-llmstxt第二步在mkdocs.yml中启用插件并配置site_url: https://your-site.com/ # 插件必需 plugins: - llmstxt: markdown_description: Description of your project sections: Documentation: - docs/*.md配置要点如下配置项作用说明site_url站点根 URL插件用于生成绝对链接必须设置否则构建会失败markdown_description项目长描述会写入 llms.txt 顶部为 AI 模型提供项目整体上下文sections文档分区键为分区名值为文件列表支持文件: 描述与目录/*.mdglob 两种形式plugins列表顺序插件执行顺序与其他插件如search、redirects并列声明即可如果文档目录结构较深建议优先使用 glob 模式如concepts/*.md、integrations/*.md批量纳入避免逐一列举文件带来的维护负担对于需要向 AI 模型强调的入口文档如 docs/getting-started.md则用键: 描述形式补充一句话说明提升检索命中质量。小结与延伸阅读通过mkdocs-llmstxt插件Instructor 以配置即文档的方式实现了 llms.txt 的全自动维护构建脚本 build_mkdocs.sh 一跑docs/llms.txt 就与仓库文档保持同步AI 编码助手获得的始终是最新、最干净的文档快照。这套实践的关键收益可以归纳为三点零维护成本llms.txt 由构建过程自动生成杜绝手工同步的漂移问题可裁剪的粒度通过sections精确控制哪些文档暴露给 AI 模型glob 模式让目录级批量纳入变得极其简单标准化的输出遵循 llms.txt 规范产出对 Copilot、Claude、Cursor 等工具一致的消费体验。仓库中还保留着这条演进路径的完整记录llms-txt-adoption.md 阐述了采纳该规范的动机与意义llms-txt-support.md 发布了 llms.txt 正式上线而本文所剖析的 mkdocs-llmstxt-plugin-integration.md 则完整公开了技术实现。如果你正在维护一个 MkDocs 文档站并且希望 AI 工具能更准确地理解你的项目把这套三行配置接入你的构建管线是最低成本的起点。【免费下载链接】instructorstructured outputs for llms项目地址: https://gitcode.com/GitHub_Trending/in/instructor创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考