Context7 OpenCode 插件实战:一条命令为 OpenCode 接入 Context7 MCP 服务器与文档技能
Context7 OpenCode 插件实战一条命令为 OpenCode 接入 Context7 MCP 服务器与文档技能【免费下载链接】context7Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors项目地址: https://gitcode.com/gh_mirrors/co/context7Context7 OpenCode 插件upstash/context7-opencode用于解决 AI 编码助手的典型痛点训练数据过时与 API 幻觉。它通过一条命令为 OpenCode 注册托管的 Context7 MCP 服务器提供context7_resolve-library-id与context7_query-docs两个工具并自动安装context7-mcp技能让你在询问库、框架用法时自动拉取源头仓库中的最新文档。读完本文你可以完成插件的安装、API Key / OAuth 两种鉴权方式的配置并理解插件修改 OpenCode 配置的底层机制与覆盖规则。插件包含什么安装插件后OpenCode 会新增两类能力两者都是**增量additive**注入MCP Server托管的 Context7 服务器暴露context7_resolve-library-id检索库并返回 Context7 兼容 ID和context7_query-docs按问题相关性排序拉取文档两个工具Skillcontext7-mcp技能当你的提问涉及某个库如 React、Next.js、Prisma、Supabase时自动触发文档检索。从源码结构看插件本体只有一个入口文件 packages/opencode/src/index.ts其中定义了托管端点常量与服务器名const MCP_BASE_URL https://mcp.context7.com; const MCP_URL ${MCP_BASE_URL}/mcp; const MCP_OAUTH_URL ${MCP_BASE_URL}/mcp/oauth; const MCP_SERVER_NAME context7;见 src/index.ts没有 API Key 时走 OAuth 端点/mcp/oauth有 API Key 时走普通端点/mcp并用请求头鉴权。安装在项目目录中执行opencode plugin upstash/context7-opencode该命令会安装插件并将其写入 OpenCode 配置。也可以手动编辑opencode.json{ $schema: https://opencode.ai/config.json, plugin: [upstash/context7-opencode] }安装后重启 OpenCode。首次文档查询时OpenCode 会自动打开浏览器窗口让你通过 OAuth 登录 Context7从而使用你账户对应的速率限制。鉴权OAuth 默认API Key 可覆盖插件的鉴权优先级在 src/index.ts 中一行代码即可确认const apiKey nonEmptyString(options?.apiKey) ?? nonEmptyString(process.env.CONTEXT7_API_KEY);即插件选项apiKey优先于环境变量CONTEXT7_API_KEY两者都缺省时走 OAuth 流程。环境变量方式适合无头机器OAuth 是默认方式且无需配置。如果要在无浏览器的机器上使用 API Key可在 Context7 dashboard 创建密钥后启动 OpenCode 前导出# e.g. in ~/.zshrc or ~/.bashrc export CONTEXT7_API_KEYyour-api-key插件会自动拾取CONTEXT7_API_KEY并以Authorization请求头发送跳过 OAuth 流程。插件选项方式{ $schema: https://opencode.ai/config.json, plugin: [[upstash/context7-opencode, { apiKey: your-api-key }]] }从源码看Context7PluginOptions接口只声明了可选的apiKey字段src/index.ts这是插件目前暴露的唯一配置项。插件如何改写 OpenCode 配置核心逻辑在applyContext7Config函数src/index.tsfunction applyContext7Config(config: Config, apiKey: string | undefined): void { config.mcp ?? {}; config.mcp[MCP_SERVER_NAME] ?? apiKey ? { type: remote, url: MCP_URL, enabled: true, headers: { Authorization: Bearer ${apiKey} }, oauth: false, } : { type: remote, url: MCP_OAUTH_URL, enabled: true }; const withSkills config as ConfigWithSkills; withSkills.skills ?? {}; const skillPaths (withSkills.skills.paths ?? []); if (!skillPaths.includes(SKILLS_DIR)) { skillPaths.push(SKILLS_DIR); } }这段代码解释了 README 中“覆盖规则”的成因??语义保证用户配置永远优先config.mcp[context7] ?? ...意味着如果你的opencode.json已经定义了名为context7的 MCP 服务器插件会原样保留你的定义不会注入任何内容有/无 API Key 生成不同的服务器配置带 Key 时注入headers: { Authorization: Bearer ... }并显式设置oauth: false不带 Key 时指向 OAuth 端点技能路径去重SKILLS_DIR指向插件包内的skills/目录发布物中包含skills文件见 package.json 的files字段仅在skills.paths尚未包含该路径时追加因此重复加载不会产生重复技能。另外源码中有一处对旧版加载器的防御性注释/** Only the default export. Any other export is loaded as a second plugin by the legacy loader. */说明该包刻意只保留默认导出避免旧版插件加载器把其它导出当第二个插件重复执行。使用方式技能自动触发context7-mcp技能会在你询问库相关内容时自动触发无需显式调用例如“How do I set up authentication in Next.js 15?”“Show me React Server Components examples”“Whats the Prisma syntax for relations?”技能的完整行为定义在 SKILL.md 中其 frontmatter 的description明确了触发条件询问库/框架/API 参考、需要代码示例、提到 React/Vue/Next.js/Prisma/Supabase 等框架并规定了四步检索流程Step 1 — 解析库 ID调用resolve-library-id传入libraryName从用户问题中提取和query要在文档中查什么用于提升相关性排序Step 2 — 选择最佳匹配依据名称精确度、benchmark 分数分数越高文档质量越好以及版本提示如用户提到 “React 19” 时优先选版本化 IDStep 3 — 拉取文档调用query-docs传入libraryId与限定为单一概念的query。若问题跨多个概念如路由 鉴权 缓存需对同一libraryId分别发起多次query-docs因为合并查询会稀释排序、使每个话题的结果都变浅Step 4 — 引用文档作答用检索到的最新信息回答问题、附带文档中的代码示例、在相关时注明库版本。技能还给出了两条重要准则多个匹配时优先官方/主包而非社区 fork提及版本时优先使用版本化的库 ID。可用工具context7_resolve-library-id搜索库并返回 Context7 兼容标识符Input: next.js Output: { id: /vercel/next.js, name: Next.js, versions: [v15.1.8, v14.2.0, ...] }context7_query-docs拉取特定库的文档并按与问题的相关性排序Input: { libraryId: /vercel/next.js, query: app router middleware } Output: Relevant documentation snippets with code examples这两个工具由托管的 Context7 MCP 服务器提供服务器实现可参考 packages/mcp/src/index.ts其中工具入参带有别名重写机制用于纠正 LLM 客户端偶发的参数名幻觉例如将userQuery/question归一为query。版本钉选Version Pinning要获取特定版本的文档在库 ID 中追加版本号/vercel/next.js/v15.1.8 /supabase/supabase/v2.45.0context7_resolve-library-id工具会返回可用版本列表便于你挑选与项目匹配的版本。构建与发布形态包名upstash/context7-opencode当前版本 0.1.0MIT 许可见 package.json 与 CHANGELOG.md构建配置 tsup.config.ts 显示入口为src/index.ts仅产出ESMformat: [esm]、目标node20、带类型声明与 sourcemapopencode-ai/plugin被标记为 external依赖方面仅opencode-ai/plugin^1.18.11、tsup、typescript等开发依赖运行时无第三方运行时依赖。小结与延伸阅读该插件以极小的实现面完成了三件事按apiKey有无生成两种 MCP 服务器配置、去重注入技能路径、并以??语义保证用户配置不受污染。安装后你只需自然语言提问技能层会自动完成“解析库 ID → 选择匹配 → 分概念查询 → 引用作答”的完整链路。仓库中 OpenCode 客户端的完整指南含npx ctx7 setup --opencode替代方案、opencode mcp auth context7预鉴权命令、AGENTS.md配置提示等见 docs/clients/opencode.mdx插件包内技能完整定义见 packages/opencode/skills/context7-mcp/SKILL.md插件入口与配置注入逻辑见 packages/opencode/src/index.ts。【免费下载链接】context7Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors项目地址: https://gitcode.com/gh_mirrors/co/context7创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

