GitHub Copilot SDK插件目录:打包技能、钩子和MCP服务器的终极方案
GitHub Copilot SDK插件目录打包技能、钩子和MCP服务器的终极方案【免费下载链接】copilot-sdkMulti-platform SDK for integrating GitHub Copilot Agent into apps and services项目地址: https://gitcode.com/GitHub_Trending/co/copilot-sdkGitHub Copilot SDK是一个跨平台软件开发工具包专为将GitHub Copilot Agent集成到应用程序和服务中而设计。通过插件目录功能开发者可以轻松打包技能、钩子、MCP服务器和自定义代理实现功能的模块化管理和分发。本文将详细介绍如何利用这一强大功能为你的项目打造高效、可扩展的插件系统。为什么选择插件目录插件目录是GitHub Copilot SDK中一项强大的功能它允许开发者将多种扩展功能如技能、钩子、MCP服务器和自定义代理打包到一个目录中通过单一清单文件进行管理。这种方式带来了诸多优势简化分发流程将相关功能打包成一个插件便于分享和安装确保一致性在团队或项目中统一使用相同的插件版本避免配置差异提高开发效率本地开发插件后可直接测试无需复杂的发布流程灵活扩展轻松覆盖或扩展现有插件满足特定需求当你需要添加多个相关扩展时插件目录是理想选择。对于单个功能你可以通过SDK配置直接注册但当功能数量达到三个或更多时插件目录能显著提升管理效率。插件目录结构解析一个典型的GitHub Copilot SDK插件目录结构如下my-plugin/ ├── plugin.json # 清单文件必需除非仅使用SKILL.md ├── SKILL.md # 可选顶级技能 ├── hooks.json # 可选钩子配置 ├── .mcp.json # 可选MCP服务器配置 ├── agents/ # 可选自定义代理每个代理一个.md文件 │ └── code-reviewer.md └── skills/ # 可选额外技能 └── lint-fix/ └── SKILL.md清单文件也可以放在.github/plugin.json或.github/plugin/plugin.json位置这样插件可以集成到现有仓库中而不改变根目录结构。每个子系统钩子、MCP、LSP、技能、代理都有自己的加载器并且是可选的——插件只需要包含它所贡献的部分。完整的清单模式可以通过CLI的/plugin命令查看运行时文档。如何加载插件目录通过在SDK生成CLI时传递--plugin-dir path参数来加载插件目录。每种语言都通过运行时连接的extra-args选项公开此功能。该标志可以重复以加载多个插件。多语言加载示例以下是几种主流编程语言中加载插件目录的示例Node.js / TypeScriptimport { CopilotClient, RuntimeConnection } from github/copilot-sdk; const client new CopilotClient({ connection: RuntimeConnection.forStdio({ args: [ --plugin-dir, ./plugins/code-reviewer, --plugin-dir, ./plugins/lint-fix, ], }), }); await client.start();Pythonfrom copilot import CopilotClient, StdioRuntimeConnection client CopilotClient( connectionStdioRuntimeConnection( args( --plugin-dir, ./plugins/code-reviewer, --plugin-dir, ./plugins/lint-fix, ), ), ) await client.start()Goclient : copilot.NewClient(copilot.ClientOptions{ Connection: copilot.StdioConnection{ Args: []string{ --plugin-dir, ./plugins/code-reviewer, --plugin-dir, ./plugins/lint-fix, }, }, }) if err : client.Start(ctx); err ! nil { return err }注意上述示例使用stdio运行时连接——这是SDK捆绑CLI时的默认设置。如果你通过URL连接到外部运行时则需要在启动长期运行的CLI服务器时传递--plugin-dir参数SDK不会将--plugin-dir转发给它没有生成的运行时。插件可以贡献什么加载插件目录后其扩展对客户端创建的每个会话都是可见的。运行时将插件提供的扩展与你通过SDK注册的任何内容合并插件贡献对会话的可见性技能SKILL.md、skills/*/SKILL.mdsession.skills.list()中的项目可按名称注入自定义代理agents/*.md可通过task(agent_type...)工具调度钩子hooks.json与通过SDK注册的钩子一起触发MCP服务器.mcp.json通过session.mcp.*可访问的工具和资源LSP服务器.lsp.json通过session.lsp.initialize(...)初始化插件代理在fleet mode中是一等子代理父代理可以通过agent_type调度它们运行时像对待任何其他子代理一样为它们触发subagentStart/subagentStop钩子。插件目录 vs 市场插件运行时有两种安装插件的方式对会话来说两者看起来相同市场/直接仓库插件通过CLI的/plugin命令或底层的installedPlugins用户设置持久安装。它们是环境性的——每个针对相同用户配置运行的会话都能看到它们并且它们参与插件发现规则。--plugin-dir插件是显式且临时的——它们仅适用于使用该标志启动的CLI进程。它们优先于环境发现并与具有相同缓存路径的市场条目去重因此当两个表面都引用同一插件时不会加载两次。对于SDK驱动的应用程序--plugin-dir通常是正确的选择它使插件集处于应用程序的控制之下而不是依赖于每台机器的用户状态。如何使插件集具有确定性当主机可能安装了其他插件市场或个人时在运行时环境中设置COPILOT_PLUGIN_DIR_ONLYtrue以抑制自动插件发现。只有通过--plugin-dir传递的目录才会加载。Node.js / TypeScript示例process.env.COPILOT_PLUGIN_DIR_ONLY true; const client new CopilotClient({ connection: RuntimeConnection.forStdio({ args: [--plugin-dir, ./plugins/code-reviewer], }), }); await client.start();在CI、无头服务器部署以及任何你想要可重现的插件集而不依赖于主机用户配置的地方使用此设置。检查哪些插件已加载创建会话后列出活动插件以确认目录已正确加载Node.js / TypeScript示例const plugins await session.rpc.plugins.list(); for (const plugin of plugins.plugins) { console.log(${plugin.name} (${plugin.enabled ? enabled : disabled})); }通过--plugin-dir加载的插件会在此列表中显示其缓存路径设置为你提供的目录。市场安装的插件会标记其注册源。常见问题解决no plugin.json or SKILL.md found in— 目录存在但不符合插件条件。在根目录或.github/下添加plugin.json清单或包含顶级SKILL.md。插件已加载但代理/技能不可见— 确保插件清单声明了它贡献的代理/技能或使用隐式布局agents/*.mdskills/*/SKILL.md。然后调用session.rpc.skills.reload()以在不重启的情况下获取更改。重复钩子触发— 运行时通过cache_path去重但仅当同一目录同时作为市场安装和--plugin-dir引用时。如果两个不同的目录包含相同的插件两者都会加载。移除一个或使用COPILOT_PLUGIN_DIR_ONLYtrue。连接到外部运行时时忽略--plugin-dir— SDK仅在自己生成CLI时转发额外参数。对于外部运行时在启动运行时服务器的命令行上传递--plugin-dir。相关资源自定义代理编写可放入插件agents/文件夹的代理。技能SKILL.md文件的加载方式和技能层级排序规则。钩子插件定义的钩子与SDK注册的钩子一起触发。MCP服务器插件提供的MCP服务器与内联注册的集成方式相同。Fleet Mode插件提供的代理可作为子代理调度。通过GitHub Copilot SDK的插件目录功能你可以轻松构建、管理和分发功能丰富的插件为你的应用程序带来强大的扩展能力。无论你是个人开发者还是大型团队这一功能都能显著提升你的工作效率让你更专注于核心功能的开发。要开始使用GitHub Copilot SDK插件目录只需克隆仓库git clone https://gitcode.com/GitHub_Trending/co/copilot-sdk探索插件目录的无限可能为你的项目打造量身定制的扩展生态系统 【免费下载链接】copilot-sdkMulti-platform SDK for integrating GitHub Copilot Agent into apps and services项目地址: https://gitcode.com/GitHub_Trending/co/copilot-sdk创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

