
上周用 Claude Code 写一个 Next.js 的中间件。它很自信地给我写了一段代码:
const token = request.cookies.get('token') if (!token) { return NextResponse.redirect(new URL('/login', request.url)) } return NextResponse.next() } |
我复制进去,跑了一下——报错。
查了一下文档,Next.js 14 改了 Middleware 的 API 签名。Claude 的训练数据停在 2024 年,它根本不知道这事。
它编了一个"看起来很对"的 API,然后一本正经地告诉我这是对的。
AI 为什么会"编"API?
不是 AI 故意骗你,是架构问题:
• 训练数据有截止日期——模型只"记得"发布前的 API
• 版本迭代太快——React、Next.js 几个月就一个大版本
• AI 不知道自己不知道——它会用"自信的语气"说错话
• 你也不确定对不对——因为你也还没查过最新文档
结果就是:AI 编造 API + 你无法验证 = 浪费时间调试。
Context7:实时拉文档
有个叫 context7 的工具,专门解决这个问题。
它的原理很简单:AI 写代码前,先去官网拉最新文档。
不是靠训练数据"背",是实时去源码仓库/文档网站抓取,然后喂给 AI。
它能做什么?

安装方式
方法 1:CLI + Skill(推荐)
然后在你的 AI 编程工具里:
它会自动配置好,以后你问库相关的问题,它会自动拉文档。
方法 2:MCP Server

实际用起来什么样?
场景 1:问库问题
你直接问:
"Next.js 14 的 Middleware 怎么写?用 context7"
AI 会先调用 resolve-library-id 找到 /vercel/next.js,然后调用 query-docs 拉最新文档,最后基于文档回答你。
场景 2:指定版本
"React 19 的 use hook 怎么用?用 context7 /reactjs/react.dev/v19.0.0"
它会拉 React 19 版本的文档,不会给你混入 18 的内容。
场景 3:隔离查询
上下文快满了?用 docs-researcher agent 在独立环境查文档,不污染主上下文:
手动命令:/context7:docs
知道要查什么库,直接用命令:
/context7:docs next.js authentication |
GitHub MCP + Context7 组合
单用 Context7 只能查文档,加上 GitHub MCP 能直接读源码:
• Context7——查文档、API 用法、最佳实践
• GitHub MCP——读源码、查 issue、看实现细节
两个装上,AI 写出来的代码就不再是"猜测",而是有据可查的"确认"。
我的实际体验
装了这个之后,最大的感受是:
之前:AI 给的代码要复制进去跑一下才知道对不对
之后:AI 直接告诉我"根据最新文档,这是正确的写法"
省了很多调试时间。特别是那些经常更新的库(Next.js、React、Tailwind),用起来特别爽。
免费额度
个人版完全够用,不用担心。
注意事项
• 需要 API Key——去 context7.com/dashboard 注册拿一个,免费的。
• 不是所有库都支持——主流库(React、Next.js、Vue、Tailwind 等)都有。冷门库可能没有。
• 会多一次网络请求——每次问库相关的问题,会多一次 API 调用。但一般很快,体感不明显。
哪些平台支持?

目前支持 5 大主流平台:Claude Code、Cursor、VS Code (Copilot)、Windsurf、Gemini CLI。
我的看法
这个工具解决了一个很实际的问题:AI 的训练数据 vs 最新 API 之间的鸿沟。
以前你要么手动查文档,复制给 AI;要么相信 AI,然后调试。
现在你只要在问题后面加一句"用 context7",AI 就会自动去拉最新文档。
一句话总结:让 AI 用官方文档回答你,而不是靠记忆。
AI 的知识会过期,但文档不会。
💬 你有没有被 AI "编造"的 API 坑过?欢迎在评论区分享。
如果觉得这篇文章有用,欢迎关注「AI 阿砚」,一个科研爱好者的 AI 探索笔记。
夜雨聆风