功能
这些指南介绍了可添加到 Copilot SDK 应用程序的功能。 每个指南都包含受支持的语言(TypeScript、Python、Go、.NET、Java和 Rust)中的示例(如果可用)。
代理循环
Copilot CLI 如何端到端处理用户消息:从提示到 session.idle。
引文
引文将助手响应的跨度链接回支持它们的源。 创建或恢复会话时打开 enableCitations ,然后读取 citations 事件上的 assistant.message 有效负载,以呈现脚注、源列表或内联链接。
客户端信息
客户端信息使用 Copilot SDK 标识应用程序,并在适用时标识应用程序中的特定集成。 集成是使用该 SDK(例如扩展或插件)的应用程序的可识别子部分。 将可选的 clientInfo 客户端选项设置为将该连接的运行时遥测归因于您的应用程序,而不是运行时自身的构建版本。
云会话
云会话在Copilot上运行,并使用由GitHub托管的计算资源,显示在GitHub上的代理面板中。 当应用应创建远程执行的会话,而不是在用户的计算机或服务器上启动本地 GitHub Copilot CLI 会话时,请使用它们。
上下文清除和终端工具
当主机需要替换当前会话上下文而不替换会话时使用 session.history.clearContext 。 典型用途包括移交和主机管理的上下文生命周期策略。
自定义代理和子代理编排
使用限定范围的工具和提示来定义专用代理,然后让 Copilot 在单个会话中将它们编排为子代理。 有关并行调度多个子代理,请参阅 机队模式。
机队模式
机群模式是 Copilot 的一种并行编排模式,适用于可拆分为由独立子代理分别处理的工作。 在运行时研究笔记中,机群模式被描述为“运行时内置的模式,通过 task 工具并行调度多个子智能体,并以 SQL 待办事项作为共享的协调状态”。 当一个父会话需要协调多个辅助角色、收集其结果,并使用合并后的上下文继续对话时,请使用此模式。
使用挂钩
挂钩使你能够将自定义逻辑插入到Copilot会话的每个阶段,从启动的那一刻起,到每次用户提示和工具调用,到它结束的那一刻。 本指南将演练实际用例,以便在不修改核心代理行为的情况下交付权限、审核、通知等。
图像输入
将图像作为附件发送到Copilot会话。 可通过两种方法附加图像:
将 MCP 服务器与 GitHub Copilot SDK 配合使用
Copilot SDK 可以与 MCP 服务器(模型上下文协议)集成,以使用外部工具扩展助手的功能。 MCP 服务器作为单独的进程运行,并公开Copilot可在会话期间调用的工具(函数)。
插件目录
插件是一个目录,它在单个清单后面捆绑了 SDK 扩展 — 技能、钩子、MCP 服务器、自定义智能体和 LSP 配置。 将 SDK 指向插件目录会加载插件提供的所有内容,因此你可以在每个主机应用程序中交付可重用的功能包,而无需在每个主机应用程序中编写每扩展连接。
远程会话
远程会话会同步到 GitHub,以便用户可以在代理面板中或通过移动设备访问本地运行的 Copilot 会话。 启用后,SDK 会生成会话日志的 URL,该 URL 可以共享为链接或 QR 码。
会话限制
会话限制允许应用程序为Copilot会话设置 AI 信用额度预算。 在创建或恢复会话时使用 sessionLimits ,为当前会计窗口设置软上限。
会话恢复和持久性
本指南将指导你完成 SDK 的会话持久性功能 -- 如何暂停工作、稍后恢复工作和管理生产环境中的会话。
自定义技能
技能是用于扩展 Copilot 功能的可复用提示模块。 从目录中加载技能,为特定域或工作流提供Copilot专用功能。
引导和排队
两种交互模式允许用户在代理已在工作时发送消息:引导会在当前轮次进行中重定向代理,而排队会先缓冲消息,待当前轮次完成后再按顺序处理。
流式处理会话事件
Copilot 代理执行的每个操作——思考、编写代码、运行工具——都会以 session 事件 的形式发出,供你订阅。 本指南是每个事件类型的字段级参考,因此你确切地知道在未读取 SDK 源的情况下预期的数据。
使用情况和计费指标
本指南演示如何从 Copilot SDK 应用程序读取令牌计数、上下文窗口利用率、AI 信用额度和帐户配额。 TypeScript、Python、Go、.NET、Java 和 Rust 都显示了示例。