快速开始:本地开发
要运行文档的本地预览:http://localhost:3000 启动一个带 hot reload 的开发服务器。编辑 src/ 中的文件即可立即看到变更。
前置条件
前置条件
编辑文档
在 GitHub 上快速编辑
在 GitHub 上快速编辑
对于拼写错误或小改动,可以直接在 GitHub 上编辑,无需本地设置:
- 点击任意页面底部的 Edit this page on GitHub。
- Fork 到你的个人账号。
- 在 GitHub 的 web editor 中修改。
- 创建 pull request。
只编辑
src/ 中的文件,build/ 目录会自动生成。所有 pull request 都必须链接到已由维护者批准解决方案的 issue 或 discussion。请参阅 pull request 要求。
创建可分享的 preview build(仅限 LangChain 团队)
创建可分享的 preview build(仅限 LangChain 团队)
创建或更新 PR 时,会自动生成一个 preview branch/ID。PR 上会留下包含 ID 的评论。
- 从评论中复制 preview branch 的 ID
- 在 Mintlify dashboard 中点击 Create preview deployment
- 输入 preview branch 的 ID 并点击 Create deployment
- 选择 preview 并点击 Visit 查看
运行质量检查
提交变更前,请确保代码通过格式化和 linting 检查:README 中的可用命令部分。
文档类型
所有文档都属于以下四类之一:How-to guides
面向已经知道想完成什么任务的用户,提供任务导向的说明。
Conceptual guides
提供更深入理解和洞察的解释。
Reference
API 和实现细节的技术说明。
Tutorials
引导用户通过实践活动建立理解的课程。
适用时,所有文档都必须同时包含 Python 和 JavaScript/TypeScript 内容。更多详情请参阅并置 Python 和 JavaScript/TypeScript 内容部分。
How-to guides
How-to guides 是任务导向说明,面向已经知道想完成什么任务的用户。How-to guide 示例位于 LangChain 和 LangGraph 标签页。特征
特征
- 任务聚焦:专注于特定任务或问题
- 分步说明:将任务拆分成更小步骤
- 动手实践:提供具体示例和代码片段
建议
建议
- 聚焦于如何做,而不是为什么
- 使用具体示例和代码片段
- 将任务拆分成更小步骤
- 链接到相关概念指南和参考
Conceptual guides
Conceptual guide 以抽象方式覆盖核心概念,提供深入理解。特征
特征
- 理解聚焦:解释事物为何如此工作
- 广阔视角:比其他类型提供更高、更宽的视角
- 设计导向:解释决策和权衡
- 上下文丰富:使用类比和比较
建议
建议
- 聚焦于**“为什么”**,而不是“如何做”
- 提供功能使用并不一定必需的补充信息
- 可以使用类比并引用替代方案
- 避免混入过多参考内容
- 链接到相关教程和 how-to guides
Reference
Reference 文档包含详细、低层的信息,精确描述存在哪些功能以及如何使用它们。Python reference
JavaScript/TypeScript reference
- 描述存在什么内容,包括所有参数、选项和返回值
- 全面且结构清晰,便于查找
- 作为技术细节的权威来源
贡献 reference
贡献 reference
reference.langchain.com 上生成的 API reference 在本仓库之外构建和部署。要报告那里的 bug、缺失包或损坏页面,请打开 reference documentation issue。
LangChain reference 最佳实践
LangChain reference 最佳实践
- 保持一致,遵循提供商特定文档的现有模式
- 同时包含基本用法(代码片段)和常见边缘情况/失败模式
- 标明功能何时需要特定版本
何时创建新的 reference 文档
何时创建新的 reference 文档
- 新集成或提供商需要专用 reference 页面
- 复杂配置选项需要详细说明
- API 变更引入新参数或行为
- 社区频繁询问特定功能
Tutorials
Tutorials 是较长的分步指南,会逐步推进并带用户完成特定实践活动以建立理解。Tutorials 通常位于 Learn 标签页。通常,如果没有迫切需求,LangChain 不会合并外部贡献者提交的新 tutorials。如果你认为文档缺少某个主题或覆盖不足,请打开新 issue。
特征
特征
- 实践性:专注于通过实践活动建立理解。
- 分步说明:将活动拆分成更小步骤。
- 动手实践:提供顺序化、可运行的代码片段。
- 补充性:提供功能使用并不一定必需的额外上下文和信息。
建议
建议
- 如果用户按顺序执行步骤,代码片段应是顺序化且可运行的。
- 为活动提供一些上下文,但将更详细的信息链接到相关概念指南和 reference。
写作标准
reference.langchain.com 页面标准位于该站点的构建流水线中,不在本仓库内。有关生成 API reference 内容的问题或修复,请使用 reference documentation issue template。
Mintlify components
使用 Mintlify components 提升可读性:- Callouts
- Structure
- Code
<Note>用于有帮助的补充信息<Warning>用于重要警告和 breaking changes<Tip>用于最佳实践和建议<Info>用于中性上下文信息<Check>用于成功确认
Mermaid diagrams
添加 mermaid diagram 时,请使用 LangChain 品牌调色板设置节点样式。可以从任何现有 diagram 中复制classDef 行,或使用 CLAUDE.md 中的参考表。
| 角色 | 填充 | 描边 | 文本 |
|---|---|---|---|
| process | #E5F4FF | #006DDD | #030710 |
| trigger | #F6FFDB | #6E8900 | #2E3900 |
| decision | #FDF3FF | #7E65AE | #504B5F |
| output | #EBD0F0 | #885270 | #441E33 |
| alert | #F8E8E6 | #B27D75 | #634643 |
| neutral | #F2FAFF | #40668D | #2F4B68 |
页面结构
每个文档页面都必须以 YAML frontmatter 开始:并置 Python 和 JavaScript/TypeScript 内容
尽可能同时为 Python 和 JavaScript/TypeScript 编写所有文档。为此,文档使用自定义行内语法区分哪些部分应出现在一种或两种语言中:/oss/python/concepts/foo.mdx 和 /oss/javascript/concepts/foo.mdx 生成两个输出(每种语言一个)。每个输出页面都需要添加到 /src/docs.json 文件中,才能包含在导航中。
LangChain 不希望缺少 parity 阻塞贡献。如果某个功能只在一种语言中可用,在另一种语言跟上之前,可以只为该语言编写文档。在这种情况下,请添加 note,说明该功能尚未在另一种语言中可用。如果你需要帮助在 Python 和 JavaScript/TypeScript 之间翻译内容,请在 community slack 提问,或在 PR 中 tag 维护者。
质量标准
通用指南
避免重复
避免重复
多个页面覆盖相同材料会难以维护并造成混淆。每个概念或功能应该只有一个 canonical page。链接到其他指南,而不是重新解释。
经常链接
经常链接
文档章节不是孤立存在的。经常链接到其他章节,让用户可以了解不熟悉的主题。这包括链接到 API references 和概念章节。
保持简洁
保持简洁
采用少即是多的方法。如果另一个章节已经有好的解释,请链接过去,而不是重新解释,除非你的内容提供了新的视角。
可访问性要求
确保文档对所有用户都可访问:- 使用标题和列表组织内容,便于扫描
- 使用具体、可操作的链接文本,而不是 “click here”
- 为所有图片和 diagram 添加描述性 alt text
交叉引用
使用一致的交叉引用,将文档与 API reference 文档连接起来。 从 docs 到 API reference: 使用@[] 语法链接到 API reference 页面:
@[ChatAnthropic] 会根据正在构建的文档版本变成 Python 或 JS API reference 页面的链接,但前提是 link_map.py 文件中存在对应条目! 详情见下文。
Autolink 如何工作
Autolink 如何工作
@[] 语法由 handle_auto_links.py 处理。它会在 link_map.py 中查找 link key,该文件包含 Python 和 JavaScript scopes 的字典映射。支持格式:| 语法 | 结果 |
|---|---|
@[ChatAnthropic] | 以 “ChatAnthropic” 作为显示文本的链接 |
@[`ChatAnthropic`] | 以 `ChatAnthropic`(代码格式)作为文本的链接 |
@[text][ChatAnthropic] | 以 “text” 作为文本,并以 ChatAnthropic 作为 link map 中 key 的链接 |
\@[ChatAnthropic] | 转义:渲染为字面量 @[ChatAnthropic](无链接,本页使用的是这种形式) |
- 打开
pipeline/preprocessors/link_map.py - 在
LINK_MAPS的适当 scope(python或js)中添加条目 - Key 是
@[key]或@[text][key]中使用的链接名称,value 是相对于 reference host 的路径
本地化
如果某个功能同时存在于两个 SDK 中,请一起为 Python 和 JavaScript/TypeScript 编写文档。如果目前只支持一种语言,请确保该功能和对它的引用只对该语言可见。代码内文档
示例必须正确,尽可能可复制粘贴,并在打开 pull request 前经过测试。请清晰标记不可运行片段,例如 pseudocode 或 illustrative fragments。获取帮助
目标是让开发者设置尽可能简单。如果在设置过程中遇到任何困难,请在 community slack 提问,或打开论坛帖子。内部团队成员可以在 #documentation Slack channel 中联系。Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

