GeezerVison is showing github.com — Open-source AI functionality provided by the Copilot Chat extension · Issue #249031 · microsoft/vscode
Open-source AI functionality provided by the Copilot Chat extension #249031DescriptionOur blog post outlines our motivation to open-source the client-side code of our AI features in VS Code. We also compiled FAQs.
Goals
- Open source is only useful, if you can participate in the development process of the AI features. We need a development story that allows you to make code changes and debug AI interactions end-to-end. You need to be able to run the AI tests suites. Since all AI features are powered by models, you need to have access to models during development.
- Once open source, we re-evaluate how we split the functionality between VS Code Core, built-in extension(s), and the Chat extension. We want to improve the user experience and simplify our architecture and build processes.
Approach
We'll first open-source the GitHub Copilot Chat extension. To do so we need:
- Ensure code compliance
- Define the strategy for service access
- Define how to run tests
- Define OSS builds
- Issue management
Note: Today, NES functionality is separate from code completions. NES is implemented in the Chat extension, while completions are implemented in the GitHub Copilot completions extension. We have concrete plans to bring NES and completions together in the Chat extension. Therefore, at the moment, we don't have concrete plans to open-source the Copilot completions extension.
Compliance Review
- We need to review every file in the Copilot Chat extension for compliance. This includes adding copyrights and removing references to internal processes, IP, and issues. This is particularly important for our test suite that contains test cases created with information from private issues.
- After the review, we'll move the Chat extension code to a new repository without history avoiding the need to review thousands of commits.
Service Access
- The Chat extension is powered by the GitHub Copilot service. The GitHub Copilot service provides access to general purpose and custom models, embeddings computation, and semantic code search of GitHub repositories.
- To talk to the GitHub Copilot service, the Chat extension uses CAPI (the GitHub Copilot API). Just like our other production services, for example the settings sync service, the Copilot service will remain closed source, and its usage will continue to be regulated by its service license.
- For debug AI interactions, you need to be able to run Code-OSS with the Chat extension installed. Normally, Code-OSS does not have access to production services. This is not a handicap for non-AI features, but AI features are useless without model access. Our current thinking is that we'll provide a closed-source, licensed npm module providing CAPI access that you can choose to install into the codebase before launching Code-OSS. Or you can use BYOK without CAPI for limited scenarios.
Tests
- We built a test infrastructure that deals with the stochastic nature of LLMs and makes heavy use of caching LLM responses for given prompts. If you make a change in the code that results in a prompt change for a specific scenario, you want to only issue LLM requests for the changed prompts and use the cached LLM responses in all other cases. The cache is implemented using Redis. We need to allow read-only access to the Redis cache which in MS terminology makes the Redis cache a production service. We therefore need to go through the motions of creating a new production service.
- We need to investigate if we can use PR submissions for cache baseline updates.
Builds
- We'll need to define what PR builds look like for the Chat extension.
Issues
- Today, issues for AI features are in three different repositories:
microsoft/vscode, microsoft/vscode-copilot-release, and the private repository we use(d) for developing the Chat extension.
- Going forward, all client issues should be in
microsoft/vscode.
- We'll move only select issues from the private repo into the public repo.
- We'll archive/lock the
microsoft/vscode-copilot-release repo, so that no new issues can be created there and existing issues are locked. The issues will continue to be accessible.
- We need a clearer separation of client issues from service issues. We have a large number of service issues, particularly in the
microsoft/vscode-copilot-release repo that are not actionable and have no clear path to being closeable.
Reacted by Lei Xu, hajimi9527, Wasim Lorgat, Isidor Nikolic, Harry Li, Janaka Abeywardhana, Tino Siegmund, Igor Mahov, Yuri Nezdemkovski, Bhushan Laware and 41 more Reacted by Samuel Adeoye, Bhushan Laware, 工具人66号, John Leider, Zerun Tian and 流浪大法师 Reacted by Sebastian Favaron, Lei Xu, hajimi9527, Wasim Lorgat, Daniel Demmel, Janaka Abeywardhana, Reksa Andhika, Yuri Nezdemkovski, Bhushan Laware, Eli and 20 more Reacted by Janaka Abeywardhana, Yuri Nezdemkovski, Bhushan Laware, Eli, Break, 工具人66号, John Leider, iMaeGoo, Aziz Abbas, Osman Mehmood and 8 more Reacted by Janaka Abeywardhana, Yuri Nezdemkovski, Bhushan Laware, Eli, 工具人66号, John Leider, Osman Mehmood, Zerun Tian, TylerLeonhardt, 流浪大法师 and 1 more Reacted by Kaikai, micahp, Osman Mehmood, Zerun Tian, Antonio Casagrande, z and 流浪大法师 Activitychanged the title [-]Re-evaluate split of functionality between VS Code and the Copilot Chat extension[/-] [+]Open-source AI functionality provided by the Copilot Chat extension[/+] on May 19, 2025ups216 commented on May 19, 2025 Reacted by Oliver Mannion, Eli, 工具人66号, Ramakrishnan Kandasamy, Thomas, Łukasz Sierant, Hai The Dude, Osman Mehmood, KE.YANG, Ali and 7 more dengyakui commented on May 19, 2025 iwangbowen commented on May 20, 2025 Reacted by Eli and 工具人66号 Reacted by ELTDRFRS kieferrm commented on May 20, 2025 Reacted by Jeongsoo, Park and BrianAva elongl commented on May 20, 2025 Out of curiosity, as I'm not proficient in VSCode's architecture, what's the value in moving Copilot from being an extension to being part of the core codebase as opposed to a built-in extension as mentioned here?
In fact, many core features of VS Code are built as extensions and use the same Extension API.
Reacted by Yan and KE.YANG Reacted by Zerun Tian and DustinH229 NaokiS28 commented on May 20, 2025 Is there going to be an option to be opted-out by default or outright disable the AI features for people who do not wish to use it? Thats currently something I prefer with the extension and I'm sure a great deal more would like. My experience with copilot was subpar and I would certainly not want to use it even if it was integrated. htahir1 commented on May 20, 2025 Can users skip using CAPI and just bring their own models or API services that the Chat can talk to? Reacted by Arnaud Dematte, KE.YANG, KulikovaDarya, Reeryhom, Francisco Boni, Jaime Rivas, David Manouchehri, Konstantin Solomatov, Christian Hoffmann and SSwanson Reacted by BrandonNoad, Francisco Boni, David Manouchehri and Jonathan Chen hu-qi commented on May 21, 2025 Great!Support any LLMs that comply with the OpenAI specifications? Reacted by Christopher Johnson, Arnaud Dematte, Igor Mahov, Gabriel Bodeen, Reeryhom, Qinghui Zhuang and SSwanson Reacted by lumiaspic trancethehuman commented on May 21, 2025 kirkilj commented on Jun 7, 2025
This will only give it more customization and other extensions that cannot be used, allowing more people to help you maintain this github copilot closed ai service. The function should be opened to extensions and then github copilot extensions is called, instead of putting github copilot into vscode. This is fake open source, which uses the ability of vscode not to open to extension to suppress other ai extensions.
How might this affect products like Windsurf and Cursor that are built on VS-Code and are competitors to GitHub CoPilot? Reacted by Ian Cox and Bowen Wang LakshmanKishore commented on Jun 18, 2025 Reacted by Michael Bondarevsky, krelve, EwardWang, iamhaiker and Nimish Badgujar kdlslyv commented on Jun 27, 2025 Reacted by Lakshman and Jonathan Chen tekumara commented on Jun 28, 2025 Reacted by Frulfump, Glenn 'devalias' Grant, Yusuke Yamada, Meir Blachman, yz-yu, Hai The Dude, William Goulois, Qinghui Zhuang and Eli kdlslyv commented on Jun 28, 2025 Without InlineCompletionItem this might as well be a glorified vibecoded webview chatwindow ritamariavermelho06 commented on Jul 1, 2025
Without InlineCompletionItem this might as well be a glorified vibecoded webview chatwindow
The InlineCompletion will be merged to the chat plugin, is on the roadmap. trivikr commented on Jul 1, 2025 Reacted by Frulfump, Gianpaolo Macario and heartacker pai4451 commented on Jul 12, 2025 SyfyCoder (@ritamariavermelho06) Will the inline completion feature open-source released in GitHub Copilot Chat completely the same as in closed source GitHub Copilot?
MetadataMetadataDevelopmentNo branches or pull requestsIssue actions
|