关于 context7
context7 是通过 Context7 CLI 查询库文档和代码示例的技能,适用于开发者。它先解析库名以取得有效 ID,再据此检索文档。
主要功能
- 01查询库文档与代码示例
- 02先解析库名获取 ID
- 03通过 npx ctx7@latest 运行
适用场景
- 01查找特定库的最新文档
- 02检索库的代码示例
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ pedronauck/ skills --skill context7安装后在 Claude Code 中输入/context7确认已加载。
详细介绍
文档查询
使用 Context7 CLI 检索任意库的最新文档和代码示例。
运行命令时使用 npx ctx7@latest,确保设置始终使用最新版 CLI,无需全局安装:
npx ctx7@latest library <name> "<query>"
npx ctx7@latest docs <libraryId> "<query>"
如果更喜欢直接使用 ctx7 命令,也可以选择全局安装:
npm install -g ctx7@latest
工作流
分两步进行:先将库名称解析为 ID,再使用该 ID 查询文档。
# Step 1: Resolve library ID
npx ctx7@latest library <name> "<query>"
# Step 2: Query documentation
npx ctx7@latest docs <libraryId> "<query>"
除非用户明确提供格式为 /org/project 或 /org/project/version 的库 ID,否则必须先调用 library 获取有效的库 ID。
重要:每个问题的这些命令最多运行 3 次。如果尝试 3 次后仍未找到所需内容,请使用现有的最佳结果。
第 1 步:解析库
将软件包或产品名称解析为 Context7 兼容的库 ID,并返回匹配的库。
npx ctx7@latest library React "How to clean up useEffect with async operations"
npx ctx7@latest library "Next.js" "How to set up app router with middleware"
npx ctx7@latest library Prisma "How to define one-to-many relations with cascade delete"
使用官方库名称,并保留正确的标点符号(例如,使用 “Next.js” 而非 “nextjs”,使用 “Customer.io” 而非 “customerio”,使用 “Three.js” 而非 “threejs”)。如果结果不理想,请先尝试其他拼写方式,例如 next.js,再更改查询内容。
始终传入 query 参数——该参数为必填项,并会直接影响结果排序。根据用户意图构造查询,这有助于在多个名称相近的库之间进行区分。请勿在查询中包含任何敏感或机密信息,例如 API 密钥、密码、凭据、个人数据或专有代码。
结果字段
每条结果都包含:
- 库 ID — Context7 兼容的标识符(格式为
/org/project) - 名称 — 库或软件包名称
- 描述 — 简短摘要
- 代码片段 — 可用代码示例的数量
- 来源信誉 — 权威性指标(高、中、低或未知)
- 基准分数 — 质量指标(100 为最高分)
- 版本 — 可用版本列表。如果用户在查询中指定了版本,请使用其中一个版本。格式为
/org/project/version。
选择流程
- 分析查询,了解用户需要查找的库或软件包
- 根据以下因素选择最相关的匹配项:
- 名称与查询的相似度(优先选择完全匹配项)
- 描述与用户意图的相关性
- 文档覆盖范围(优先选择代码片段数量较多的库)
- 来源信誉(高或中等信誉的来源更具权威性)
- 基准分数(分数越高越好,最高为 100)
- 如果有多个合适的匹配项,说明这一点,但继续选择最相关的一个
- 如果没有合适的匹配项,请明确说明,并建议调整查询内容
- 如果查询含糊不清,请在选择最合适的匹配项并继续之前请求用户澄清
特定版本的 ID
如果用户提到了特定版本,请使用特定版本的库 ID:
# General (latest indexed)
npx ctx7@latest docs /vercel/next.js "How to set up app router"
# Version-specific
npx ctx7@latest docs /vercel/next.js/v14.3.0-canary.87 "How to set up app router"
可用版本列于 library 命令的输出中。请使用与用户指定版本最接近的版本。
第 2 步:查询文档
检索已解析库的最新文档和代码示例。
npx ctx7@latest docs /facebook/react "How to clean up useEffect with async operations"
npx ctx7@latest docs /vercel/next.js "How to add authentication middleware to app router"
npx ctx7@latest docs /prisma/prisma "How to define one-to-many relations with cascade delete"
编写优质查询
查询会直接影响结果质量。请描述具体,并包含相关细节,但每个查询只涉及一个主题——如果问题涉及多个不同概念,请针对每个概念分别运行 docs 命令,而不是将它们合并,除非问题询问这些概念之间如何相互作用。请勿在查询中包含任何敏感或机密信息,例如 API 密钥、密码、凭据、个人数据或专有代码。
| 质量 | 示例 |
|---|---|
| 好 | "How to set up authentication with JWT in Express.js" |
| 好 | "React useEffect cleanup function with async operations" |
| 差(过于模糊) | "auth" |
| 差(过于模糊) | "hooks" |
| 差(范围过广) | "routing and auth and caching in Next.js" |
请描述要在库的文档中查找的内容,而不是要完成的任务——含糊的单词查询会返回通用结果,多主题查询会稀释排名,并针对每个主题返回浅显的结果。
输出包含两种类型的内容:代码片段(带标题和语言标记的代码块)以及信息片段(带面包屑上下文的文字说明)。
身份验证
无需身份验证即可使用。如需更高的速率限制:
# Option A: environment variable
export CONTEXT7_API_KEY=your_key
# Option B: OAuth login
npx ctx7@latest login
错误处理
如果命令因配额错误(“Monthly quota reached” 或 “quota exceeded”)而失败:
- 告知用户其 Context7 配额已用尽
- 建议用户进行身份验证以获取更高的限制:
npx ctx7@latest login - 如果用户无法或选择不进行身份验证,请根据训练知识作答,并明确说明信息可能已过时
请勿在未告知用户 Context7 未被使用原因的情况下,悄悄改用训练数据。
常见错误
- 库 ID 必须以
/为前缀——使用/facebook/react,而不是facebook/react - 始终先运行
npx ctx7@latest library——没有有效 ID 时,运行npx ctx7@latest docs react "hooks"会失败 - 使用描述性查询,而不是单个词——使用
"React useEffect cleanup function",而不是"hooks" - 每个查询只涉及一个主题——将
"routing and auth and caching"拆分为针对每个概念的独立docs命令,除非问题询问这些概念之间如何相互作用 - 请勿在查询中包含敏感信息(API 密钥、密码、凭据)