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/10/20 11:52:38 阅读更多 →
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/10/21 3:35:28 阅读更多 →
终极免费歌词获取神器:3分钟批量下载全网音乐LRC歌词

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

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

2026/10/18 23:00:31 阅读更多 →

最新新闻

大语言模型训练全流程解析:从Token到SFT与RLHF的工程实践

大语言模型训练全流程解析:从Token到SFT与RLHF的工程实践

1. 先建立整体坐标系:LLM的四大训练阶段与核心概念地图聊大语言模型之前,我觉得最重要的事不是急着看某个公式或者某个库的API,而是先把整个训练流程的“地图”装进脑子里。很多人一上来就盯着“上下文窗口”“Token”这些名词逐个查&#xf…

2026/10/21 6:59:47 阅读更多 →
知识工作插件化:从设计逻辑到工程落地的完整实践指南

知识工作插件化:从设计逻辑到工程落地的完整实践指南

1. 从"知识工作插件"这个命名说起:它到底在解决什么问题第一次看到 knowledge-work-plugins 这个命名,我的直觉是:这不是一个具体的工具,而是一类架构思路的统称。它指向的是把"知识工作"这件事拆解成可插拔、…

2026/10/21 6:59:47 阅读更多 →
深度学习训练诊断:从梯度消失到激活漂移的排查实践

深度学习训练诊断:从梯度消失到激活漂移的排查实践

一开始接触深度神经网络的时候,我最大的困惑不是“它能不能学”,而是“它到底是怎么学出来的”。前面几篇我们聊了网络结构、损失函数、正则化这些基础零件,但真到了调模型的时候你会发现,真正拉开差距的往往不是模型的骨架&#…

2026/10/21 6:59:47 阅读更多 →
储能与虚拟电厂收益关键:预测系统可信度如何构建

储能与虚拟电厂收益关键:预测系统可信度如何构建

最近这段时间,储能和虚拟电厂几乎成了能源行业最热的两条赛道,各种项目发布会、示范工程、聚合平台路演一个接一个。但圈内人私下聊起来,真正关心的不是谁的电池容量大、谁的界面做得炫,而是同一个问题:项目到底能不能…

2026/10/21 6:59:46 阅读更多 →
告别通用模板:答辩PPT的场景化应用策略拆解

告别通用模板:答辩PPT的场景化应用策略拆解

每到毕业季,答辩现场的“翻车”方式总是千奇百怪:有人PPT做得像产品发布会,评委想看的数据却一页都没有;有人内容明明很扎实,却因为版式太乱、逻辑断层,被误判为“准备不充分”;还有人开场就念稿…

2026/10/21 6:59:46 阅读更多 →
Linux网络学习【传输层协议UDP】

Linux网络学习【传输层协议UDP】

🔥承渊政道:个人主页 ❄️个人专栏: 《C语言基础语法知识》 《数据结构与算法》 《C知识内容》 《Linux系统与网络知识》 《算法刷题指南》 《测评文章活动推广》 《大模型语言路线学习》 《MySQL数据库学习》 《Python知识内容》 《cpolar知识学习》 ✨…

2026/10/21 6:58:46 阅读更多 →

日新闻

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

这段时间硬件圈和AI圈都在传一个事:AMD锐龙AI Max PRO 400系列把最高192GB统一内存搬进了PC形态的产品里,按宣传口径,本地跑320B参数的大家伙不再是纸面概念。我第一反应倒不是“内存真大”,而是这话背后的含金量——它把过去只能…

2026/10/21 0:00:11 阅读更多 →
AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

1. 从“封号重开”这个行为说起:用户到底在追求什么“封号重开”这四个字,放在任何产品语境里都带着一股决绝的味道。一个账号从零开始积累使用记录、调教偏好、沉淀工作流,背后是大量的时间和精力成本。正常情况下,没有人愿意主动…

2026/10/21 0:00:11 阅读更多 →
ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

1. 为什么在ROS里硬刚YOLOv3不是“炫技”,而是工程落地的必经之路我第一次在某高校机器人实验室看到那台搭载Jetson TX2的移动底盘原地打转、反复识别错垃圾桶时,就意识到:单纯跑通darknet_ros demo和真正让YOLOv3在ROS里“干活”&#xff0c…

2026/10/21 0:00:11 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/20 20:43:59 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/21 4:27:17 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

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

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

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

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

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

2026/10/20 9:50:45 阅读更多 →