
1. 项目概述当AI开始“阅读”你的代码库你需要一份“说明书”如果你是一名开发者或者运营着一个技术项目最近可能已经注意到一个现象越来越多的AI助手比如Cursor、GitHub Copilot甚至一些自主运行的AI Agent开始尝试理解你的代码库、文档和API。它们不再仅仅是代码补全工具而是试图成为你的“数字同事”帮你分析问题、撰写文档、甚至直接修改代码。但问题也随之而来——这些AI模型怎么知道你的项目结构是怎样的哪些文件是核心的哪些API是公开的它们应该优先读取哪些文档来理解你的业务逻辑这就像一个新同事入职如果没有一份清晰的《新员工入职指南》他可能会在庞大的代码仓库里迷路或者错误地理解了项目的核心设计。llms.txt文件就是为了解决这个问题而诞生的。你可以把它理解为“写给AI看的robots.txt”。robots.txt告诉网络爬虫哪些页面可以访问而llms.txt则告诉大语言模型LLM和AI工具应该如何与你的项目进行“对话”。thedaviddias/llms-txt-hub这个项目就是一个围绕llms.txt标准的“中央车站”和“资源大全”。它不仅仅是一个规范的定义更是一个活生生的生态系统包含了标准定义llms.txt文件应该包含哪些内容格式如何。工具集合从浏览器插件、命令行工具到IDE扩展帮你生成、检查和利用llms.txt。实例仓库一个庞大的目录收录了数百个已经部署了llms.txt的真实项目从 Anthropic、Cohere 这样的AI巨头到无数中小型开发团队和独立产品。无论你是想为自己的项目添加AI可读性还是想探索AI如何更好地与现有开发工具链集成这个Hub都是一个绝佳的起点。接下来我将带你深入拆解这个生态从原理到实践手把手教你如何利用llms.txt让你的项目在AI时代更具“亲和力”。2. llms.txt 核心规范深度解析不止于“AI的robots.txt”llms.txt的核心思想是标准化AI与项目的交互接口但其内涵远比一个简单的“允许/禁止”列表要丰富。它旨在建立一套元数据协议让AI模型能更智能、更安全、更高效地理解你的数字资产。2.1 文件结构与核心字段一个标准的llms.txt文件通常放置在网站的根目录例如https://yourdomain.com/llms.txt其内容采用类似robots.txt或.env文件的键值对格式但结构更为丰富。以下是一个典型示例及其深度解读# llms.txt for Example API Service # 这是一个面向AI模型的项目指南文件 [project] name Example Weather API description A RESTful API providing global weather forecasts and historical data. version v2.1.0 language en primary_contact api-supportexample.com [llm-guidance] # 指导AI如何与项目交互 purpose This API provides weather data. LLMs should use it to answer questions about current conditions, forecasts, and climate. usage_instructions Always use the /v2/forecast endpoint for future weather queries. Historical data is available up to 30 days only via /v2/history. tone professional, factual, concise avoid_topics political interpretations of climate data, financial advice based on weather [resources] # 指明对AI最有价值的资源路径 docs https://api.example.com/docs, https://github.com/example/weather-api/wiki api_spec https://api.example.com/openapi.json code_repository https://github.com/example/weather-api changelog https://github.com/example/weather-api/releases support https://community.example.com/c/api-support [permissions] # 定义AI的“行动边界” allow_indexing true allow_code_analysis true allow_api_calls true # 明确禁止AI执行的操作 disallowed_actions modify_production_data, execute_shell_commands, access_user_credentials [formats] # 指定偏好的数据格式 preferred_input JSON, natural language query preferred_output JSON, markdown字段详解与设计考量[project]区块这是项目的“身份证”。name和description必须清晰准确这是AI建立第一印象的关键。primary_contact字段非常实用当AI在分析中遇到无法解决的歧义时理论上可以建议用户联系此邮箱这为AI的“自知之明”提供了出口。[llm-guidance]区块这是文件的灵魂是“人机对话”的脚本。purpose用一两句话定义项目的核心价值。这直接训练AI如何向最终用户介绍你。usage_instructions最关键的部分。这里需要写入那些不会写在普通API文档里但对AI至关重要的“潜规则”。例如“查询用户数据时userId参数是必选的即使文档里写的是可选这是出于遗留系统兼容性考虑。” 这类信息能极大减少AI的幻觉和错误调用。tone和avoid_topics设定AI交互的“风格指南”和“红线”。这对于品牌一致性、合规性如医疗、金融领域至关重要。[resources]区块为AI绘制“藏宝图”。不要简单罗列所有链接而是按优先级和用途排序。将最权威、最新的文档如OpenAPI规范放在前面。如果有一个内部的、更详细的开发维基也可以列出来即使不公开也能指导内部AI工具。[permissions]区块安全护栏。allow_api_calls true是一个大胆但重要的声明它鼓励AI助手如Cursor的Agent模式直接尝试调用你的API来解决问题而不是空想。disallowed_actions则是明确的安全声明尤其对于可执行代码的项目必须禁止AI执行任何破坏性操作。[formats]区块提升交互效率。声明你偏好JSON输入能引导AI构造结构化的查询而非冗长的自然语言便于后端解析。实操心得llms-full.txt的妙用在 llms-txt-hub 收录的许多项目中你会发现除了llms.txt还有一个llms-full.txt。这是一种最佳实践llms.txt是精简版包含最关键的指导信息加载快llms-full.txt则是完整版可能包含详细的示例、用例场景、错误代码释义等。AI工具可以先读取轻量版的llms.txt建立认知如果需要更深度的信息再按需加载llms-full.txt。这类似于API设计中的“分页”和“字段选择”思想。2.2 与 robots.txt、sitemap.xml 的对比与协同理解llms.txt的一个好方法是将其与Web开发中熟悉的元文件对比特性robots.txtsitemap.xmlllms.txt目标读者网络爬虫搜索引擎网络爬虫搜索引擎大语言模型、AI助手、AI Agent核心指令禁止/允许访问某些路径建议爬虫优先抓取哪些重要页面指导如何理解、交互和使用项目内容性质访问控制列表内容目录索引项目说明书、交互指南、资源地图交互模式单向爬虫读取并遵守单向爬虫读取并参考双向AI读取、理解并可能基于此行动关键区别关注“能不能进”关注“哪里重要”关注“进来后怎么用”它们不是替代关系而是互补的。一个对AI友好的现代项目理想状态下应该同时具备这三者robots.txt保护隐私区域防止AI爬虫如果存在过度抓取。sitemap.xml帮助AI发现所有重要的内容端点尤其是对于内容型网站。llms.txt告诉AI这些端点的含义、关系和正确用法。例如一个电商网站的llms.txt可以指导AI“/api/products返回商品列表但用于搜索时请优先使用/api/search?q端点因为它内置了模糊匹配和拼写纠正性能更好。” 这种知识是另外两个文件无法提供的。3. 生态工具链实战从生成到集成llms-txt-hub 不仅收集标准更汇集了让标准落地的工具。这些工具覆盖了生成、验证、集成到使用的全链路。3.1 生成与检查工具1. LLMs.txt Generator (https://llmstxtgenerator.co/)这是最快捷的入门方式。你只需输入网站URL它会自动爬取你的网站或读取sitemap结合AI分析生成一个初版的llms.txt草案。实操步骤打开生成器网站输入你的项目主页URL如https://api.myproject.com。工具会开始分析识别出主要的导航链接、API端点通过常见模式如/api/、/docs/、代码仓库链接如GitHub链接等。生成草案后你必须进行人工审查和编辑。AI可能无法准确理解你项目的核心业务逻辑和那些“潜规则”。重点修改[llm-guidance]下的purpose和usage_instructions。注意事项对于大型或复杂项目自动生成可能不完整。它主要基于静态分析对于需要登录才能访问的API文档或深层次的项目结构可能识别不全。此时它生成的更多是一个结构模板内容需要你大量填充。2. LLMs.txt Checker (Chrome 扩展)安装此扩展后浏览任何网站时点击扩展图标它会自动检查该站点根目录是否存在llms.txt或llms-full.txt并解析其内容以友好格式展示。使用场景竞品分析快速查看同行或类似项目是如何构建其AI指南的。开发调试在部署llms.txt后立即验证其是否可公开访问且格式正确。灵感收集浏览 llms-txt-hub 上的项目时直接点击查看其详细配置。避坑技巧检查器可能会因为网站CORS策略而无法直接读取内容。如果遇到这种情况最可靠的方式还是手动在浏览器地址栏输入https://site.com/llms.txt查看。3. llmstxt-cli (npm 包)这是一个命令行工具功能强大尤其适合集成到CI/CD流程或为AI编码助手安装“技能包”。# 全局安装 npm install -g llmstxt-cli # 基本检查验证本地或远程 llms.txt 文件 llmstxt check https://api.example.com/llms.txt # 生成文件基于当前目录的项目结构生成草案 llmstxt generate --output ./llms.txt # “安装为技能”将项目的 llms.txt 内容注入到 Cursor、Claude 等AI助手的上下文中 llmstxt install-as-skill --llm cursor核心价值——install-as-skill这个命令是革命性的。它意味着你可以将你的项目文档以一种高度结构化的方式“教”给你的AI编程伙伴。执行后当你在Cursor里讨论或编辑这个项目时AI助手会自动拥有关于该项目架构、API用法和禁忌的背景知识回答的准确性和上下文相关性会大幅提升。3.2 集成与探索工具1. VS Code Extension对于深度使用VS Code的开发者这个扩展让你无需离开编辑器就能搜索和探索全网项目的llms.txt。实操流程安装扩展后在VS Code中打开命令面板CmdShiftP或CtrlShiftP输入 “LLMs.txt: Search”你可以按项目名、分类或技术栈搜索。找到感兴趣的项目后可以直接在侧边栏预览其llms.txt内容甚至一键打开项目主页。心得这个工具最适合在技术选型或学习架构时使用。比如你想知道像“CrewAI”这样的多智能体框架是如何定义其AI交互边界的直接搜索就能看到他们的官方指南比阅读长篇文档更高效。2. MCP Explorer Raycast Extension这两个工具代表了llms.txt生态的另一个前沿方向与AI原生工作流深度集成。MCP (Model Context Protocol) ExplorerMCP是Anthropic提出的一种协议用于标准化AI模型与外部工具/数据源的连接。这个Explorer工具利用MCP让Claude等模型能够主动去查询、分析llms.txt文件。你可以直接问Claude“分析一下https://fireworks.ai的llms.txt告诉我他们主要面向的开发者类型和推荐的集成方式。” Claude会调用MCP工具去获取并解析文件然后给出总结。Raycast Extension对于Raycast用户这个扩展将llms.txt的搜索能力带到了这个高效的启动器里实现秒级查询进一步缩短信息获取路径。这些工具共同描绘了一个未来图景llms.txt不再是一个被动的文本文件而是一个可被AI主动发现、解析并利用的活跃数据源是项目融入AI生态系统的“标准插头”。4. 为你的项目创建并部署一个高效的 llms.txt了解了规范和工具后我们来实战为一个小型项目创建并部署一份高质量的llms.txt。假设我们有一个名为 “TaskFlow API” 的待办事项管理后端服务。4.1 内容策划与撰写首先不要急于动笔。先回答以下几个问题这些答案将构成你llms.txt的骨架核心价值用一句话向一个完全不了解的人或AI介绍你的项目是什么。用于purpose常见误解新用户或AI最可能用错的地方是什么用于usage_instructions的警告部分最佳资源如果只能让AI看三个文档来理解整个项目是哪三个用于resources排序安全红线绝对不允许AI对系统做什么用于disallowed_actions基于以上我们为 “TaskFlow API” 起草内容# llms.txt for TaskFlow API # 指导AI助手如何理解并与本任务管理API交互 [project] name TaskFlow API description A simple, RESTful task management API with user authentication, project grouping, and due date tracking. version v1.3.2 language en primary_contact devopstaskflow.example.com [llm-guidance] purpose This API manages personal or team tasks. LLMs should use it to help users create, read, update, delete, and filter their tasks and projects. usage_instructions - The PATCH /api/tasks/:id endpoint is preferred over PUT for updates, as it supports partial updates. - When filtering tasks by date, use ISO 8601 format (YYYY-MM-DD) in query parameters. - User authentication is mandatory for all endpoints except POST /api/auth/login and GET /api/health. Always include the Authorization: Bearer token header. - The projectId field, while optional in schema, is highly recommended for organization. AI should suggest assigning tasks to a project when none is specified. tone helpful, professional, encouraging avoid_topics implementing complex task dependencies (like Gantt charts), financial or legal task categorization. [resources] # 按对AI理解的重要性排序 api_spec https://api.taskflow.example.com/openapi.yaml # 最权威的接口定义 docs https://docs.taskflow.example.com/getting-started # 入门指南 code_repository https://github.com/yourorg/taskflow-api changelog https://github.com/yourorg/taskflow-api/releases support https://github.com/yourorg/taskflow-api/discussions # 社区讨论区优先于私邮 [permissions] allow_indexing true allow_code_analysis true # 鼓励AI助手分析我们的开源代码以提供更精准帮助 allow_api_calls true # 允许AI在沙箱或模拟环境中尝试调用API进行演示 disallowed_actions drop_database, delete_user_account, modify_auth_config [formats] preferred_input JSON preferred_output JSON, plain text撰写要点分析usage_instructions使用了多行文本这样能更清晰地列出要点可读性更好。提供了具体的、可操作的细节比如推荐PATCH而非PUT指定日期格式强调认证头。这些是API文档里可能不会突出但对AI正确调用至关重要的“坑点提示”。资源排序有逻辑OpenAPI规范最优先因为它是机器可读的、最精确的接口描述。入门指南次之帮助AI建立宏观认知。allow_api_calls true这是一个积极的信号配合详细的usage_instructions可以极大提升AI助手如Cursor Agent进行API探索和演示的能力。4.2 部署与验证撰写完成后部署非常简单放置文件将llms.txt文件放在你Web服务器或静态托管服务的根目录。对于TaskFlow API就是https://api.taskflow.example.com/llms.txt。对于前端项目或文档站则放在其对应的根目录。设置MIME类型确保你的Web服务器如Nginx, Apache能为.txt文件正确发送Content-Type: text/plain头。通常这是默认配置。验证可访问性使用浏览器或curl命令直接访问该URL确认能正确返回文件内容。curl -I https://api.taskflow.example.com/llms.txt # 应返回 HTTP 200 OK使用检查器验证用之前提到的Chrome扩展或CLI工具检查你的文件。llmstxt check https://api.taskflow.example.com/llms.txt提交到 llms-txt-hub可选但推荐向thedaviddias/llms-txt-hub仓库提交Pull Request将你的项目添加到相应的分类列表中。这不仅能贡献社区还能为你的项目带来一些技术关注度。4.3 高级技巧动态生成与内容管理对于大型或内容频繁变化的项目可以考虑动态生成llms.txt后端集成在你的后端框架如Express.js, Django, Spring Boot中添加一个路由/llms.txt该路由读取一个模板并动态填充如version、last_updated时间戳甚至从数据库或配置中心拉取最新的primary_contact或resources列表。CI/CD 集成在构建流水线中将一个静态的llms.txt模板作为构建产物复制到输出目录的根路径。你可以在构建时通过环境变量注入版本号等信息。版本控制将llms.txt像package.json或Dockerfile一样纳入版本控制。当你的API发生重大变更如v1到v2时同步更新llms.txt中的usage_instructions和resources指向新的文档。5. 常见问题、挑战与未来展望在实际采用llms.txt的过程中你会遇到一些典型问题和值得思考的方向。5.1 常见问题与解决方案问题可能原因解决方案AI工具似乎忽略了llms.txt1. 工具尚未支持该标准。2. 文件路径错误或无法访问。3. 文件格式有语法错误。1. 确认你使用的AI工具如特定Cursor版本是否声明支持llms.txt。2. 用浏览器和curl双重验证可访问性。3. 使用llmstxt-cli check验证格式。usage_instructions写多详细担心过于冗长AI不读或过于简略没作用。遵循“关键陷阱”原则只写那些容易出错、违反直觉或具有重大性能影响的点。优先用项目列表而非长段落。如何维护和更新随着项目迭代指南可能过时。将llms.txt的更新纳入你的发布清单Release Checklist。每次更新API或重要文档时检查相关指引是否需要同步调整。安全风险allow_api_calls true担心恶意AI或用户滥用。1. 你的API本身必须有完善的认证、授权和速率限制。2. 在disallowed_actions中明确写出所有危险操作。3.llms.txt是指南不是权限开关。真正的安全靠后端保障。对于纯前端或静态网站是否需要认为没有API就不需要。同样需要。可以指导AI如何理解网站内容结构、导航逻辑、内容更新频率如博客甚至哪些页面是“关于我们”、“联系方式”这对于内容摘要、问答类AI非常有用。5.2 当前挑战与社区实践标准化进程llms.txt目前还是一个社区驱动的、事实上的标准并非像OpenAPI那样的官方规范。这意味着字段名称、区块定义可能在不同项目间有细微差异。llms-txt-hub 的存在正是为了通过广泛的实践来收敛和巩固这些约定。工具链成熟度虽然已有不少工具但深度集成到主流开发环境如JetBrains全家桶和AI平台如各大云厂商的AI服务仍需时间。目前最活跃的支持来自社区驱动的AI助手如Cursor和开源工具。衡量ROI投资回报率部署llms.txt的直接效益难以量化。它的价值更多体现在降低认知摩擦上减少AI助手的错误建议、提高外部开发者通过AI理解你项目的速度、提升项目在AI生态中的“能见度”和友好度。这更像一项长期的基础设施投资。5.3 未来展望超越文件的智能接口llms.txt的终极形态可能不仅仅是一个文本文件。我们可以预见几个演进方向结构化数据端点未来可能会出现一个标准的API端点如/.well-known/llms.json返回结构化的JSON-LD或类似格式的元数据更利于机器解析并能包含更复杂的schema定义。与AI模型训练集成项目方可以在llms.txt中声明“本项目允许将公开文档用于AI模型训练”并指定偏好的授权协议如CC-BY这为开源项目与AI公司之间的数据使用提供了清晰的规范。运行时查询与协商AI助手不仅能在“入职”时读取静态文件还能在运行时向项目“询问”特定问题例如“我应该用哪个端点来查询用户最近7天的活动”项目可以通过动态接口返回最准确的指引。从我个人的实践来看为项目添加llms.txt的成本极低一两个小时但带来的潜在收益是持续的。它迫使你从“AI可消费”的角度重新审视你的文档和API设计这个过程本身就能发现不少对开发者也不友好的地方。在AI日益融入开发工作流的今天这不再是一个可选项而正逐渐成为负责任的项目维护者的一项基本实践。就像为你的代码写注释一样llms.txt是在为未来的“AI同事”写注释。