触发场景
用户消息满足以下任一条件时触发:
- •
包含 GitHub URL
- •消息中包含
github.com链接 - •示例:
https://github.com/user/repo
- •消息中包含
- •
提到公开库/开源仓库
- •关键词:「公开库」「开源仓库」「GitHub 仓库」「开源项目」「GitHub 项目」
- •示例:「我想了解这个开源项目的实现」
- •
AI 判断需要参考 GitHub 代码
- •当前任务涉及理解或使用某个库的最新版本
- •需要查看某个库的具体实现
- •需要了解某个框架的最新 API
不触发的场景
- •仅是普通讨论 GitHub 概念,不涉及具体代码
- •用户明确表示不需要查看源码
- •任务已经很明确,不需要额外的文档参考
执行流程
阶段 1: 自动检测 GitHub 需求
步骤 1.1: 识别触发条件
检查用户消息是否满足以下任一条件:
- •包含
github.comURL (如: https://github.com/user/repo) - •提到特定框架/库名称需要查看文档 (如: "Next.js 14 文档", "React hooks API")
- •询问开源项目实现方式
- •需要最新版本的 API 参考
步骤 1.2: 评估 context7 必要性
✅ 需要 context7:
- •涉及具体代码库的实现细节
- •需要特定版本的 API 文档
- •学习新框架或库
- •查看官方示例项目
❌ 不需要 context7:
- •通用编程概念讨论
- •已有足够上下文信息
- •简单问题不需要查源码
- •私有仓库 (context7 仅支持公开库)
阶段 2: 自动调用 context7 MCP
步骤 2.1: 透明告知用户
在调用 context7 前,简要告知用户:
code
💡 正在使用 context7 获取 [仓库名/框架名] 的最新文档...
步骤 2.2: 调用 context7 MCP
直接使用 context7 MCP 工具获取文档内容。无需等待用户明确许可。
步骤 2.3: 基于最新文档回答
使用 context7 返回的文档内容:
- •提供准确的 API 用法
- •引用最新的代码示例
- •说明版本特定的特性
阶段 3: 后续处理
步骤 3.1: 如果 context7 失败
如果 context7 调用失败 (如仓库不存在、网络问题):
- •告知用户 context7 不可用
- •基于现有知识回答
- •建议用户手动查看仓库
步骤 3.2: 引用来源
回答时明确说明信息来源:
code
根据 context7 获取的 [仓库名] 最新文档...
context7 功能说明
核心功能
context7 是一个 MCP (Model Context Protocol) 服务器,用于解决 LLM 依赖过时或通用库信息的问题。
它能做什么:
- •拉取 GitHub 仓库的最新文档
- •获取特定版本的代码示例
- •提供准确的 API 参考
- •避免生成不存在或已废弃的 API
使用场景
✅ 适合使用 context7 的场景:
- •学习新框架或库的使用方法
- •查看某个开源项目的具体实现
- •需要最新版本的 API 文档
- •想了解某个库的设计模式
- •需要准确的代码示例而非通用建议
❌ 不适合使用 context7 的场景:
- •讨论编程概念,不涉及具体库
- •已经很熟悉的库,不需要查文档
- •私有仓库(context7 仅支持公开库)
- •简单的代码问题,不需要参考源码
配置检查
如果用户决定使用 context7,在提示之前先检查配置:
- •
检查 MCP 是否已配置
- •
.mcp.json或.cursor/mcp.json中是否有 context7 配置 - •如果没有,建议用户运行
/sync:mcp命令
- •
- •
配置文件示例
json{ "mcpServers": { "context7": { "command": "npx", "args": ["-y", "@upstash/context7-mcp"], "env": {} } } }
提示风格
语气和态度
- •友好提示,不强制:让用户知道有这个选项,但不强迫使用
- •简明扼要:一两句话说明作用,不要长篇大论
- •提供示例:给出具体的使用示例,降低理解成本
示例提示语
简短版:
code
💡 提示:您可以在 prompt 中添加 "use context7" 来获取该仓库的最新文档和代码示例,避免过时信息。
详细版:
code
💡 检测到您需要参考 GitHub 仓库。context7 可以帮您拉取最新的文档和代码示例。 使用方法:在下一条消息中添加 "use context7",例如: "use context7 来分析 https://github.com/user/repo 的实现" 是否需要使用?
相关文档
注意事项
- •
不要过度触发
- •只在真正需要时提示
- •避免打断用户的正常工作流
- •
尊重用户选择
- •如果用户明确拒绝,不要重复提示
- •记住用户的偏好(如果可能)
- •
配置检查
- •提示使用前,确保 MCP 已配置
- •如果未配置,引导用户运行
/sync:mcp
- •
隐私保护
- •context7 仅支持公开仓库
- •不要尝试访问私有仓库