mirror of
https://github.com/openclaw/openclaw.git
synced 2026-07-10 00:11:19 +00:00
Adds GitHub Enterprise data-residency support to the existing bundled GitHub Copilot provider. Maintainer proof: - GitHub CI green on head 54010a6538f1543a7fcf161f0c46169bf059213b - `check-lint`, `check-additional-extension-bundled`, and `check-shrinkwrap` passed in CI - local `pnpm lint:extensions:bundled`, `pnpm lint`, and focused GitHub Copilot Vitest passed - AWS Crabbox proof passed - live microsoft.ghe.com device-flow/token-exchange/model-catalog proof passed Co-authored-by: Tobias Oort <tobias.oort@ict.nl> Co-authored-by: Gio Della-Libera <235387111+giodl73-repo@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
219 lines
6.8 KiB
JSON
219 lines
6.8 KiB
JSON
{
|
|
"id": "github-copilot",
|
|
"activation": {
|
|
"onStartup": false
|
|
},
|
|
"enabledByDefault": true,
|
|
"providers": ["github-copilot"],
|
|
"providerEndpoints": [
|
|
{
|
|
"endpointClass": "github-copilot-native",
|
|
"hostSuffixes": [".githubcopilot.com"]
|
|
}
|
|
],
|
|
"providerRequest": {
|
|
"providers": {
|
|
"github-copilot": {
|
|
"family": "github-copilot"
|
|
}
|
|
}
|
|
},
|
|
"modelCatalog": {
|
|
"providers": {
|
|
"github-copilot": {
|
|
"baseUrl": "https://api.individual.githubcopilot.com",
|
|
"api": "openai-responses",
|
|
"models": [
|
|
{
|
|
"id": "claude-opus-4.6",
|
|
"name": "Claude Opus 4.6",
|
|
"api": "anthropic-messages",
|
|
"input": ["text", "image"],
|
|
"contextWindow": 128000,
|
|
"maxTokens": 8192,
|
|
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
|
},
|
|
{
|
|
"id": "claude-opus-4.7",
|
|
"name": "Claude Opus 4.7",
|
|
"api": "anthropic-messages",
|
|
"input": ["text", "image"],
|
|
"contextWindow": 128000,
|
|
"maxTokens": 8192,
|
|
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
|
},
|
|
{
|
|
"id": "claude-opus-4.8",
|
|
"name": "Claude Opus 4.8",
|
|
"api": "anthropic-messages",
|
|
"input": ["text", "image"],
|
|
"contextWindow": 128000,
|
|
"maxTokens": 8192,
|
|
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
|
},
|
|
{
|
|
"id": "claude-sonnet-4.6",
|
|
"name": "Claude Sonnet 4.6",
|
|
"api": "anthropic-messages",
|
|
"input": ["text", "image"],
|
|
"contextWindow": 128000,
|
|
"maxTokens": 8192,
|
|
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
|
},
|
|
{
|
|
"id": "gemini-2.5-pro",
|
|
"name": "Gemini 2.5 Pro",
|
|
"input": ["text", "image"],
|
|
"contextWindow": 128000,
|
|
"maxTokens": 8192,
|
|
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
|
},
|
|
{
|
|
"id": "gemini-3-flash",
|
|
"name": "Gemini 3 Flash",
|
|
"input": ["text", "image"],
|
|
"contextWindow": 128000,
|
|
"maxTokens": 8192,
|
|
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
|
},
|
|
{
|
|
"id": "gemini-3.1-pro",
|
|
"name": "Gemini 3.1 Pro",
|
|
"input": ["text", "image"],
|
|
"contextWindow": 128000,
|
|
"maxTokens": 8192,
|
|
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
|
},
|
|
{
|
|
"id": "gpt-5.3-codex",
|
|
"name": "GPT-5.3-Codex",
|
|
"reasoning": true,
|
|
"input": ["text"],
|
|
"contextWindow": 128000,
|
|
"maxTokens": 8192,
|
|
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
|
},
|
|
{
|
|
"id": "gpt-5.4",
|
|
"name": "GPT-5.4",
|
|
"reasoning": true,
|
|
"input": ["text", "image"],
|
|
"contextWindow": 128000,
|
|
"maxTokens": 8192,
|
|
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
|
},
|
|
{
|
|
"id": "gpt-5.5",
|
|
"name": "GPT-5.5",
|
|
"reasoning": true,
|
|
"input": ["text", "image"],
|
|
"contextWindow": 400000,
|
|
"maxTokens": 128000,
|
|
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
|
},
|
|
{
|
|
"id": "gpt-5.4-mini",
|
|
"name": "GPT-5.4 mini",
|
|
"reasoning": true,
|
|
"input": ["text", "image"],
|
|
"contextWindow": 128000,
|
|
"maxTokens": 8192,
|
|
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
|
},
|
|
{
|
|
"id": "gpt-5.4-nano",
|
|
"name": "GPT-5.4 nano",
|
|
"reasoning": true,
|
|
"input": ["text", "image"],
|
|
"contextWindow": 128000,
|
|
"maxTokens": 8192,
|
|
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
|
},
|
|
{
|
|
"id": "raptor-mini",
|
|
"name": "Raptor mini",
|
|
"input": ["text"],
|
|
"contextWindow": 128000,
|
|
"maxTokens": 8192,
|
|
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
|
},
|
|
{
|
|
"id": "goldeneye",
|
|
"name": "Goldeneye",
|
|
"input": ["text"],
|
|
"contextWindow": 128000,
|
|
"maxTokens": 8192,
|
|
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"discovery": {
|
|
"github-copilot": "refreshable"
|
|
}
|
|
},
|
|
"contracts": {
|
|
"memoryEmbeddingProviders": ["github-copilot"],
|
|
"usageProviders": ["github-copilot"]
|
|
},
|
|
"setup": {
|
|
"providers": [
|
|
{
|
|
"id": "github-copilot",
|
|
"envVars": ["COPILOT_GITHUB_TOKEN", "GH_TOKEN", "GITHUB_TOKEN"]
|
|
}
|
|
]
|
|
},
|
|
"providerAuthChoices": [
|
|
{
|
|
"provider": "github-copilot",
|
|
"method": "device",
|
|
"choiceId": "github-copilot",
|
|
"appGuidedSecret": true,
|
|
"choiceLabel": "GitHub Copilot",
|
|
"choiceHint": "Device login with your GitHub account",
|
|
"assistantPriority": 1,
|
|
"groupId": "copilot",
|
|
"groupLabel": "Copilot",
|
|
"groupHint": "GitHub, GitHub Enterprise + Local Proxy",
|
|
"optionKey": "githubCopilotToken",
|
|
"cliFlag": "--github-copilot-token",
|
|
"cliOption": "--github-copilot-token <token>",
|
|
"cliDescription": "GitHub Copilot OAuth token"
|
|
},
|
|
{
|
|
"provider": "github-copilot",
|
|
"method": "device-enterprise",
|
|
"choiceId": "github-copilot-enterprise",
|
|
"choiceLabel": "GitHub Copilot (Enterprise / data residency)",
|
|
"choiceHint": "Device login against your GitHub Enterprise (*.ghe.com) tenant",
|
|
"assistantPriority": 2,
|
|
"groupId": "copilot",
|
|
"groupLabel": "Copilot",
|
|
"groupHint": "GitHub, GitHub Enterprise + Local Proxy"
|
|
}
|
|
],
|
|
"configSchema": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"discovery": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"enabled": { "type": "boolean" }
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"uiHints": {
|
|
"discovery": {
|
|
"label": "Model Discovery",
|
|
"help": "Plugin-owned controls for GitHub Copilot model auto-discovery."
|
|
},
|
|
"discovery.enabled": {
|
|
"label": "Enable Discovery",
|
|
"help": "When false, OpenClaw keeps the GitHub Copilot plugin available but skips implicit startup discovery from ambient Copilot credentials."
|
|
}
|
|
}
|
|
}
|