IOPaint一键部署:从双击到出图

IOPaint一键部署:从双击到出图

IOPaint一键部署:从双击到出图 【免费下载链接】IOPaint Image inpainting tool powered by SOTA AI Model. Remove any unwanted object, defect, people from your pictures or erase and replace(powered by stable diffusion) any thing on your pictures. 项…

2026/9/5 20:07:50 阅读更多 →
Agent Skills实战拆解:从提示词工程到科研自动化技能包

Agent Skills实战拆解:从提示词工程到科研自动化技能包

如果你最近在折腾 Agent 开发,肯定能感觉到圈子里的风向变了。以前大家拿到需求,第一反应是写一个包治百病的 system prompt,把目标、约束、话术全塞进去,指望大模型自由发挥;现在越来越多团队开始把能力拆开&#xff…

2026/9/5 20:07:50 阅读更多 →
Chart.js 在 Node.js 中服务端渲染图表:从文档示例到源码级实现原理

Chart.js 在 Node.js 中服务端渲染图表:从文档示例到源码级实现原理

Chart.js 在 Node.js 中服务端渲染图表:从文档示例到源码级实现原理 【免费下载链接】Chart.js Simple HTML5 Charts using the tag项目地址: https://gitcode.com/gh_mirrors/ch/Chart.js 本文基于 Chart.js 仓库中 Node.js 使用文档,讲清楚如何借…

