Skip to content

Commit 9f53209

Browse files
quanruclaude
andcommitted
refactor(env): modernize model configuration environment variables
This PR refactors the model configuration system with improved naming conventions and better type safety while maintaining backward compatibility. Key Changes: 1. Environment Variable Naming Convention Updates: - Renamed OPENAI_* → MODEL_* for public API variables * OPENAI_API_KEY → MODEL_API_KEY (deprecated, backward compatible) * OPENAI_BASE_URL → MODEL_BASE_URL (deprecated, backward compatible) - Renamed MIDSCENE_*_VL_MODE → MIDSCENE_*_LOCATOR_MODE across all intents * MIDSCENE_VL_MODE → MIDSCENE_LOCATOR_MODE * MIDSCENE_VQA_VL_MODE → MIDSCENE_VQA_LOCATOR_MODE * MIDSCENE_PLANNING_VL_MODE → MIDSCENE_PLANNING_LOCATOR_MODE * MIDSCENE_GROUNDING_VL_MODE → MIDSCENE_GROUNDING_LOCATOR_MODE - Updated all internal MIDSCENE_*_OPENAI_* → MIDSCENE_*_MODEL_* * MIDSCENE_VQA_OPENAI_API_KEY → MIDSCENE_VQA_MODEL_API_KEY * MIDSCENE_PLANNING_OPENAI_API_KEY → MIDSCENE_PLANNING_MODEL_API_KEY * MIDSCENE_GROUNDING_OPENAI_API_KEY → MIDSCENE_GROUNDING_MODEL_API_KEY * (and corresponding BASE_URL variables) 2. Type System Improvements: - Split TModelConfigFn into public and internal types - Public API (TModelConfigFn) no longer exposes 'intent' parameter - Internal type (TModelConfigFnInternal) maintains intent parameter - Users can still optionally use intent parameter via type casting 3. Backward Compatibility: - Maintained compatibility for documented public variables (OPENAI_API_KEY, OPENAI_BASE_URL) - New variables take precedence, fallback to legacy names if not set - Only public documented variables are deprecated, internal variables renamed directly 4. Updated Files: - packages/shared/src/env/types.ts - Type definitions and constants - packages/shared/src/env/constants.ts - Config key mappings - packages/shared/src/env/decide-model-config.ts - Compatibility logic - packages/shared/src/env/model-config-manager.ts - Type casting implementation - packages/shared/src/env/init-debug.ts - Debug variable updates - All test files updated to use new variable names Testing: - All 24 model-config-manager tests passing - Overall test suite: 241 tests passing 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
1 parent fd58ead commit 9f53209

File tree

16 files changed

+364
-323
lines changed

16 files changed

+364
-323
lines changed

packages/android/tests/unit-test/agent.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ vi.mock('../../src/utils');
2424

2525
const mockedModelConfigFnResult = {
2626
MIDSCENE_MODEL_NAME: 'mock',
27-
MIDSCENE_OPENAI_API_KEY: 'mock',
28-
MIDSCENE_OPENAI_BASE_URL: 'mock',
29-
MIDSCENE_VL_MODE: 'doubao-vision',
27+
MIDSCENE_MODEL_API_KEY: 'mock',
28+
MIDSCENE_MODEL_BASE_URL: 'mock',
29+
MIDSCENE_LOCATOR_MODE: 'doubao-vision',
3030
} as const;
3131

