SuperAPI AI 工具集

build-copilot-sdk-app

通用与其它

查看项目

更新于 10-16 03:37

技能介绍

用途:指导使用 @github/copilot-sdk 的 TypeScript/Node.js 包(协议 v3)构建由 GitHub Copilot 驱动的应用。SDK 通过 JSON-RPC(stdio 或 TCP)与 Copilot CLI 通信,提供基于会话的 API,用于发送提示、接收流式响应、注册自定义工具、处理权限和管理智能体工作流。

主要能力:客户端与传输(stdio/TCP、CopilotClient 配置);认证与 BYOK(OAuth、token,支持 OpenAI/Anthropic/Azure/Gemini/Ollama);会话生命周期(创建、恢复、断开、持久化、无限会话与压缩);消息与流式(send/sendAndWait、增量 delta、47 种事件类型);自定义工具(defineTool 配合 Zod 或原生 JSON Schema、重写内置工具);权限与用户输入(权限处理器、ask_user、MCP 表单);钩子(工具调用前后拦截、提示改写、会话生命周期与错误);智能体、MCP 与技能;高级模式(plan/autopilot/interactive、fleet 并行、多客户端、Ralph loop、排队与背压)。

使用方式:需 Node >= 20 且已安装 Copilot CLI,先认证(copilot login 或设置 COPILOT_GITHUB_TOKEN/GH_TOKEN/GITHUB_TOKEN)。SDK 仅支持 ESM,需先 npm init -y 并 npm pkg set type=module,再安装 npm install @github/copilot-sdk tsx zod。示例以 CopilotClient 创建会话,onPermissionRequest 必填(无人值守可用 approveAll),sendAndWait 阻塞等待 session.idle,send 为非阻塞。结束时需 session.disconnect() 再 client.stop(),否则流式进程可能挂起。工具需在 send 前注册事件监听。

限制:sendAndWait 默认 60 秒超时且超时不中止进行中的任务;cliUrl 与 useStdio 互斥;扩展中 stdout 保留给 JSON-RPC,应用 session.log();工具名须全局唯一;BYOK 必须同时指定 model。其余细节暂未提供。