2026/9/5 20:07:50 阅读更多 →

最新新闻

AGENTS.md 快速上手:10 分钟写一份项目说明书,让所有 AI 编码助手都看得到

AGENTS.md 快速上手:10 分钟写一份项目说明书,让所有 AI 编码助手都看得到

AGENTS.md 快速上手:10 分钟写一份项目说明书,让所有 AI 编码助手都看得到 【免费下载链接】agents.md AGENTS.md — a simple, open format for guiding coding agents 项目地址: https://gitcode.com/GitHub_Trending/ag/agents.md AGENTS.md 是…

2026/9/5 20:50:23 阅读更多 →
图RAG实践:Neo4j+Milvus+LLM打造烹饪知识问答系统

图RAG实践:Neo4j+Milvus+LLM打造烹饪知识问答系统

1. 项目前言:从“AI聊天”到“AI会按图索骥”做 RAG 的朋友应该都有同感:纯向量检索的方案,搞个知识库 Demo 很容易,但一上生产就露馅。用户问“宫保鸡丁和鱼香肉丝有什么区别”,向量检索返回的是两篇高度相似的菜谱片…

2026/9/5 20:50:23 阅读更多 →
calibre 电子书格式转换指南:7 种常见场景一次讲透

calibre 电子书格式转换指南:7 种常见场景一次讲透

calibre 电子书格式转换指南:7 种常见场景一次讲透 【免费下载链接】calibre The official source code repository for the calibre ebook manager 项目地址: https://gitcode.com/GitHub_Trending/ca/calibre 同一本电子书在 Kindle 上打不开,换…

2026/9/5 20:50:23 阅读更多 →
AI编程实战:打造带RAG问答的个人博客知识库

AI编程实战:打造带RAG问答的个人博客知识库

1. 项目全景:我在搭一个什么样的“博客知识库”1.1 一句话讲清项目在做的事我给自己定了这样一个目标:用AI编程把一个博客站点从零搭起来,并且让博客自带一个能问答的RAG知识库。这个知识库不是花架子,而是要真的能回答我积累的文…

2026/9/5 20:50:23 阅读更多 →
Ultralytics YOLO26 实战:Objects365 大规模目标检测数据集训练、预训练检查点与 712GB 下载机制全解

