diff --git a/bin/version.js b/bin/version.js index caec6dca6..3b8a1d213 100644 --- a/bin/version.js +++ b/bin/version.js @@ -229,7 +229,7 @@ async function enhanceWithAI(version, changelogSection) { return changelogSection; } const proxyUrl = (process.env.OPENAI_PROXY_URL || "").trim(); - const explicitApiUrl = process.env.CHANGELOG_AI_URL || process.env.OPENAI_API_URL; + const explicitApiUrl = process.env.CHANGELOG_AI_URL || process.env.OPENAI_API_URL || process.env.OPENAI_BASE_URL; const apiUrl = resolveApiEndpoint(explicitApiUrl); const dispatcher = createProxyDispatcher(proxyUrl); const model = process.env.CHANGELOG_AI_MODEL || process.env.OPENAI_API_MODEL || "gpt-4o-mini"; diff --git a/language/README.md b/language/README.md index a262a9e12..e61b1694a 100644 --- a/language/README.md +++ b/language/README.md @@ -8,6 +8,7 @@ ```dotenv OPENAI_API_KEY=你的OpenAI密钥 + OPENAI_BASE_URL=可选的自定义API地址 OPENAI_PROXY_URL=可选的代理地址 ``` diff --git a/language/translate.php b/language/translate.php index 568210b5c..031780d62 100755 --- a/language/translate.php +++ b/language/translate.php @@ -75,6 +75,7 @@ if ($openAiKey === '') { exit(1); } $openAiProxy = trim(language_env_value('OPENAI_PROXY_URL', $languageEnv) ?? ''); +$openAiBaseUrl = trim(language_env_value('OPENAI_BASE_URL', $languageEnv) ?? ''); // 读取所有要翻译的内容 $originals = []; @@ -170,6 +171,9 @@ if (count($needs) > 0) { // 开始翻译 print_r("正在翻译:" . (count($keys) + $done) . "/" . count($needs) . "...\n"); $openAi = new OpenAi($openAiKey); + if ($openAiBaseUrl !== '') { + $openAi->setBaseURL(rtrim(preg_replace('#/v\d+/?$#', '', $openAiBaseUrl), '/')); + } if ($openAiProxy !== '') { $openAi->setProxy($openAiProxy); }