Description
Type
New feature suggestion
Background
Many developers extensively utilize GitHub Copilot in IDEs like VS Code or IntelliJ to accelerate coding through AI-powered suggestions. Hence, it's worth adding native GitHub Copilot support in jupyter-ai
, similar to other LLM integrations.
This suggestion also offers a solution to the previously blocked GitHub issue related to Copilot integration, which was paused due to concerns around reverse-engineering the GitHub Copilot API: #833
Instead of relying on unofficial means, my approach uses GitHub’s official Copilot Language Server Protocol (LSP) SDK: https://github.com/github/copilot-language-server-release
Proposed Implementation
The core idea is to leverage GitHub Copilot’s official platform-specific LSP binary as a bridge between jupyter-ai
and the Copilot API in supported and compliant ways.
Features Implemented (POC)
I’ve created a proof-of-concept implementation in this PR: #1311
Key features include:
- ✅ GitHub Copilot authentication flow
- Implemented using a new
/github
slash command (/github signin
and/github signout
) to avoid UI changes.
- Implemented using a new
- ✅ Inline code completions in notebook code cells
Screen capture demo Movie link
Not Yet Implemented (in this POC)
- ❌ Copilot-powered chat (not currently available in the official SDK)
- There is an active GitHub issue tracking this feature in the official repo: Please enable copilot chat and agent support github/copilot-language-server-release#1
This is an initial proof of concept, and I'm very open to your feedback, improvements, or suggestions on how to better align this with the goals and design principle of jupyter-ai
https://jupyter-ai.readthedocs.io/en/latest/contributors/index.html#design-principles
Thank you for taking the time to review this. I'm excited to hear your thoughts and contribute to this amazing open-source project!