关于 context7
通过 Context7 获取最新且对应特定版本的库文档与代码示例,适用于需要核实库 API 的问题。
主要功能
- 01解析库 ID
- 02检索指定文档
- 03核对可用版本
- 04使用具体查询获取内容
适用场景
- 01回答前核实库 API
- 02查找特定库的代码示例
- 03核对指定版本的文档
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ dotneet/ claude-code-marketplace --skill context7安装后在 Claude Code 中输入/context7确认已加载。
附带文件references/api_reference.md
详细介绍
Context7
概述
Context7 是一项为大模型提供最新库文档的服务。它可以避免因训练数据过时或 API 不存在而产生幻觉,从而获取特定版本的准确文档和代码示例。
适用场景
在以下情况下使用此技能:
- 明确指示:用户要求“使用 context7”或“查看最新文档”时
- 库用法问题:用户询问如何使用特定库的 API、钩子或函数时
- 代码示例请求:用户要求提供使用特定库的代码示例时
- 特定版本信息:需要了解特定版本的库信息时
- API 信息不确定:你的知识可能已过时,需要验证最新信息时
工作流
步骤 1:解析库 ID
首先,获取目标库的 Context7 ID。
API 调用:
curl "https://context7.com/api/v2/libs/search?libraryName=LIBRARY_NAME&query=CONTEXT_QUERY" \
-H "Authorization: Bearer $CONTEXT7_API_KEY"
示例:
# Search for React library
curl "https://context7.com/api/v2/libs/search?libraryName=react&query=hooks" \
-H "Authorization: Bearer $CONTEXT7_API_KEY"
选择响应内容的标准:
trustScore:可信度评分(越高越好)totalSnippets:可用文档的数量(越多表示信息越丰富)versions:确认是否包含所需版本
步骤 2:检索文档
使用解析出的库 ID 检索特定文档。
API 调用:
curl "https://context7.com/api/v2/context?libraryId=LIBRARY_ID&query=SPECIFIC_QUERY" \
-H "Authorization: Bearer $CONTEXT7_API_KEY"
示例:
# Retrieve information about React's useEffect
curl "https://context7.com/api/v2/context?libraryId=/facebook/react&query=useEffect cleanup function" \
-H "Authorization: Bearer $CONTEXT7_API_KEY"
查询最佳实践:
- 使用具体查询(例如,“useEffect 清理函数”而非“钩子”)
- 明确说明目的(例如,“身份验证中间件”“表单验证”等)
步骤 3:回复用户
根据检索到的文档回答用户的问题。
回复中应包含的信息:
- 检索到的代码示例
- API 说明
- 文档来源 URL(供参考)
示例
示例 1:React 钩子用法
用户:“如何使用 React 的 useEffect 编写清理函数?”
执行步骤:
- 搜索库:
libraryName=react、query=useEffect cleanup - 检索文档:
libraryId=/facebook/react、query=useEffect cleanup function - 使用最新代码示例和最佳实践作答
示例 2:Next.js 路由
用户:“使用 context7 展示如何通过 Next.js App Router 实现身份验证中间件”
执行步骤:
- 搜索库:
libraryName=next.js、query=middleware authentication - 检索文档:
libraryId=/vercel/next.js、query=middleware authentication route protection - 回复适用于最新 App Router 的中间件实现
示例 3:组合使用多个库
用户:“如何使用 TailwindCSS 和 shadcn/ui 创建按钮组件?”
执行步骤:
- 解析每个库的 ID
- 检索两个库的文档
- 回复组合实现示例
错误处理
| 错误 | 解决方案 |
|---|---|
| 404(未找到) | 使用其他库名称重新搜索(例如,“nextjs” → “next.js”) |
| 429(请求过多) | 稍等片刻后重试 |
| 响应为空 | 使用更宽泛的查询重试 |
资源
有关详细的 API 规范,请参阅 references/api_reference.md。
- 端点详情
- 响应字段说明
- 速率限制信息
- 错误代码列表
评论
支持 Markdown