diff --git a/src/api.ts b/src/api.ts index 0d1b36f..62a43a8 100644 --- a/src/api.ts +++ b/src/api.ts @@ -12,6 +12,7 @@ import { CONFIG_MODES, getConfig } from './commands/config'; const config = getConfig(); let apiKey = config?.OPENAI_API_KEY; +let basePath = config?.OPENAI_BASE_PATH; const [command, mode] = process.argv.slice(2); @@ -32,8 +33,14 @@ class OpenAi { private openAiApiConfiguration = new OpenAiApiConfiguration({ apiKey: apiKey }); + private openAI!: OpenAIApi; - private openAI = new OpenAIApi(this.openAiApiConfiguration); + constructor() { + if (basePath) { + this.openAiApiConfiguration.basePath = basePath; + } + this.openAI = new OpenAIApi(this.openAiApiConfiguration); + } public generateCommitMessage = async ( messages: Array diff --git a/src/commands/config.ts b/src/commands/config.ts index c10ed41..2349253 100644 --- a/src/commands/config.ts +++ b/src/commands/config.ts @@ -10,6 +10,7 @@ import { getI18nLocal } from '../i18n'; export enum CONFIG_KEYS { OPENAI_API_KEY = 'OPENAI_API_KEY', + OPENAI_BASE_PATH = 'OPENAI_BASE_PATH', description = 'description', emoji = 'emoji', language = 'language' @@ -78,6 +79,15 @@ export const configValidators = { `${value} is not supported yet` ); return getI18nLocal(value); + }, + + [CONFIG_KEYS.OPENAI_BASE_PATH](value: any) { + validateConfig( + CONFIG_KEYS.OPENAI_BASE_PATH, + typeof value == 'string', + `${value} is not supported yet` + ); + return value; } };