用途
该技能用于检索和查询任意编程库或框架的最新文档与代码示例,数据来自 Context7。当需要编写依赖某个库或框架的代码时,可用它获取当前版本的准确用法,避免依赖过时或记忆中的信息。
主要能力
- 将包或产品名称解析为 Context7 兼容的库 ID。
- 根据库 ID 查询最新文档与代码示例。
- 支持指定版本,使用版本专属的库 ID(格式为 /org/project/version)。
- 返回结果包含库 ID、名称、描述、代码片段数量、来源信誉(High、Medium、Low、Unknown)、基准分数(最高 100)以及可用版本列表。
- 输出内容包含两类:带语言标记的代码片段,以及带面包屑上下文的说明性文字片段。
使用方式
先确保 CLI 为最新版本:
npm install -g ctx7@latest
或直接运行而无需安装:
npx ctx7@latest <command>
工作流为两步:
第一步,解析库 ID:
ctx7 library <name> <query>
第二步,查询文档:
ctx7 docs <libraryId> <query>
除非用户已明确提供 /org/project 或 /org/project/version 格式的库 ID,否则必须先调用 ctx7 library 获取有效库 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"
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"
版本专属 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"
查询时始终传入 query 参数,该参数为必填并直接影响结果排序。应使用用户意图构造查询,以便在多个库名称相似时进行区分。查询中不得包含 API 密钥、密码、凭据、个人数据或专有代码等敏感或机密信息。
选择库时,根据名称相似度(优先精确匹配)、描述与查询意图的相关性、文档覆盖度(优先代码片段数量较多的库)、来源信誉(High 或 Medium 更权威)以及基准分数(越高越好)进行判断。若存在多个良好匹配,应说明并选择最相关的一个;若无良好匹配,应明确说明并建议优化查询;若查询含义模糊,应先请求澄清再给出最佳猜测。
查询质量直接影响结果。应具体并包含相关细节,例如使用 "How to set up authentication with JWT in Express.js" 或 "React useEffect cleanup function with async operations",而非 "auth" 或 "hooks" 这类单词查询。尽可能使用用户的完整问题作为查询。
认证方面,无需认证即可使用。如需更高速率限制,可使用环境变量:
export CONTEXT7_API_KEY=your_key
或使用 OAuth 登录:
ctx7 login
适用场景
- 编写依赖第三方库或框架的代码时,查询最新 API 用法与示例。
- 需要针对特定版本获取文档时。
- 需要区分名称相似的多个库时。
限制
- 每个问题运行这些命令不得超过 3 次;若 3 次尝试后仍未找到所需内容,应使用已有的最佳结果。
- 库 ID 必须带 / 前缀,例如 /facebook/react,而非 facebook/react。
- 必须先运行 ctx7 library,否则 ctx7 docs react "hooks" 会因缺少有效 ID 而失败。
- 查询中不得包含敏感信息(API 密钥、密码、凭据等)。
- 关于具体收费、价格、平台支持范围等事实,资料中暂未提供。