feat(editors): add github-copilot-vscode adapter#15
Merged
Conversation
Routes VS Code Copilot Chat through Opper via the johnny-zhao.oai-compatible-copilot community extension. Configure-only adapter (no spawn) — first of its kind in the registry. Surfaced as `opper editors github-copilot-vscode` and via the menu's agents flow. configure() prompts before installing the third-party extension (marketplace link + clean cancel path) so users opt in explicitly. Stable channel only — Insiders' native customOAIModels setting is upstream-deprecated behind a one-shot migration. The merge into user settings.json is non-destructive: only oaicopilot.baseUrl and oaicopilot.models are written/overwritten, other oaicopilot.* user prefs are preserved, and JSONC files (with // comments) throw rather than silently lose comments. docs/copilot-vscode/ keeps the manual recipe + a small generator that derives both Insiders and Stable JSON snippets from PICKER_MODELS for users without the CLI. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
johnny-zhao.oai-compatible-copilotcommunity extension. First configure-only adapter in the registry — nospawn(the user opens VS Code themselves; Opper models appear in the Copilot Chat picker on next session).opper editors github-copilot-vscodeand via the menu's agents flow.configure()prompts before installing the third-party extension, with a marketplace link and a clean cancel path. If the user declines, nosettings.jsonis written.oaicopilot.baseUrlandoaicopilot.modelsare written/overwritten; otheroaicopilot.*user prefs are preserved; JSONC files (with//comments) throw rather than silently lose comments.customOAIModelsis upstream-deprecated behind a one-shot migration.docs/copilot-vscode/keeps the manual recipe + a small generator that derives both Insiders and Stable JSON snippets fromPICKER_MODELSfor users without the CLI.Out of scope (deliberate)
Manage ModelsUI. The two automation paths (plaintextoaicopilot.apiKey.opperin settings.json vs writing to OS keychain) both have real trade-offs (Settings Sync exposure, undocumented keychain entry shape) — leaving for a follow-up PR once we've validated a safe path.Test plan
npm run typecheckclean.npm test— 375/375 passing (12 new for this adapter, includes prompt-confirms / prompt-cancels paths).OPPER_EDITOR_HOME=/tmp/x npx tsx src/index.ts editors github-copilot-vscodewrites the right block;--removeround-trips back to{}.opper→ agents → GitHub Copilot (VS Code) → Configure) shows the install prompt and respects cancel.🤖 Generated with Claude Code