GitHub 已完成核心组件迁移:其 Copilot 命令行工具、桌面应用和 SDK 的核心部分,均从 TypeScript/Node.js 转为 Rust。这次重写替换了约 800,000 行生产代码,并借助 AI 生成的代码完成。运行时与客户端处于同一进程时,Copilot 客户端的启动时间从 5.25 秒降至 292 毫秒。
迁移如何完成
GitHub 采用了渐进式迁移方案:逐步将小块 TypeScript 代码替换为 Rust 版本,同时通过临时兼容层让两种语言能够交互。这样一来,在为期 14.5 周的迁移过程中,现有测试套件得以持续运行。迁移期间,GitHub 共发布了 128 个拉取请求和 135 个版本(35 个稳定版、100 个预发布版)。
对开发者意味着什么
新的 Rust 运行时可通过 C ABI 直接嵌入宿主应用,无需单独运行 Node.js 进程,从而省去约 100 MB 的内存占用。对于需要隔离的场景,仍可使用进程外模式。Copilot SDK 继续支持 TypeScript、Python、Go、.NET、Java,现在也支持 Rust。
为什么重要
对使用 Copilot 的开发者来说,启动更快意味着等待时间更短、工作流程更顺畅。内存占用降低,也让这款工具更适合资源有限的设备或 CI 流水线。运行时还能直接嵌入应用,为定制 IDE 扩展提供更紧密的集成方式。