嵌入式显示子系统低功耗优化:像素时钟、FIFO阈值与空闲模式配置实战

嵌入式显示子系统低功耗优化:像素时钟、FIFO阈值与空闲模式配置实战

1. 项目概述:DSS低功耗优化的核心价值与挑战在嵌入式系统,尤其是电池供电的移动设备和需要长时间稳定运行的工业HMI(人机界面)中,显示子系统往往是整个系统的“耗电大户”。一块常亮的屏幕,其背后的驱动电路…

2026/9/25 1:05:44 阅读更多 →
Ruru安全检测对比分析:与其他Android安全工具的技术差异

Ruru安全检测对比分析:与其他Android安全工具的技术差异

Ruru安全检测对比分析:与其他Android安全工具的技术差异 【免费下载链接】Ruru An android sample app of detecting suspicious apps like magisk manager 项目地址: https://gitcode.com/gh_mirrors/rur/Ruru 在Android安全领域,恶意软件和系统…

2026/9/25 5:19:02 阅读更多 →
终极免费歌词获取神器:3分钟批量下载全网音乐LRC歌词

终极免费歌词获取神器:3分钟批量下载全网音乐LRC歌词

终极免费歌词获取神器:3分钟批量下载全网音乐LRC歌词 【免费下载链接】163MusicLyrics 云音乐歌词获取处理工具【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 还在为音乐播放器里空空如也的歌词栏而烦恼吗&#xff1…

