文档查找 是做什么的?
使用 Context7 CLI 检索任何库的最新文档和代码示例。
确保 CLI 在运行命令前已更新到最新版本:
npm install -g ctx7@latest
或者无需安装直接运行:
npx ctx7@latest <command>
工作流
两步流程:将库名解析为 ID,然后用该 ID 查询文档。
# 步骤 1:解析库 ID
ctx7 library <name> <query>
# 步骤 2:查询文档
ctx7 docs <libraryId> <query>
除非用户明确提供了格式为 /org/project 或 /org/project/version 的库 ID,否则你必须先调用 ctx7 library 来获取有效的库 ID。
重要提示:每次提问最多运行这些命令 3 次。如果在 3 次尝试后仍无法找到所需内容,请使用获得的最佳结果。
步骤 1:解析库
将包/产品名称解析为 Context7 兼容的库 ID,并返回匹配的库。
ctx7 library react "How to clean up useEffect with async operations"
ctx7 library nextjs "How to set up app router with middleware"
ctx7 library prisma "How to define one-to-many relations with cascade delete"
始终传递 query 参数——它是必需的,并且直接影响结果排名。使用用户的意图来构建查询,这有助于在多个库名称相似时进行消歧。不要在查询中包含任何敏感或机密信息,例如 API 密钥、密码、凭据、个人数据或专有代码。
结果字段
每个结果包括:
- 库 ID — Context7 兼容标识符(格式:
/org/project) - 名称 — 库或包名称
- 描述 — 简短摘要
- 代码片段 — 可用代码示例的数量
- 来源信誉 — 权威性指标(高、中、低或未知)
- 基准分数 — 质量指标(100 为最高分)
- 版本 — 可用版本列表。如果用户的查询中提供了版本,请使用这些版本之一。格式为
/org/project/version。
选择过程
- 分析查询以理解用户正在寻找哪个库/包
- 基于以下因素选择最相关的匹配:
- 名称与查询的相似度(精确匹配优先)
- 描述与查询意图的相关性
- 文档覆盖度(优先选择代码片段计数更高的库)
- 来源信誉(优先选择具有高或中等信誉的库,它们更权威)
- 基准分数(越高越好,100 为最大值)
- 如果存在多个好的匹配,说明这一点,但继续使用最相关的一个
- 如果没有好的匹配,明确说明并建议优化查询
- 对于模糊的查询,先请求澄清,然后再进行最佳猜测匹配
版本特定 ID
如果用户提到特定版本,请使用版本特定的库 ID:
# 通用(最新索引)
ctx7 docs /vercel/next.js "How to set up app router"
# 版本特定
ctx7 docs /vercel/next.js/v14.3.0-canary.87 "How to set up app router"
可用版本列在 ctx7 library 的输出中。使用与用户指定版本最接近的匹配。
步骤 2:查询文档
检索解析后库的最新文档和代码示例。
ctx7 docs /facebook/react "How to clean up useEffect with async operations"
ctx7 docs /vercel/next.js "How to add authentication middleware to app router"
ctx7 docs /prisma/prisma "How to define one-to-many relations with cascade delete"
编写良好的查询
查询直接影响结果质量。请具体并包含相关细节。不要在查询中包含任何敏感或机密信息,例如 API 密钥、密码、凭据、个人数据或专有代码。
| 质量 | 示例 |
|---|---|
| 良好 | "How to set up authentication with JWT in Express.js" |
| 良好 | "React useEffect cleanup function with async operations" |
| 不佳 | "auth" |
| 不佳 | "hooks" |
尽可能使用用户的完整问题作为查询,模糊的单词查询会返回泛化结果。
输出包含两种类型的内容:代码片段(带标题,使用语言标签的代码块)和信息片段(带面包屑上下文的散文解释)。
认证
无需认证即可工作。如需更高的速率限制:
# 选项 A:环境变量
export CONTEXT7_API_KEY=your_key
# 选项 B:OAuth 登录
ctx7 login
错误处理
如果命令因配额错误(“每月配额已用完”或“配额超出”)而失败:
- 告知用户其 Context7 配额已用尽
- 建议他们通过
ctx7 login进行认证以获得更高限制 - 如果他们无法或选择不进行认证,则从训练知识中回答,并明确注明可能已过时
不要默默回退到训练数据——始终告诉用户为什么未使用 Context7。
常见错误
- 库 ID 需要
/前缀——/facebook/react而非facebook/react - 始终先运行
ctx7 library——直接运行ctx7 docs react "hooks"会失败,因为没有有效的 ID - 使用描述性查询,不要用单个单词——
"React useEffect cleanup function"而非"hooks" - 不要在查询中包含敏感信息(API 密钥、密码、凭据)