mirror of
https://github.com/tiennm99/ccs.git
synced 2026-10-13 02:14:32 +00:00
fix(cliproxy): clarify paid tier messaging to reference google account tier
Replace misleading "[Paid API]" and "API key" references with "[Paid Tier]" and clarify that paid tier refers to a paid Google account (not free tier), not an API key purchase. Updates model descriptions in both catalog and configuration to accurately reflect the tier requirement.
This commit is contained in:
1 parent
7937009665
commit
848fbf4686
2 files changed
+11
-9
No files matched your search
@@ -15,7 +15,7 @@ export interface ModelEntry {
|
|||||||
id: string;
|
id: string;
|
||||||
/** Human-readable name for display */
|
/** Human-readable name for display */
|
||||||
name: string;
|
name: string;
|
||||||
/** Access tier indicator - 'paid' means requires paid API tier (not model pricing) */
|
/** Access tier indicator - 'paid' means requires paid Google account (not free tier) */
|
||||||
tier?: 'free' | 'paid';
|
tier?: 'free' | 'paid';
|
||||||
/** Optional description for the model */
|
/** Optional description for the model */
|
||||||
description?: string;
|
description?: string;
|
||||||
@@ -61,7 +61,7 @@ export const MODEL_CATALOG: Partial<Record<CLIProxyProvider, ProviderCatalog>> =
|
|||||||
id: 'gemini-3-pro-preview',
|
id: 'gemini-3-pro-preview',
|
||||||
name: 'Gemini 3 Pro',
|
name: 'Gemini 3 Pro',
|
||||||
tier: 'paid',
|
tier: 'paid',
|
||||||
description: 'Google latest, requires Paid API tier',
|
description: 'Google latest, requires paid Google account',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@@ -74,12 +74,12 @@ export const MODEL_CATALOG: Partial<Record<CLIProxyProvider, ProviderCatalog>> =
|
|||||||
id: 'gemini-3-pro-preview',
|
id: 'gemini-3-pro-preview',
|
||||||
name: 'Gemini 3 Pro',
|
name: 'Gemini 3 Pro',
|
||||||
tier: 'paid',
|
tier: 'paid',
|
||||||
description: 'Latest model, requires Paid API tier',
|
description: 'Latest model, requires paid Google account',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'gemini-2.5-pro',
|
id: 'gemini-2.5-pro',
|
||||||
name: 'Gemini 2.5 Pro',
|
name: 'Gemini 2.5 Pro',
|
||||||
description: 'Stable release, works with free tier',
|
description: 'Stable, works with free Google account',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -43,8 +43,8 @@ export function getCurrentModel(provider: CLIProxyProvider): string | undefined
|
|||||||
* Format model entry for display in selection list
|
* Format model entry for display in selection list
|
||||||
*/
|
*/
|
||||||
function formatModelOption(model: ModelEntry): string {
|
function formatModelOption(model: ModelEntry): string {
|
||||||
// Tier badge: clarify that "paid" means API tier, not model pricing
|
// Tier badge: clarify that "paid" means paid Google account (not free tier)
|
||||||
const tierBadge = model.tier === 'paid' ? color(' [Paid API]', 'warning') : '';
|
const tierBadge = model.tier === 'paid' ? color(' [Paid Tier]', 'warning') : '';
|
||||||
return `${model.name}${tierBadge}`;
|
return `${model.name}${tierBadge}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -54,7 +54,7 @@ function formatModelOption(model: ModelEntry): string {
|
|||||||
function formatModelDetailed(model: ModelEntry, isCurrent: boolean): string {
|
function formatModelDetailed(model: ModelEntry, isCurrent: boolean): string {
|
||||||
const marker = isCurrent ? color('>', 'success') : ' ';
|
const marker = isCurrent ? color('>', 'success') : ' ';
|
||||||
const name = isCurrent ? bold(model.name) : model.name;
|
const name = isCurrent ? bold(model.name) : model.name;
|
||||||
const tierBadge = model.tier === 'paid' ? color(' [Paid API]', 'warning') : '';
|
const tierBadge = model.tier === 'paid' ? color(' [Paid Tier]', 'warning') : '';
|
||||||
const desc = model.description ? dim(` - ${model.description}`) : '';
|
const desc = model.description ? dim(` - ${model.description}`) : '';
|
||||||
return ` ${marker} ${name}${tierBadge}${desc}`;
|
return ` ${marker} ${name}${tierBadge}${desc}`;
|
||||||
}
|
}
|
||||||
@@ -103,7 +103,9 @@ export async function configureProviderModel(
|
|||||||
console.error(header(`Configure ${catalog.displayName} Model`));
|
console.error(header(`Configure ${catalog.displayName} Model`));
|
||||||
console.error('');
|
console.error('');
|
||||||
console.error(dim(' Select which model to use for this provider.'));
|
console.error(dim(' Select which model to use for this provider.'));
|
||||||
console.error(dim(' Models marked [Paid API] require a paid Google AI Studio API key.'));
|
console.error(
|
||||||
|
dim(' Models marked [Paid Tier] require a paid Google account (not free tier).')
|
||||||
|
);
|
||||||
console.error('');
|
console.error('');
|
||||||
|
|
||||||
// Interactive selection
|
// Interactive selection
|
||||||
@@ -181,7 +183,7 @@ export async function showCurrentConfig(provider: CLIProxyProvider): Promise<voi
|
|||||||
|
|
||||||
console.error('');
|
console.error('');
|
||||||
console.error(bold('Available models:'));
|
console.error(bold('Available models:'));
|
||||||
console.error(dim(' [Paid API] = Requires paid Google AI Studio API key'));
|
console.error(dim(' [Paid Tier] = Requires paid Google account (not free tier)'));
|
||||||
console.error('');
|
console.error('');
|
||||||
catalog.models.forEach((m) => {
|
catalog.models.forEach((m) => {
|
||||||
const isCurrent = m.id === currentModel;
|
const isCurrent = m.id === currentModel;
|
||||||
|
|||||||
Reference in new issue
Block a user