diff --git a/config/base-copilot.settings.json b/config/base-copilot.settings.json new file mode 100644 index 00000000..985e513a --- /dev/null +++ b/config/base-copilot.settings.json @@ -0,0 +1,10 @@ +{ + "env": { + "ANTHROPIC_BASE_URL": "http://127.0.0.1:8317/api/provider/copilot", + "ANTHROPIC_AUTH_TOKEN": "ccs-internal-managed", + "ANTHROPIC_MODEL": "gpt-4o", + "ANTHROPIC_DEFAULT_OPUS_MODEL": "gpt-4o", + "ANTHROPIC_DEFAULT_SONNET_MODEL": "gpt-4o", + "ANTHROPIC_DEFAULT_HAIKU_MODEL": "gpt-4o-mini" + } +} diff --git a/config/base-kiro.settings.json b/config/base-kiro.settings.json new file mode 100644 index 00000000..e84d0b18 --- /dev/null +++ b/config/base-kiro.settings.json @@ -0,0 +1,10 @@ +{ + "env": { + "ANTHROPIC_BASE_URL": "http://127.0.0.1:8317/api/provider/kiro", + "ANTHROPIC_AUTH_TOKEN": "ccs-internal-managed", + "ANTHROPIC_MODEL": "kiro", + "ANTHROPIC_DEFAULT_OPUS_MODEL": "kiro", + "ANTHROPIC_DEFAULT_SONNET_MODEL": "kiro", + "ANTHROPIC_DEFAULT_HAIKU_MODEL": "kiro" + } +} diff --git a/src/cliproxy/config-generator.ts b/src/cliproxy/config-generator.ts index 57022dcd..ea7d1e27 100644 --- a/src/cliproxy/config-generator.ts +++ b/src/cliproxy/config-generator.ts @@ -44,8 +44,9 @@ export function getCliproxyWritablePath(): string { * v1: Initial config (port, auth-dir, api-keys only) * v2: Full-featured config with dashboard, quota mgmt, simplified key * v3: Logging disabled by default (user opt-in via ~/.ccs/config.yaml) + * v4: Added Kiro (AWS) and GitHub Copilot providers */ -export const CLIPROXY_CONFIG_VERSION = 3; +export const CLIPROXY_CONFIG_VERSION = 4; /** Provider display names (static metadata) */ const PROVIDER_DISPLAY_NAMES: Record = { @@ -54,6 +55,8 @@ const PROVIDER_DISPLAY_NAMES: Record = { agy: 'Antigravity', qwen: 'Qwen Code', iflow: 'iFlow', + kiro: 'Kiro (AWS)', + copilot: 'GitHub Copilot', }; /** diff --git a/src/cliproxy/platform-detector.ts b/src/cliproxy/platform-detector.ts index b3f45984..004f835a 100644 --- a/src/cliproxy/platform-detector.ts +++ b/src/cliproxy/platform-detector.ts @@ -8,10 +8,11 @@ import { PlatformInfo, SupportedOS, SupportedArch, ArchiveExtension } from './types'; /** - * CLIProxyAPI fallback version (used when GitHub API unavailable) + * CLIProxyAPIPlus fallback version (used when GitHub API unavailable) * Auto-update fetches latest from GitHub; this is only a safety net + * Note: CLIProxyAPIPlus uses v6.6.X-0 suffix pattern */ -export const CLIPROXY_FALLBACK_VERSION = '6.5.53'; +export const CLIPROXY_FALLBACK_VERSION = '6.6.40-0'; /** @deprecated Use CLIPROXY_FALLBACK_VERSION instead */ export const CLIPROXY_VERSION = CLIPROXY_FALLBACK_VERSION; diff --git a/src/cliproxy/services/variant-config-adapter.ts b/src/cliproxy/services/variant-config-adapter.ts index a4b09058..12461d6a 100644 --- a/src/cliproxy/services/variant-config-adapter.ts +++ b/src/cliproxy/services/variant-config-adapter.ts @@ -80,7 +80,7 @@ export function saveVariantUnified( if (!config.cliproxy) { config.cliproxy = { oauth_accounts: {}, - providers: ['gemini', 'codex', 'agy', 'qwen', 'iflow'], + providers: ['gemini', 'codex', 'agy', 'qwen', 'iflow', 'kiro', 'copilot'], variants: {}, }; } diff --git a/src/cliproxy/types.ts b/src/cliproxy/types.ts index 9fc1c1a9..b6cb745a 100644 --- a/src/cliproxy/types.ts +++ b/src/cliproxy/types.ts @@ -114,8 +114,10 @@ export interface DownloadResult { * - agy: Antigravity via OAuth (short name for easy usage) * - qwen: Qwen Code via OAuth (qwen3-coder) * - iflow: iFlow via OAuth + * - kiro: Kiro (AWS CodeWhisperer) via OAuth + * - copilot: GitHub Copilot via Device Code */ -export type CLIProxyProvider = 'gemini' | 'codex' | 'agy' | 'qwen' | 'iflow'; +export type CLIProxyProvider = 'gemini' | 'codex' | 'agy' | 'qwen' | 'iflow' | 'kiro' | 'copilot'; /** * CLIProxy config.yaml structure (minimal) diff --git a/src/config/unified-config-types.ts b/src/config/unified-config-types.ts index f8548cec..812b89eb 100644 --- a/src/config/unified-config-types.ts +++ b/src/config/unified-config-types.ts @@ -58,7 +58,7 @@ export type OAuthAccounts = Record; */ export interface CLIProxyVariantConfig { /** Base provider to use */ - provider: 'gemini' | 'codex' | 'agy' | 'qwen' | 'iflow'; + provider: 'gemini' | 'codex' | 'agy' | 'qwen' | 'iflow' | 'kiro' | 'copilot'; /** Account nickname (references oauth_accounts) */ account?: string; /** Path to settings file (e.g., "~/.ccs/gemini-custom.settings.json") */