Add API vs Coding Plan mode selection for Z.AI auth

This commit is contained in:
William Valentin
2026-02-15 20:06:35 -08:00
parent 6a31ee2885
commit 99ad53a1ee
4 changed files with 84 additions and 4 deletions
+10 -1
View File
@@ -620,6 +620,9 @@ export class MinimalTui {
console.log(`${colors.gray}Z.AI uses API keys (HTTP Bearer), not an OAuth device flow.${colors.reset}`);
console.log(`${colors.gray}Create a key at:${colors.reset} https://z.ai/manage-apikey/apikey-list`);
console.log(`${colors.gray}Choose mode: 1) API 2) Coding Plan${colors.reset}`);
const choice = (await this.prompt(`${colors.orange}Select [1-2] (default 1):${colors.reset} `)).trim().toLowerCase();
const mode = (choice === '2' || choice === 'plan') ? 'plan' : 'api';
console.log('');
try {
@@ -628,7 +631,13 @@ export class MinimalTui {
storeZaiAuth(apiKey);
console.log('');
console.log(`${colors.gray}Z.AI credential stored in ~/.config/flynn/auth.json${colors.reset}`);
console.log(`${colors.gray}Tip: For GLM Coding Plan set endpoint to https://api.z.ai/api/coding/paas/v4${colors.reset}\n`);
if (mode === 'plan') {
console.log(`${colors.gray}Mode: Coding Plan${colors.reset}`);
console.log(`${colors.gray}Set endpoint to https://api.z.ai/api/coding/paas/v4${colors.reset}\n`);
} else {
console.log(`${colors.gray}Mode: API${colors.reset}`);
console.log(`${colors.gray}Set endpoint to https://api.z.ai/api/paas/v4${colors.reset}\n`);
}
} catch (error) {
const message = error instanceof Error ? error.message : String(error);
console.log(`${colors.gray}Z.AI auth failed:${colors.reset} ${message}\n`);