fix: use x-api-key header for minimax
This commit is contained in:
@@ -116,29 +116,47 @@ function extractJson(text) {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
function anthConfig() {
|
function anthConfigs() {
|
||||||
const base =
|
const configs = [];
|
||||||
(process.env.ANTHROPIC_BASE_URL || '').trim() ||
|
const primaryBase = (process.env.ANTHROPIC_BASE_URL || '').trim();
|
||||||
(process.env.ANTHROPIC_FALLBACK_BASE_URL || '').trim();
|
const primaryToken =
|
||||||
const token =
|
|
||||||
(process.env.ANTHROPIC_AUTH_TOKEN || '').trim() ||
|
(process.env.ANTHROPIC_AUTH_TOKEN || '').trim() ||
|
||||||
(process.env.ANTHROPIC_FALLBACK_TOKEN || '').trim();
|
(process.env.ANTHROPIC_API_KEY || '').trim();
|
||||||
if (!base || !token) {
|
if (primaryBase && primaryToken) {
|
||||||
return null;
|
configs.push({
|
||||||
|
endpoint: `${primaryBase.replace(/\/$/, '')}/v1/messages`,
|
||||||
|
token: primaryToken,
|
||||||
|
model: process.env.ANTHROPIC_MODEL || 'claude-3-5-sonnet-20241022'
|
||||||
|
});
|
||||||
}
|
}
|
||||||
return {
|
const fallbackBase = (process.env.ANTHROPIC_FALLBACK_BASE_URL || '').trim();
|
||||||
endpoint: `${base.replace(/\/$/, '')}/v1/messages`,
|
const fallbackToken = (process.env.ANTHROPIC_FALLBACK_TOKEN || '').trim();
|
||||||
token
|
if (fallbackBase && fallbackToken) {
|
||||||
};
|
const sameAsPrimary =
|
||||||
|
fallbackBase === primaryBase && fallbackToken === primaryToken;
|
||||||
|
if (!sameAsPrimary) {
|
||||||
|
configs.push({
|
||||||
|
endpoint: `${fallbackBase.replace(/\/$/, '')}/v1/messages`,
|
||||||
|
token: fallbackToken,
|
||||||
|
model:
|
||||||
|
process.env.ANTHROPIC_FALLBACK_MODEL ||
|
||||||
|
process.env.ANTHROPIC_MODEL ||
|
||||||
|
'claude-3-5-sonnet-20241022'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return configs;
|
||||||
}
|
}
|
||||||
|
|
||||||
async function callAnthropic(systemText, userText, maxTokens = 800) {
|
async function callAnthropic(systemText, userText, maxTokens = 800) {
|
||||||
const cfg = anthConfig();
|
const configs = anthConfigs();
|
||||||
if (!cfg) {
|
if (!configs.length) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
let lastError = null;
|
||||||
|
for (const cfg of configs) {
|
||||||
const payload = {
|
const payload = {
|
||||||
model: process.env.ANTHROPIC_MODEL || 'claude-3-5-sonnet-20241022',
|
model: cfg.model || process.env.ANTHROPIC_MODEL || 'claude-3-5-sonnet-20241022',
|
||||||
max_tokens: maxTokens,
|
max_tokens: maxTokens,
|
||||||
temperature: 0.3,
|
temperature: 0.3,
|
||||||
system: systemText,
|
system: systemText,
|
||||||
@@ -166,9 +184,18 @@ async function callAnthropic(systemText, userText, maxTokens = 800) {
|
|||||||
const data = await res.json();
|
const data = await res.json();
|
||||||
return data?.content?.[0]?.text || '';
|
return data?.content?.[0]?.text || '';
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.warn('[alsGenerator] Anthropic error:', err.message);
|
lastError = err;
|
||||||
return null;
|
console.warn(
|
||||||
|
`[alsGenerator] Anthropic error (${cfg.endpoint}):`,
|
||||||
|
err.message
|
||||||
|
);
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
if (lastError) {
|
||||||
|
console.warn('[alsGenerator] All Anthropic endpoints failed.');
|
||||||
|
}
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
async function planWithAI(prompt, library, sources) {
|
async function planWithAI(prompt, library, sources) {
|
||||||
|
|||||||
Reference in New Issue
Block a user