Ultralytics YOLO26 实战:Objects365 大规模目标检测数据集训练、预训练检查点与 712GB 下载机制全解

Ultralytics YOLO26 实战:Objects365 大规模目标检测数据集训练、预训练检查点与 712GB 下载机制全解 【免费下载链接】ultralytics Ultralytics YOLO26, YOLO11, YOLOv8 — object detection, instance segmentation, semantic segmentation, image classification…

2026/9/5 20:50:23 阅读更多 →
Langflow macOS 支持弃用调查:Intel Mac 弃用全景、平台标记机制与 CI 矩阵演进

Langflow macOS 支持弃用调查:Intel Mac 弃用全景、平台标记机制与 CI 矩阵演进

Langflow macOS 支持弃用调查:Intel Mac 弃用全景、平台标记机制与 CI 矩阵演进 【免费下载链接】langflow Langflow is a powerful tool for building and deploying AI-powered agents and workflows. 项目地址: https://gitcode.com/GitHub_Trending/la/langfl…

2026/9/5 20:49:22 阅读更多 →

日新闻

基于STA-ResNet的深度学习信道估计:时空注意力与残差网络实战解析

基于STA-ResNet的深度学习信道估计:时空注意力与残差网络实战解析

简介:本资源是一个面向通信工程、信号处理及AI交叉领域研究者的深度学习实践项目,聚焦无线通信系统中信道估计精度提升这一核心难题。项目实现并开源了STA-ResNet模型——一种融合空间注意力、时间注意力与ResNet残差结构的端到端信道估计网络&#xff0…

2026/9/5 0:00:19 阅读更多 →
知识库如何察觉自己“不再为真”?TMS真值维护系统原理与实践

知识库如何察觉自己“不再为真”?TMS真值维护系统原理与实践

如果一个知识库昨天还在告诉你“某个接口会返回某个字段”,今天上游系统悄悄把这个字段下掉了,知识库会怎样?对大部分系统来说,它不会有任何反应。它依然保存着那条知识,依然能被检索到,依然会被下游服务消…

2026/9/5 0:00:19 阅读更多 →
ToolJet深度解析:开源低代码平台核心能力与实战指南

ToolJet深度解析:开源低代码平台核心能力与实战指南

深入解析 ToolJet:开源低代码平台的核心能力与实战上手指南 1. ToolJet 是什么?为什么低代码平台需要重新被审视 2. ToolJet 的核心功能拆解 2.1 可视化应用构建器 2.2 数据源连接与查询管理 2.3 前端组件与事件交互 2.4 权限管理与协作能力 3. 环…

2026/9/5 0:00:19 阅读更多 →

周新闻

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

每年校招季我都会接触不少准备数据库方向笔试的同学,看到最多的状态就是:简历上写着“熟悉 MySQL”“了解索引优化”,一碰到数据库管理工程师的笔试卷,却在索引、事务、锁、备份恢复这些题目上翻车。网易这套 2018 校园招聘数据库…

2026/9/4 10:54:27 阅读更多 →
数字电路时序基石:深入理解建立时间与保持时间

数字电路时序基石:深入理解建立时间与保持时间

1. 这不是“背公式”的事:时间参数到底在约束什么你翻过数字电路教材,一定见过这两个词:建立时间(Setup Time)和保持时间(Hold Time)。它们常被并列写在触发器(Flip-Flop&#xff09…

2026/9/4 14:20:02 阅读更多 →
蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

1. 项目缘起:从赛题到超声波测距机的诞生第八届蓝桥杯单片机设计与开发国赛的题目,我至今记忆犹新。它没有直接给出一个花哨的名字,而是用“超声波测距机”这个朴实无华的功能描述,精准地勾勒出了考核的核心。对于当时备赛的我而言…

2026/9/4 20:51:50 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/5 5:05:50 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/5 19:29:20 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/4 9:37:01 阅读更多 →