3232
describe('AndroidAgent', () => {

packages/core/tests/unit-test/agent-custom-client.test.ts

Lines changed: 25 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
import { Agent } from '@/agent';
22
import type { CreateOpenAIClientFn } from '@midscene/shared/env';
33
import {
4+
MIDSCENE_MODEL_API_KEY,
5+
MIDSCENE_MODEL_BASE_URL,
46
MIDSCENE_MODEL_NAME,
5-
MIDSCENE_OPENAI_API_KEY,
6-
MIDSCENE_OPENAI_BASE_URL,
7+
MIDSCENE_PLANNING_LOCATOR_MODE,
8+
MIDSCENE_PLANNING_MODEL_API_KEY,
9+
MIDSCENE_PLANNING_MODEL_BASE_URL,
710
MIDSCENE_PLANNING_MODEL_NAME,
8-
MIDSCENE_PLANNING_OPENAI_API_KEY,
9-
MIDSCENE_PLANNING_OPENAI_BASE_URL,
10-
MIDSCENE_PLANNING_VL_MODE,
1111
} from '@midscene/shared/env';
1212
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
1313

@@ -32,8 +32,8 @@ describe('Agent with custom OpenAI client', () => {
3232
const agent = new Agent(mockInterface, {
3333
modelConfig: ({ intent }) => ({
3434
[MIDSCENE_MODEL_NAME]: 'gpt-4o',
35-
[MIDSCENE_OPENAI_API_KEY]: 'test-key',
36-
[MIDSCENE_OPENAI_BASE_URL]: 'https://api.openai.com/v1',
35+
[MIDSCENE_MODEL_API_KEY]: 'test-key',
36+
[MIDSCENE_MODEL_BASE_URL]: 'https://api.openai.com/v1',
3737
}),
3838
createOpenAIClient: mockCreateClient,
3939
});
@@ -53,8 +53,8 @@ describe('Agent with custom OpenAI client', () => {
5353
const agent = new Agent(mockInterface, {
5454
modelConfig: ({ intent }) => ({
5555
[MIDSCENE_MODEL_NAME]: 'gpt-4o',
56-
[MIDSCENE_OPENAI_API_KEY]: 'test-key',
57-
[MIDSCENE_OPENAI_BASE_URL]: 'https://api.openai.com/v1',
56+
[MIDSCENE_MODEL_API_KEY]: 'test-key',
57+
[MIDSCENE_MODEL_BASE_URL]: 'https://api.openai.com/v1',
5858
}),
5959
createOpenAIClient: mockCreateClient,
6060
});
@@ -73,8 +73,8 @@ describe('Agent with custom OpenAI client', () => {
7373
const agent = new Agent(mockInterface, {
7474
modelConfig: ({ intent }) => ({
7575
[MIDSCENE_MODEL_NAME]: 'gpt-4o',
76-
[MIDSCENE_OPENAI_API_KEY]: 'test-key',
77-
[MIDSCENE_OPENAI_BASE_URL]: 'https://api.openai.com/v1',
76+
[MIDSCENE_MODEL_API_KEY]: 'test-key',
77+
[MIDSCENE_MODEL_BASE_URL]: 'https://api.openai.com/v1',
7878
}),
7979
});
8080

@@ -108,16 +108,15 @@ describe('Agent with custom OpenAI client', () => {
108108
case 'planning':
109109
return {
110110
[MIDSCENE_PLANNING_MODEL_NAME]: 'qwen-vl-plus',
111-
[MIDSCENE_PLANNING_OPENAI_API_KEY]: 'test-planning-key',
112-
[MIDSCENE_PLANNING_OPENAI_BASE_URL]:
113-
'https://api.openai.com/v1',
114-
[MIDSCENE_PLANNING_VL_MODE]: 'qwen-vl' as const,
111+
[MIDSCENE_PLANNING_MODEL_API_KEY]: 'test-planning-key',
112+
[MIDSCENE_PLANNING_MODEL_BASE_URL]: 'https://api.openai.com/v1',
113+
[MIDSCENE_PLANNING_LOCATOR_MODE]: 'qwen-vl' as const,
115114
};
116115
default:
117116
return {
118117
[MIDSCENE_MODEL_NAME]: 'gpt-4o',
119-
[MIDSCENE_OPENAI_API_KEY]: 'test-key',
120-
[MIDSCENE_OPENAI_BASE_URL]: 'https://api.openai.com/v1',
118+
[MIDSCENE_MODEL_API_KEY]: 'test-key',
119+
[MIDSCENE_MODEL_BASE_URL]: 'https://api.openai.com/v1',
121120
};
122121
}
123122
},
@@ -170,15 +169,15 @@ describe('Agent with custom OpenAI client', () => {
170169
if (intent === 'planning') {
171170
return {
172171
[MIDSCENE_PLANNING_MODEL_NAME]: 'qwen-vl-plus',
173-
[MIDSCENE_PLANNING_OPENAI_API_KEY]: 'test-key',
174-
[MIDSCENE_PLANNING_OPENAI_BASE_URL]: 'https://api.openai.com/v1',
175-
[MIDSCENE_PLANNING_VL_MODE]: 'qwen-vl' as const,
172+
[MIDSCENE_PLANNING_MODEL_API_KEY]: 'test-key',
173+
[MIDSCENE_PLANNING_MODEL_BASE_URL]: 'https://api.openai.com/v1',
174+
[MIDSCENE_PLANNING_LOCATOR_MODE]: 'qwen-vl' as const,
176175
};
177176
}
178177
return {
179178
[MIDSCENE_MODEL_NAME]: 'gpt-4o',
180-
[MIDSCENE_OPENAI_API_KEY]: 'test-key',
181-
[MIDSCENE_OPENAI_BASE_URL]: 'https://api.openai.com/v1',
179+
[MIDSCENE_MODEL_API_KEY]: 'test-key',
180+
[MIDSCENE_MODEL_BASE_URL]: 'https://api.openai.com/v1',
182181
};
183182
},
184183
createOpenAIClient: mockCreateClient,
@@ -226,8 +225,8 @@ describe('Agent with custom OpenAI client', () => {
226225
const agent = new Agent(mockInterface, {
227226
modelConfig: ({ intent }) => ({
228227
[MIDSCENE_MODEL_NAME]: 'gpt-4o',
229-
[MIDSCENE_OPENAI_API_KEY]: 'test-api-key',
230-
[MIDSCENE_OPENAI_BASE_URL]: 'https://custom.openai.com/v1',
228+
[MIDSCENE_MODEL_API_KEY]: 'test-api-key',
229+
[MIDSCENE_MODEL_BASE_URL]: 'https://custom.openai.com/v1',
231230
}),
232231
createOpenAIClient: mockCreateClient,
233232
});
@@ -275,8 +274,8 @@ describe('Agent with custom OpenAI client', () => {
275274
const agent = new Agent(mockInterface, {
276275
modelConfig: ({ intent }) => ({
277276
[MIDSCENE_MODEL_NAME]: 'gpt-4o',
278-
[MIDSCENE_OPENAI_API_KEY]: 'test-key',
279-
[MIDSCENE_OPENAI_BASE_URL]: 'https://api.openai.com/v1',
277+
[MIDSCENE_MODEL_API_KEY]: 'test-key',
278+
[MIDSCENE_MODEL_BASE_URL]: 'https://api.openai.com/v1',
280279
}),
281280
createOpenAIClient: mockCreateClient,
282281
});

packages/core/tests/unit-test/proxy-integration.test.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -315,15 +315,15 @@ describe('proxy integration', () => {
315315
});
316316

317317
describe('environment variable integration', () => {
318-
it('should work with MIDSCENE_OPENAI_HTTP_PROXY environment variable', () => {
318+
it('should work with MIDSCENE_MODEL_HTTP_PROXY environment variable', () => {
319319
const proxyUrl = 'http://127.0.0.1:8080';
320320

321321
// This would typically come from environment variables via globalConfigManager
322322
const mockModelConfig: IModelConfig = {
323323
modelName: 'gpt-4o',
324324
openaiApiKey: 'test-key',
325325
openaiBaseURL: 'https://api.openai.com/v1',
326-
httpProxy: proxyUrl, // Would be populated from MIDSCENE_OPENAI_HTTP_PROXY
326+
httpProxy: proxyUrl, // Would be populated from MIDSCENE_MODEL_HTTP_PROXY
327327
modelDescription: 'test',
328328
intent: 'default',
329329
from: 'env',
@@ -332,15 +332,15 @@ describe('proxy integration', () => {
332332
expect(mockModelConfig.httpProxy).toBe(proxyUrl);
333333
});
334334

335-
it('should work with MIDSCENE_OPENAI_SOCKS_PROXY environment variable', () => {
335+
it('should work with MIDSCENE_MODEL_SOCKS_PROXY environment variable', () => {
336336
const proxyUrl = 'socks5://127.0.0.1:1080';
337337

338338
// This would typically come from environment variables via globalConfigManager
339339
const mockModelConfig: IModelConfig = {
340340
modelName: 'gpt-4o',
341341
openaiApiKey: 'test-key',
342342
openaiBaseURL: 'https://api.openai.com/v1',
343-
socksProxy: proxyUrl, // Would be populated from MIDSCENE_OPENAI_SOCKS_PROXY
343+
socksProxy: proxyUrl, // Would be populated from MIDSCENE_MODEL_SOCKS_PROXY
344344
modelDescription: 'test',
345345
intent: 'default',
346346
from: 'env',
@@ -356,7 +356,7 @@ describe('proxy integration', () => {
356356
modelName: 'gpt-4o',
357357
openaiApiKey: 'test-key',
358358
openaiBaseURL: 'https://api.openai.com/v1',
359-
httpProxy: proxyUrl, // Would be populated from MIDSCENE_VQA_OPENAI_HTTP_PROXY
359+
httpProxy: proxyUrl, // Would be populated from MIDSCENE_VQA_MODEL_HTTP_PROXY
360360
modelDescription: 'test',
361361
intent: 'VQA',
362362
from: 'env',
@@ -373,7 +373,7 @@ describe('proxy integration', () => {
373373
modelName: 'gpt-4o',
374374
openaiApiKey: 'test-key',
375375
openaiBaseURL: 'https://api.openai.com/v1',
376-
socksProxy: proxyUrl, // Would be populated from MIDSCENE_PLANNING_OPENAI_SOCKS_PROXY
376+
socksProxy: proxyUrl, // Would be populated from MIDSCENE_PLANNING_MODEL_SOCKS_PROXY
377377
modelDescription: 'test',
378378
intent: 'planning',
379379
from: 'env',
@@ -390,7 +390,7 @@ describe('proxy integration', () => {
390390
modelName: 'gpt-4o',
391391
openaiApiKey: 'test-key',
392392
openaiBaseURL: 'https://api.openai.com/v1',
393-
httpProxy: proxyUrl, // Would be populated from MIDSCENE_GROUNDING_OPENAI_HTTP_PROXY
393+
httpProxy: proxyUrl, // Would be populated from MIDSCENE_GROUNDING_MODEL_HTTP_PROXY
394394
modelDescription: 'test',
395395
intent: 'grounding',
396396
from: 'env',

packages/core/tests/unit-test/vl-model-check.test.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ vi.mock('@midscene/core', async () => {
2727

2828
const mockedModelConfigFnResult = {
2929
MIDSCENE_MODEL_NAME: 'gpt-4o',
30-
MIDSCENE_OPENAI_API_KEY: 'mock-api-key',
31-
MIDSCENE_OPENAI_BASE_URL: 'mock-base-url',
30+
MIDSCENE_MODEL_API_KEY: 'mock-api-key',
31+
MIDSCENE_MODEL_BASE_URL: 'mock-base-url',
3232
};
3333

3434
describe('VL Model Check for Different Interface Types', () => {
@@ -133,9 +133,9 @@ describe('VL Model Check for Different Interface Types', () => {
133133

134134
const modelConfigWithVL = {
135135
MIDSCENE_MODEL_NAME: 'gemini-2.0-flash-exp',
136-
MIDSCENE_OPENAI_API_KEY: 'mock-api-key',
137-
MIDSCENE_OPENAI_BASE_URL: 'mock-base-url',
138-
MIDSCENE_VL_MODE: 'gemini',
136+
MIDSCENE_MODEL_API_KEY: 'mock-api-key',
137+
MIDSCENE_MODEL_BASE_URL: 'mock-base-url',
138+
MIDSCENE_LOCATOR_MODE: 'gemini',
139139
};
140140

141141
expect(() => {

packages/shared/src/env/constants.ts

Lines changed: 54 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,35 @@
11
import {
2+
MIDSCENE_GROUNDING_LOCATOR_MODE,
3+
MIDSCENE_GROUNDING_MODEL_API_KEY,
4+
MIDSCENE_GROUNDING_MODEL_BASE_URL,
5+
MIDSCENE_GROUNDING_MODEL_HTTP_PROXY,
6+
MIDSCENE_GROUNDING_MODEL_INIT_CONFIG_JSON,
27
MIDSCENE_GROUNDING_MODEL_NAME,
3-
MIDSCENE_GROUNDING_OPENAI_API_KEY,
4-
MIDSCENE_GROUNDING_OPENAI_BASE_URL,
5-
MIDSCENE_GROUNDING_OPENAI_HTTP_PROXY,
6-
MIDSCENE_GROUNDING_OPENAI_INIT_CONFIG_JSON,
7-
MIDSCENE_GROUNDING_OPENAI_SOCKS_PROXY,
8-
MIDSCENE_GROUNDING_VL_MODE,
8+
MIDSCENE_GROUNDING_MODEL_SOCKS_PROXY,
9+
MIDSCENE_LOCATOR_MODE,
10+
MIDSCENE_MODEL_API_KEY,
11+
MIDSCENE_MODEL_BASE_URL,
12+
MIDSCENE_MODEL_HTTP_PROXY,
13+
MIDSCENE_MODEL_INIT_CONFIG_JSON,
914
MIDSCENE_MODEL_NAME,
10-
MIDSCENE_OPENAI_API_KEY,
11-
MIDSCENE_OPENAI_BASE_URL,
12-
MIDSCENE_OPENAI_HTTP_PROXY,
13-
MIDSCENE_OPENAI_INIT_CONFIG_JSON,
14-
MIDSCENE_OPENAI_SOCKS_PROXY,
15+
MIDSCENE_MODEL_SOCKS_PROXY,
16+
MIDSCENE_PLANNING_LOCATOR_MODE,
17+
MIDSCENE_PLANNING_MODEL_API_KEY,
18+
MIDSCENE_PLANNING_MODEL_BASE_URL,
19+
MIDSCENE_PLANNING_MODEL_HTTP_PROXY,
20+
MIDSCENE_PLANNING_MODEL_INIT_CONFIG_JSON,
1521
MIDSCENE_PLANNING_MODEL_NAME,
16-
MIDSCENE_PLANNING_OPENAI_API_KEY,
17-
MIDSCENE_PLANNING_OPENAI_BASE_URL,
18-
MIDSCENE_PLANNING_OPENAI_HTTP_PROXY,
19-
MIDSCENE_PLANNING_OPENAI_INIT_CONFIG_JSON,
20-
MIDSCENE_PLANNING_OPENAI_SOCKS_PROXY,
21-
MIDSCENE_PLANNING_VL_MODE,
22-
MIDSCENE_VL_MODE,
22+
MIDSCENE_PLANNING_MODEL_SOCKS_PROXY,
23+
MIDSCENE_VQA_LOCATOR_MODE,
24+
MIDSCENE_VQA_MODEL_API_KEY,
25+
MIDSCENE_VQA_MODEL_BASE_URL,
26+
MIDSCENE_VQA_MODEL_HTTP_PROXY,
27+
MIDSCENE_VQA_MODEL_INIT_CONFIG_JSON,
2328
// VQA
2429
MIDSCENE_VQA_MODEL_NAME,
25-
MIDSCENE_VQA_OPENAI_API_KEY,
26-
MIDSCENE_VQA_OPENAI_BASE_URL,
27-
MIDSCENE_VQA_OPENAI_HTTP_PROXY,
28-
MIDSCENE_VQA_OPENAI_INIT_CONFIG_JSON,
29-
MIDSCENE_VQA_OPENAI_SOCKS_PROXY,
30-
MIDSCENE_VQA_VL_MODE,
30+
MIDSCENE_VQA_MODEL_SOCKS_PROXY,
31+
MODEL_API_KEY,
32+
MODEL_BASE_URL,
3133
OPENAI_API_KEY,
3234
OPENAI_BASE_URL,
3335
} from './types';
@@ -56,56 +58,56 @@ export const VQA_MODEL_CONFIG_KEYS: IModelConfigKeys = {
5658
/**
5759
* proxy
5860
*/
59-
socksProxy: MIDSCENE_VQA_OPENAI_SOCKS_PROXY,
60-
httpProxy: MIDSCENE_VQA_OPENAI_HTTP_PROXY,
61+
socksProxy: MIDSCENE_VQA_MODEL_SOCKS_PROXY,
62+
httpProxy: MIDSCENE_VQA_MODEL_HTTP_PROXY,
6163
/**
6264
* OpenAI
6365
*/
64-
openaiBaseURL: MIDSCENE_VQA_OPENAI_BASE_URL,
65-
openaiApiKey: MIDSCENE_VQA_OPENAI_API_KEY,
66-
openaiExtraConfig: MIDSCENE_VQA_OPENAI_INIT_CONFIG_JSON,
66+
openaiBaseURL: MIDSCENE_VQA_MODEL_BASE_URL,
67+
openaiApiKey: MIDSCENE_VQA_MODEL_API_KEY,
68+
openaiExtraConfig: MIDSCENE_VQA_MODEL_INIT_CONFIG_JSON,
6769
/**
6870
* Extra
6971
*/
70-
vlMode: MIDSCENE_VQA_VL_MODE,
72+
vlMode: MIDSCENE_VQA_LOCATOR_MODE,
7173
} as const;
7274

7375
export const GROUNDING_MODEL_CONFIG_KEYS: IModelConfigKeys = {
7476
modelName: MIDSCENE_GROUNDING_MODEL_NAME,
7577
/**
7678
* proxy
7779
*/
78-
socksProxy: MIDSCENE_GROUNDING_OPENAI_SOCKS_PROXY,
79-
httpProxy: MIDSCENE_GROUNDING_OPENAI_HTTP_PROXY,
80+
socksProxy: MIDSCENE_GROUNDING_MODEL_SOCKS_PROXY,
81+
httpProxy: MIDSCENE_GROUNDING_MODEL_HTTP_PROXY,
8082
/**
8183
* OpenAI
8284
*/
83-
openaiBaseURL: MIDSCENE_GROUNDING_OPENAI_BASE_URL,
84-
openaiApiKey: MIDSCENE_GROUNDING_OPENAI_API_KEY,
85-
openaiExtraConfig: MIDSCENE_GROUNDING_OPENAI_INIT_CONFIG_JSON,
85+
openaiBaseURL: MIDSCENE_GROUNDING_MODEL_BASE_URL,
86+
openaiApiKey: MIDSCENE_GROUNDING_MODEL_API_KEY,
87+
openaiExtraConfig: MIDSCENE_GROUNDING_MODEL_INIT_CONFIG_JSON,
8688
/**
8789
* Extra
8890
*/
89-
vlMode: MIDSCENE_GROUNDING_VL_MODE,
91+
vlMode: MIDSCENE_GROUNDING_LOCATOR_MODE,
9092
} as const;
9193

9294
export const PLANNING_MODEL_CONFIG_KEYS: IModelConfigKeys = {
9395
modelName: MIDSCENE_PLANNING_MODEL_NAME,
9496
/**
9597
* proxy
9698
*/
97-
socksProxy: MIDSCENE_PLANNING_OPENAI_SOCKS_PROXY,
98-
httpProxy: MIDSCENE_PLANNING_OPENAI_HTTP_PROXY,
99+
socksProxy: MIDSCENE_PLANNING_MODEL_SOCKS_PROXY,
100+
httpProxy: MIDSCENE_PLANNING_MODEL_HTTP_PROXY,
99101
/**
100102
* OpenAI
101103
*/
102-
openaiBaseURL: MIDSCENE_PLANNING_OPENAI_BASE_URL,
103-
openaiApiKey: MIDSCENE_PLANNING_OPENAI_API_KEY,
104-
openaiExtraConfig: MIDSCENE_PLANNING_OPENAI_INIT_CONFIG_JSON,
104+
openaiBaseURL: MIDSCENE_PLANNING_MODEL_BASE_URL,
105+
openaiApiKey: MIDSCENE_PLANNING_MODEL_API_KEY,
106+
openaiExtraConfig: MIDSCENE_PLANNING_MODEL_INIT_CONFIG_JSON,
105107
/**
106108
* Extra
107109
*/
108-
vlMode: MIDSCENE_PLANNING_VL_MODE,
110+
vlMode: MIDSCENE_PLANNING_LOCATOR_MODE,
109111
} as const;
110112

111113
// modelConfig return default
@@ -114,18 +116,18 @@ export const DEFAULT_MODEL_CONFIG_KEYS: IModelConfigKeys = {
114116
/**
115117
* proxy
116118
*/
117-
socksProxy: MIDSCENE_OPENAI_SOCKS_PROXY,
118-
httpProxy: MIDSCENE_OPENAI_HTTP_PROXY,
119+
socksProxy: MIDSCENE_MODEL_SOCKS_PROXY,
120+
httpProxy: MIDSCENE_MODEL_HTTP_PROXY,
119121
/**
120122
* OpenAI
121123
*/
122-
openaiBaseURL: MIDSCENE_OPENAI_BASE_URL,
123-
openaiApiKey: MIDSCENE_OPENAI_API_KEY,
124-
openaiExtraConfig: MIDSCENE_OPENAI_INIT_CONFIG_JSON,
124+
openaiBaseURL: MIDSCENE_MODEL_BASE_URL,
125+
openaiApiKey: MIDSCENE_MODEL_API_KEY,
126+
openaiExtraConfig: MIDSCENE_MODEL_INIT_CONFIG_JSON,
125127
/**
126128
* Extra
127129
*/
128-
vlMode: MIDSCENE_VL_MODE,
130+
vlMode: MIDSCENE_LOCATOR_MODE,
129131
} as const;
130132

131133
// read from process.env
@@ -134,14 +136,14 @@ export const DEFAULT_MODEL_CONFIG_KEYS_LEGACY: IModelConfigKeys = {
134136
/**
135137
* proxy
136138
*/
137-
socksProxy: MIDSCENE_OPENAI_SOCKS_PROXY,
138-
httpProxy: MIDSCENE_OPENAI_HTTP_PROXY,
139+
socksProxy: MIDSCENE_MODEL_SOCKS_PROXY,
140+
httpProxy: MIDSCENE_MODEL_HTTP_PROXY,
139141
/**
140-
* OpenAI
142+
* OpenAI - Uses legacy OPENAI_* variables for backward compatibility
141143
*/
142144
openaiBaseURL: OPENAI_BASE_URL,
143145
openaiApiKey: OPENAI_API_KEY,
144-
openaiExtraConfig: MIDSCENE_OPENAI_INIT_CONFIG_JSON,
146+
openaiExtraConfig: MIDSCENE_MODEL_INIT_CONFIG_JSON,
145147
/**
146148
* Extra
147149
*/

0 commit comments

Comments
 (0)