diff --git a/src/views/demo/translate/translate.js b/src/views/demo/translate/translate.js index 3e811e9..4494460 100644 --- a/src/views/demo/translate/translate.js +++ b/src/views/demo/translate/translate.js @@ -21,6 +21,8 @@ export const DEFAULT_SETTINGS = { export const EXPERIENCE_KEY_MAX_TEXT_LENGTH = 100 +const RUNAPI_PROXY_BASE_URL = '/runapi' + const TRANSLATION_RULES = 'Translate directly. Return only the translation. Preserve formatting, markdown, code, URLs, numbers, placeholders, and line breaks.' export function isSettingsReady(target) { @@ -80,10 +82,17 @@ function createFastModelOptions(model) { } } +function createRequestBaseUrl(apiBaseUrl) { + const baseUrl = apiBaseUrl.trim().replace(/\/+$/, '') + if (baseUrl === API_BASE_URL_OPTIONS[0]) + return RUNAPI_PROXY_BASE_URL + return baseUrl +} + export async function translateText(text, settings) { validateTranslateText(text, settings) - const baseUrl = settings.apiBaseUrl.trim().replace(/\/+$/, '') + const baseUrl = createRequestBaseUrl(settings.apiBaseUrl) const model = settings.model.trim() || DEFAULT_SETTINGS.model const sourceLanguage = detectSourceLanguage(text) diff --git a/vite.config.js b/vite.config.js index 9c48397..3827f4a 100644 --- a/vite.config.js +++ b/vite.config.js @@ -67,6 +67,12 @@ export default defineConfig(({ mode }) => { }) }, }, + '/runapi': { + target: 'https://runapi.co', + changeOrigin: true, + rewrite: path => path.replace(/^\/runapi/, '/v1'), + secure: false, + }, }, }, optimizeDeps: {