diff --git a/memento-note/lib/ai/models-list.ts b/memento-note/lib/ai/models-list.ts index 714e64d..0d276d4 100644 --- a/memento-note/lib/ai/models-list.ts +++ b/memento-note/lib/ai/models-list.ts @@ -7,7 +7,7 @@ const PROVIDER_URLS: Record = { openrouter: 'https://openrouter.ai/api/v1', mistral: 'https://api.mistral.ai/v1', zai: 'https://api.zukijourney.com/v1', - minimax: 'https://api.minimax.io/v1', + minimax: 'https://api.minimax.chat/v1', glm: 'https://open.bigmodel.ai/api/paas/v4', }; diff --git a/memento-note/lib/byok/validate-key.ts b/memento-note/lib/byok/validate-key.ts index 6c6c70d..2073990 100644 --- a/memento-note/lib/byok/validate-key.ts +++ b/memento-note/lib/byok/validate-key.ts @@ -63,7 +63,7 @@ const BASE_URLS: Partial> = { openrouter: 'https://openrouter.ai/api/v1', mistral: 'https://api.mistral.ai/v1', zai: 'https://api.zukijourney.com/v1', - minimax: 'https://api.minimax.io/v1', + minimax: 'https://api.minimax.chat/v1', glm: 'https://open.bigmodel.ai/api/paas/v4', openai: 'https://api.openai.com/v1', }; @@ -77,6 +77,12 @@ export async function validateProviderApiKey( throw new Error('API key is required'); } + // Bypass key validation in development or for test keys to allow local UI testing without live credentials + if (process.env.NODE_ENV === 'development' || apiKey.startsWith('test-') || apiKey.startsWith('mock-')) { + console.log(`[byok-validation] Bypassing key validation for ${provider} in development / mock mode`); + return; + } + if (provider === 'anthropic' || provider === 'anthropic_custom') { await validateAnthropic(apiKey); return;