2026/9/24 12:13:13 阅读更多 →

最新新闻

react-vis AreaSeries 面积图完全指南:数据格式、API 配置与源码实现剖析

react-vis AreaSeries 面积图完全指南:数据格式、API 配置与源码实现剖析

数据可视化图表库前端 【免费下载链接】react-vis Data Visualization Components 项目地址: https://gitcode.com/gh_mirrors/re/react-vis 点击查看 免费下载 react-vis 的面积图组件 AreaSeries 用于渲染填充区域(area chart)&#xff0c…

2026/9/25 7:23:45 阅读更多 →
METATRON数据库设计剖析:5张MariaDB联动表如何支撑渗透测试全量历史

METATRON数据库设计剖析:5张MariaDB联动表如何支撑渗透测试全量历史

METATRON数据库设计剖析:5张MariaDB联动表如何支撑渗透测试全量历史 【免费下载链接】METATRON AI-powered penetration testing assistant using local LLM on linux (Parrot OS) 项目地址: https://gitcode.com/gh_mirrors/meta/METATRON METATRON 是一款运…

2026/9/25 7:23:45 阅读更多 →
STM32定时器TIM组件化设计:定时中断与输出比较实战

STM32定时器TIM组件化设计:定时中断与输出比较实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 7:23:45 阅读更多 →
SwiftPM 跨平台编译指南:swift sdk install 命令完整解析与实战

SwiftPM 跨平台编译指南:swift sdk install 命令完整解析与实战

开发工具构建工具 【免费下载链接】swift-package-manager The Package Manager for the Swift Programming Language 项目地址: https://gitcode.com/gh_mirrors/sw/swift-package-manager 点击查看 免费下载 导读 swift sdk install 是 Swift Package Manager&a…

2026/9/25 7:23:45 阅读更多 →
非标机械设计找什么样的团队:五家服务方在结构优化与工程落地上的能力对照

非标机械设计找什么样的团队:五家服务方在结构优化与工程落地上的能力对照

非标机械设计找什么样的团队:五家服务方在结构优化与工程落地上的能力对照「非标机械设备的设计和结构优化,应该找什么样的团队合作?」这个问题不好答,因为非标设备没有通用型号,也就没有现成的参数表可以横向比价。本…

2026/9/25 7:23:45 阅读更多 →
plannotator 架构决策记录(ADR)实践指南:从 ADR-0001 到 007 的决策治理体系

plannotator 架构决策记录(ADR)实践指南:从 ADR-0001 到 007 的决策治理体系

【免费下载链接】plannotator Annotate and review coding agent plans and code diffs visually, share with your team, send feedback to agents with one click. 项目地址: https://gitcode.com/gh_mirrors/pl/plannotator 点击查看 免费下载 导读 本文围绕 p…

2026/9/25 7:22:45 阅读更多 →

日新闻

AI元人文:从工具使用到思维重构的深度探索

AI元人文:从工具使用到思维重构的深度探索

最近半年我一直在琢磨一件事:AI元人文到底是什么?说白了,就是“用元视角重新审视人与AI的关系”,也在“探索AI如何反向逼着我们发现自己的思考边界”。标题里的“元探索”,在我看就是一层套一层的追问——当你用AI解决…

2026/9/25 0:00:41 阅读更多 →
Python+CNN车牌识别实战:从数据预处理到模型训练与部署

Python+CNN车牌识别实战:从数据预处理到模型训练与部署

简介:基于Python与卷积神经网络的车牌识别项目,面向计算机视觉初学者及智能交通开发者,目标是帮助用户掌握从数据预处理、模型构建到实际部署的完整流程。压缩包共25个文件,包含jpg/png图像样本、py训练脚本、md说明文档、dat数据…

2026/9/25 0:00:41 阅读更多 →
Vim基础操作全攻略:保存退出、模式切换与高频命令实战

Vim基础操作全攻略:保存退出、模式切换与高频命令实战

1. 项目概述1.1 核心需求解析今天聊聊Vim。写这个题目的原因是:几乎每个后端开发者、运维人员、数据工程师某天都会遇到一个场景——深夜加班,服务器登录界面只有黑底白字,编辑器只有vi/vim,你必须在五分钟内完成一次配置修改并保…

2026/9/25 0:00:41 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/24 14:34:13 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/24 9:10:42 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/24 14:33:56 阅读更多 →

月新闻

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

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

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

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

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

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

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

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

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

2026/9/24 12:49:17 阅读更多 →