@kaitranntt/ccs 5.0.0 → 5.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -70,6 +70,73 @@ irm ccs.kaitran.ca/install | iex
|
|
|
70
70
|
|
|
71
71
|
<br>
|
|
72
72
|
|
|
73
|
+
## Zero-Config OAuth Providers
|
|
74
|
+
|
|
75
|
+
**New in v5.0.0**: Instant access to premium models with zero API key setup. Browser-based OAuth authentication.
|
|
76
|
+
|
|
77
|
+
> Powered by [CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI) - the universal API proxy for AI models.
|
|
78
|
+
|
|
79
|
+
| Provider | Default Model | Opus | Haiku | Example |
|
|
80
|
+
|:---------|:--------------|:-----|:------|:--------|
|
|
81
|
+
| **Gemini** | gemini-2.5-pro | gemini-2.5-pro | gemini-2.5-flash | `ccs gemini "explain code"` |
|
|
82
|
+
| **Codex** | gpt-5.1-codex-max | gpt-5.1-codex-max-high | gpt-5.1-codex-mini-high | `ccs codex "implement API"` |
|
|
83
|
+
| **Antigravity** | gemini-3-pro-preview | gemini-3-pro-preview | gemini-2.5-flash | `ccs agy "review architecture"` |
|
|
84
|
+
|
|
85
|
+
**First Run**: Browser opens for authentication. Tokens cached in `~/.ccs/cliproxy/auth/<provider>/`.
|
|
86
|
+
|
|
87
|
+
**Subsequent Runs**: Instant - no re-auth needed until token expires.
|
|
88
|
+
|
|
89
|
+
### Authentication Commands
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
# Interactive OAuth (default) - browser opens, complete auth
|
|
93
|
+
ccs gemini
|
|
94
|
+
|
|
95
|
+
# Authenticate only (save tokens, don't start session)
|
|
96
|
+
ccs gemini --auth
|
|
97
|
+
ccs codex --auth
|
|
98
|
+
|
|
99
|
+
# Headless mode (for SSH/servers without browser)
|
|
100
|
+
ccs agy --headless # Displays URL, paste in browser elsewhere
|
|
101
|
+
|
|
102
|
+
# Logout (clear tokens)
|
|
103
|
+
ccs gemini --logout
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### OAuth vs API Key Models
|
|
107
|
+
|
|
108
|
+
| Feature | OAuth Providers<br>(gemini, codex, agy) | API Key Models<br>(glm, kimi) |
|
|
109
|
+
|:--------|:----------------------------------------|:------------------------------|
|
|
110
|
+
| **Setup** | Browser auth on first run | Edit settings.json, add API key |
|
|
111
|
+
| **Token Storage** | `~/.ccs/cliproxy/auth/<provider>/` | `~/.ccs/*.settings.json` |
|
|
112
|
+
| **Renewal** | Automatic (OAuth refresh tokens) | Manual (update key when expired) |
|
|
113
|
+
| **Binary** | Auto-downloads CLIProxyAPI (~15MB) | No additional binaries |
|
|
114
|
+
| **Port** | 8317 (configurable) | N/A |
|
|
115
|
+
| **Best For** | Quick testing, no key management | Production, explicit key control |
|
|
116
|
+
|
|
117
|
+
### Troubleshooting OAuth
|
|
118
|
+
|
|
119
|
+
**OAuth timeout (2min limit)**:
|
|
120
|
+
```bash
|
|
121
|
+
# If browser doesn't load in time:
|
|
122
|
+
ccs gemini --auth --headless # Get URL manually
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
**Port 8317 conflict**:
|
|
126
|
+
```bash
|
|
127
|
+
ccs doctor # Check port availability
|
|
128
|
+
# Error: "Port 8317 in use"
|
|
129
|
+
lsof -ti:8317 | xargs kill # Unix: kill process using port
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
**Binary download failures**:
|
|
133
|
+
```bash
|
|
134
|
+
ccs doctor # Shows binary status + version
|
|
135
|
+
# Manual download: https://github.com/router-for-me/CLIProxyAPI/releases
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
<br>
|
|
139
|
+
|
|
73
140
|
### Configuration (Auto-created)
|
|
74
141
|
|
|
75
142
|
**CCS automatically creates configuration during installation** (via npm postinstall script).
|
|
@@ -307,8 +374,24 @@ graph LR
|
|
|
307
374
|
|
|
308
375
|
## Architecture
|
|
309
376
|
|
|
377
|
+
CCS resolves profiles in priority order:
|
|
378
|
+
1. **CLIProxy profiles** (gemini, codex, agy) - OAuth-based, zero config
|
|
379
|
+
2. **Settings-based profiles** (glm, kimi) - API key required
|
|
380
|
+
3. **Account-based profiles** (work, personal) - Isolated Claude instances
|
|
381
|
+
4. **Default** - Claude CLI with subscription
|
|
382
|
+
|
|
310
383
|
### Profile Types
|
|
311
384
|
|
|
385
|
+
**CLIProxy**: gemini, codex, agy (v5.0+)
|
|
386
|
+
- OAuth-based authentication via [CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)
|
|
387
|
+
- Browser auth on first run, tokens cached in `~/.ccs/cliproxy/auth/<provider>/`
|
|
388
|
+
- Proxy runs on port 8317, auto-spawned per session
|
|
389
|
+
- Binary: `~/.ccs/cliproxy/bin/cli-proxy-api` (~15MB, auto-downloaded)
|
|
390
|
+
- Model mappings:
|
|
391
|
+
- **Gemini**: gemini-2.5-pro (opus), gemini-2.0-flash (sonnet), flash-lite (haiku)
|
|
392
|
+
- **Codex**: gpt-5.1-codex-max (opus), gpt-4o (sonnet), gpt-4o-mini (haiku)
|
|
393
|
+
- **Antigravity**: agy-pro (sonnet), agy-turbo (haiku)
|
|
394
|
+
|
|
312
395
|
**Settings-based**: GLM, GLMT, Kimi, default
|
|
313
396
|
- Uses `--settings` flag pointing to config files
|
|
314
397
|
- GLMT: Embedded proxy for thinking mode support
|
|
@@ -329,6 +412,7 @@ graph LR
|
|
|
329
412
|
- sessions/ - Conversation history
|
|
330
413
|
- todolists/ - Todo lists
|
|
331
414
|
- logs/ - Execution logs
|
|
415
|
+
- **cliproxy/auth/** - OAuth tokens (CLIProxy profiles only)
|
|
332
416
|
|
|
333
417
|
> [!NOTE]
|
|
334
418
|
> **v4.4 Breaking Change**: settings.json now shared across profiles. Previously each profile had isolated settings. Migration is automatic on install using ~/.claude/settings.json as the authoritative source. Backups created: `<instance>/settings.json.pre-shared-migration`
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
5.0.
|
|
1
|
+
5.0.1
|
|
@@ -53,12 +53,14 @@ export declare function getProviderTokenDir(provider: CLIProxyProvider): string;
|
|
|
53
53
|
/**
|
|
54
54
|
* Check if provider has valid authentication
|
|
55
55
|
* CLIProxyAPI stores OAuth tokens as JSON files in the auth directory.
|
|
56
|
-
*
|
|
57
|
-
*
|
|
56
|
+
* Detection strategy:
|
|
57
|
+
* 1. First check by filename prefix (fast path)
|
|
58
|
+
* 2. If no match, check JSON content for "type" field (Gemini uses {email}-{projectID}.json without prefix)
|
|
58
59
|
*/
|
|
59
60
|
export declare function isAuthenticated(provider: CLIProxyProvider): boolean;
|
|
60
61
|
/**
|
|
61
62
|
* Get detailed auth status for provider
|
|
63
|
+
* Uses same detection strategy as isAuthenticated: prefix first, then content
|
|
62
64
|
*/
|
|
63
65
|
export declare function getAuthStatus(provider: CLIProxyProvider): AuthStatus;
|
|
64
66
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-handler.d.ts","sourceRoot":"","sources":["../../src/cliproxy/auth-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAwB3C;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,oBAAoB;IACpB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,oCAAoC;IACpC,aAAa,EAAE,OAAO,CAAC;IACvB,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,UAAU,mBAAmB;IAC3B,0BAA0B;IAC1B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,sBAAsB;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,wBAAwB;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB;AA8BD;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,gBAAgB,GAAG,mBAAmB,CAM9E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAEtE;
|
|
1
|
+
{"version":3,"file":"auth-handler.d.ts","sourceRoot":"","sources":["../../src/cliproxy/auth-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAwB3C;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,oBAAoB;IACpB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,oCAAoC;IACpC,aAAa,EAAE,OAAO,CAAC;IACvB,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,UAAU,mBAAmB;IAC3B,0BAA0B;IAC1B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,sBAAsB;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,wBAAwB;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB;AA8BD;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,gBAAgB,GAAG,mBAAmB,CAM9E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAEtE;AAuCD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAkCnE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,gBAAgB,GAAG,UAAU,CA8CpE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,UAAU,EAAE,CAG/C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAiB7D;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GACtD,OAAO,CAAC,OAAO,CAAC,CA4JlB;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GACtD,OAAO,CAAC,OAAO,CAAC,CAclB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAkBxC"}
|
|
@@ -107,40 +107,71 @@ function getProviderTokenDir(provider) {
|
|
|
107
107
|
}
|
|
108
108
|
exports.getProviderTokenDir = getProviderTokenDir;
|
|
109
109
|
/**
|
|
110
|
-
* Provider-specific auth file prefixes
|
|
110
|
+
* Provider-specific auth file prefixes (fallback detection)
|
|
111
111
|
* CLIProxyAPI names auth files with provider prefix (e.g., "antigravity-user@email.json")
|
|
112
|
+
* Note: Gemini tokens may NOT have prefix - CLIProxyAPI uses {email}-{projectID}.json format
|
|
112
113
|
*/
|
|
113
114
|
const PROVIDER_AUTH_PREFIXES = {
|
|
114
115
|
gemini: ['gemini-', 'google-'],
|
|
115
116
|
codex: ['codex-', 'openai-'],
|
|
116
117
|
agy: ['antigravity-', 'agy-'],
|
|
117
118
|
};
|
|
119
|
+
/**
|
|
120
|
+
* Provider type values inside token JSON files
|
|
121
|
+
* CLIProxyAPI sets "type" field in token JSON (e.g., {"type": "gemini"})
|
|
122
|
+
*/
|
|
123
|
+
const PROVIDER_TYPE_VALUES = {
|
|
124
|
+
gemini: ['gemini'],
|
|
125
|
+
codex: ['codex'],
|
|
126
|
+
agy: ['antigravity'],
|
|
127
|
+
};
|
|
128
|
+
/**
|
|
129
|
+
* Check if a JSON file contains a token for the given provider
|
|
130
|
+
* Reads the file and checks the "type" field
|
|
131
|
+
*/
|
|
132
|
+
function isTokenFileForProvider(filePath, provider) {
|
|
133
|
+
try {
|
|
134
|
+
const content = fs.readFileSync(filePath, 'utf-8');
|
|
135
|
+
const data = JSON.parse(content);
|
|
136
|
+
const typeValue = (data.type || '').toLowerCase();
|
|
137
|
+
const validTypes = PROVIDER_TYPE_VALUES[provider] || [];
|
|
138
|
+
return validTypes.includes(typeValue);
|
|
139
|
+
}
|
|
140
|
+
catch {
|
|
141
|
+
return false;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
118
144
|
/**
|
|
119
145
|
* Check if provider has valid authentication
|
|
120
146
|
* CLIProxyAPI stores OAuth tokens as JSON files in the auth directory.
|
|
121
|
-
*
|
|
122
|
-
*
|
|
147
|
+
* Detection strategy:
|
|
148
|
+
* 1. First check by filename prefix (fast path)
|
|
149
|
+
* 2. If no match, check JSON content for "type" field (Gemini uses {email}-{projectID}.json without prefix)
|
|
123
150
|
*/
|
|
124
151
|
function isAuthenticated(provider) {
|
|
125
152
|
const tokenDir = getProviderTokenDir(provider);
|
|
126
153
|
if (!fs.existsSync(tokenDir)) {
|
|
127
154
|
return false;
|
|
128
155
|
}
|
|
129
|
-
// Get valid prefixes for this provider
|
|
130
156
|
const validPrefixes = PROVIDER_AUTH_PREFIXES[provider] || [];
|
|
131
|
-
// Check for provider-specific token files
|
|
132
157
|
try {
|
|
133
158
|
const files = fs.readdirSync(tokenDir);
|
|
134
|
-
const
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
return false;
|
|
138
|
-
}
|
|
139
|
-
// Must have provider-specific prefix
|
|
159
|
+
const jsonFiles = files.filter((f) => f.endsWith('.json') || f.endsWith('.token') || f === 'credentials');
|
|
160
|
+
// Strategy 1: Check by filename prefix (fast path for antigravity, codex)
|
|
161
|
+
const prefixMatch = jsonFiles.some((f) => {
|
|
140
162
|
const lowerFile = f.toLowerCase();
|
|
141
163
|
return validPrefixes.some((prefix) => lowerFile.startsWith(prefix));
|
|
142
164
|
});
|
|
143
|
-
|
|
165
|
+
if (prefixMatch)
|
|
166
|
+
return true;
|
|
167
|
+
// Strategy 2: Check JSON content for "type" field (needed for Gemini)
|
|
168
|
+
for (const f of jsonFiles) {
|
|
169
|
+
const filePath = path.join(tokenDir, f);
|
|
170
|
+
if (isTokenFileForProvider(filePath, provider)) {
|
|
171
|
+
return true;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
return false;
|
|
144
175
|
}
|
|
145
176
|
catch {
|
|
146
177
|
return false;
|
|
@@ -149,29 +180,38 @@ function isAuthenticated(provider) {
|
|
|
149
180
|
exports.isAuthenticated = isAuthenticated;
|
|
150
181
|
/**
|
|
151
182
|
* Get detailed auth status for provider
|
|
183
|
+
* Uses same detection strategy as isAuthenticated: prefix first, then content
|
|
152
184
|
*/
|
|
153
185
|
function getAuthStatus(provider) {
|
|
154
186
|
const tokenDir = getProviderTokenDir(provider);
|
|
155
187
|
let tokenFiles = [];
|
|
156
188
|
let lastAuth;
|
|
157
|
-
// Get valid prefixes for this provider
|
|
158
189
|
const validPrefixes = PROVIDER_AUTH_PREFIXES[provider] || [];
|
|
159
190
|
if (fs.existsSync(tokenDir)) {
|
|
160
191
|
const files = fs.readdirSync(tokenDir);
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
return false;
|
|
165
|
-
}
|
|
192
|
+
const jsonFiles = files.filter((f) => f.endsWith('.json') || f.endsWith('.token') || f === 'credentials');
|
|
193
|
+
// Check each file: by prefix OR by content
|
|
194
|
+
tokenFiles = jsonFiles.filter((f) => {
|
|
166
195
|
const lowerFile = f.toLowerCase();
|
|
167
|
-
|
|
196
|
+
// Strategy 1: prefix match
|
|
197
|
+
if (validPrefixes.some((prefix) => lowerFile.startsWith(prefix))) {
|
|
198
|
+
return true;
|
|
199
|
+
}
|
|
200
|
+
// Strategy 2: content match (for Gemini tokens without prefix)
|
|
201
|
+
const filePath = path.join(tokenDir, f);
|
|
202
|
+
return isTokenFileForProvider(filePath, provider);
|
|
168
203
|
});
|
|
169
204
|
// Get most recent modification time
|
|
170
205
|
for (const file of tokenFiles) {
|
|
171
206
|
const filePath = path.join(tokenDir, file);
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
lastAuth
|
|
207
|
+
try {
|
|
208
|
+
const stats = fs.statSync(filePath);
|
|
209
|
+
if (!lastAuth || stats.mtime > lastAuth) {
|
|
210
|
+
lastAuth = stats.mtime;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
catch {
|
|
214
|
+
// Skip if can't stat file
|
|
175
215
|
}
|
|
176
216
|
}
|
|
177
217
|
}
|
|
@@ -322,10 +362,10 @@ async function triggerOAuth(provider, options = {}) {
|
|
|
322
362
|
authProcess.on('exit', (code) => {
|
|
323
363
|
clearTimeout(timeout);
|
|
324
364
|
if (code === 0) {
|
|
325
|
-
|
|
326
|
-
spinner.succeed(`Authenticated with ${oauthConfig.displayName}`);
|
|
327
|
-
// Verify token was created
|
|
365
|
+
// Verify token was created BEFORE showing success
|
|
328
366
|
if (isAuthenticated(provider)) {
|
|
367
|
+
if (!headless)
|
|
368
|
+
spinner.succeed(`Authenticated with ${oauthConfig.displayName}`);
|
|
329
369
|
console.log('[OK] Authentication successful');
|
|
330
370
|
resolve(true);
|
|
331
371
|
}
|
|
@@ -333,7 +373,8 @@ async function triggerOAuth(provider, options = {}) {
|
|
|
333
373
|
if (!headless)
|
|
334
374
|
spinner.fail('Authentication incomplete');
|
|
335
375
|
console.error('[X] Token not found after authentication');
|
|
336
|
-
console.error(' The OAuth flow may have been cancelled');
|
|
376
|
+
console.error(' The OAuth flow may have been cancelled or port 8085 was in use');
|
|
377
|
+
console.error(' Try: pkill -f cli-proxy-api && ccs gemini --auth');
|
|
337
378
|
resolve(false);
|
|
338
379
|
}
|
|
339
380
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-handler.js","sourceRoot":"","sources":["../../src/cliproxy/auth-handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth-handler.js","sourceRoot":"","sources":["../../src/cliproxy/auth-handler.ts"],"names":[],"mappings":"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"}
|