章节 01
导读 / 主楼:rustdoc-llms:为 Rust 项目自动生成 LLM 友好的文档格式
介绍 rustdoc-llms 工具,它能将 Rust 项目文档转换为 llms.txt 格式,让大语言模型更容易理解和使用你的代码库。
正文
介绍 rustdoc-llms 工具,它能将 Rust 项目文档转换为 llms.txt 格式,让大语言模型更容易理解和使用你的代码库。
章节 01
介绍 rustdoc-llms 工具,它能将 Rust 项目文档转换为 llms.txt 格式,让大语言模型更容易理解和使用你的代码库。
章节 02
随着 ChatGPT、Claude 等 AI 助手成为开发者的日常工具,代码文档的消费方式正在发生根本性变化。传统的 API 文档虽然对人类友好,但对于需要快速摄取上下文的 AI 来说,分散的页面结构并不理想。
llms.txt 是一种新兴的约定格式,它将项目的核心文档整合为单个 Markdown 文件,方便搜索引擎和 AI 代理快速抓取和理解。这种格式遵循 llmstxt.org 提出的标准,正在成为开源项目的新标配。
章节 03
rustdoc-llms 是由 SixArm 组织开发的一个 Rust 命令行工具,它的核心功能非常聚焦:自动将 Rust 项目的文档转换为 llms.txt 格式。这个工具本质上是对现有 Rust 文档工具链的巧妙封装,让开发者无需手动操作复杂的命令序列。
该项目的定位很清晰——保持小而简单。它不试图重新实现 rustdoc 的功能,而是作为一个便捷的胶水工具,将 rustdoc --output-format json 和 rustdoc-md 串联起来,输出符合 llms.txt 标准的文档。
章节 04
rustdoc-llms 的工作流程分为三个步骤,背后对应三条 shell 命令:
章节 05
工具首先调用 Rust 的不稳定 JSON 输出功能,将 crate 的文档结构导出为机器可读的 JSON 格式:
RUSTC_BOOTSTRAP=1 RUSTDOCFLAGS="-Z unstable-options --output-format json" cargo doc --no-deps
这里的关键是 RUSTC_BOOTSTRAP=1 环境变量,它允许稳定版工具链使用原本需要 nightly 版本的不稳定特性。这意味着你不需要安装 Rust nightly 就能使用这个工具。
章节 06
生成的 JSON 文件通过 rustdoc-md 工具转换为结构化的 Markdown 文档:
rustdoc-md --path target/doc/<crate_name>.json --output target/doc/llms.txt
章节 07
根据 llms.txt 的约定,最终文件应该位于项目根目录,方便 AI 代理和搜索引擎发现:
cp target/doc/llms.txt llms.txt
章节 08
安装过程非常简单,只需要两个 cargo 命令:
# 安装主工具
cargo install rustdoc-llms
# 安装依赖工具
cargo install rustdoc-md
使用时,只需在包含 Cargo.toml 的项目根目录执行:
rustdoc-llms
工具会自动在 target/doc/ 目录下生成两个文件:JSON 格式的原始文档数据和 Markdown 格式的 llms.txt。