Skip to content

Commit 13eae77

Browse files
Fix: Correct LLM provider naming in UI and internal code
- ChatGPT (API) -> OpenAI (API) - ChatGPT (Azure API) -> Azure OpenAI (API) - Claude.ai (API) -> Anthropic (API) - Rename generateAnswersWithChatgptApi -> generateAnswersWithOpenAiApi OpenAI and Anthropic are company names that provide APIs. ChatGPT and Claude are product names (used for Web mode, which is unchanged).
1 parent ab628e1 commit 13eae77

File tree

10 files changed

+60
-60
lines changed

10 files changed

+60
-60
lines changed

src/background/index.mjs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import {
66
} from '../services/apis/chatgpt-web'
77
import { generateAnswersWithBingWebApi } from '../services/apis/bing-web.mjs'
88
import {
9-
generateAnswersWithChatgptApi,
9+
generateAnswersWithOpenAiApi,
1010
generateAnswersWithGptCompletionApi,
1111
} from '../services/apis/openai-api'
1212
import { generateAnswersWithCustomApi } from '../services/apis/custom-api.mjs'
@@ -582,8 +582,8 @@ async function executeApi(session, port, config) {
582582
const cookies = await getBardCookies()
583583
await generateAnswersWithBardWebApi(port, session.question, session, cookies)
584584
} else if (isUsingChatgptApiModel(session)) {
585-
console.debug('[background] Using ChatGPT API Model')
586-
await generateAnswersWithChatgptApi(port, session.question, session, config.apiKey)
585+
console.debug('[background] Using OpenAI API Model')
586+
await generateAnswersWithOpenAiApi(port, session.question, session, config.apiKey)
587587
} else if (isUsingClaudeApiModel(session)) {
588588
console.debug('[background] Using Claude API Model')
589589
await generateAnswersWithClaudeApi(port, session.question, session)

src/config/index.mjs

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -156,11 +156,11 @@ export const ModelGroups = {
156156

157157
chatgptApiModelKeys: {
158158
value: chatgptApiModelKeys,
159-
desc: 'ChatGPT (API)',
159+
desc: 'OpenAI (API)',
160160
},
161161
claudeApiModelKeys: {
162162
value: claudeApiModelKeys,
163-
desc: 'Claude.ai (API)',
163+
desc: 'Anthropic (API)',
164164
},
165165
moonshotApiModelKeys: {
166166
value: moonshotApiModelKeys,
@@ -176,7 +176,7 @@ export const ModelGroups = {
176176
},
177177
azureOpenAiApiModelKeys: {
178178
value: azureOpenAiApiModelKeys,
179-
desc: 'ChatGPT (Azure API)',
179+
desc: 'Azure OpenAI (API)',
180180
},
181181
gptApiModelKeys: {
182182
value: gptApiModelKeys,
@@ -220,75 +220,75 @@ export const Models = {
220220
chatgptPlus4: { value: 'gpt-4', desc: 'ChatGPT (Web, GPT-4)' },
221221
chatgptPlus4Browsing: { value: 'gpt-4', desc: 'ChatGPT (Web, GPT-4)' }, // for compatibility
222222

223-
chatgptApi35: { value: 'gpt-3.5-turbo', desc: 'ChatGPT (GPT-3.5-turbo)' },
224-
chatgptApi35_16k: { value: 'gpt-3.5-turbo-16k', desc: 'ChatGPT (GPT-3.5-turbo-16k)' },
223+
chatgptApi35: { value: 'gpt-3.5-turbo', desc: 'OpenAI (GPT-3.5-turbo)' },
224+
chatgptApi35_16k: { value: 'gpt-3.5-turbo-16k', desc: 'OpenAI (GPT-3.5-turbo-16k)' },
225225

226-
chatgptApi4o_128k: { value: 'gpt-4o', desc: 'ChatGPT (GPT-4o, 128k)' },
227-
chatgptApi4oMini: { value: 'gpt-4o-mini', desc: 'ChatGPT (GPT-4o mini)' },
228-
chatgptApi4_8k: { value: 'gpt-4', desc: 'ChatGPT (GPT-4-8k)' },
226+
chatgptApi4o_128k: { value: 'gpt-4o', desc: 'OpenAI (GPT-4o, 128k)' },
227+
chatgptApi4oMini: { value: 'gpt-4o-mini', desc: 'OpenAI (GPT-4o mini)' },
228+
chatgptApi4_8k: { value: 'gpt-4', desc: 'OpenAI (GPT-4-8k)' },
229229
chatgptApi4_128k: {
230230
value: 'gpt-4-turbo',
231-
desc: 'ChatGPT (GPT-4-Turbo 128k)',
231+
desc: 'OpenAI (GPT-4-Turbo 128k)',
232232
},
233233
chatgptApi4_128k_preview: {
234234
value: 'gpt-4-turbo-preview',
235-
desc: 'ChatGPT (GPT-4-Turbo 128k Preview)',
235+
desc: 'OpenAI (GPT-4-Turbo 128k Preview)',
236236
},
237237
chatgptApi4_128k_1106_preview: {
238238
value: 'gpt-4-1106-preview',
239-
desc: 'ChatGPT (GPT-4-Turbo 128k 1106 Preview)',
239+
desc: 'OpenAI (GPT-4-Turbo 128k 1106 Preview)',
240240
},
241241
chatgptApi4_128k_0125_preview: {
242242
value: 'gpt-4-0125-preview',
243-
desc: 'ChatGPT (GPT-4-Turbo 128k 0125 Preview)',
243+
desc: 'OpenAI (GPT-4-Turbo 128k 0125 Preview)',
244244
},
245-
chatgptApi5Latest: { value: 'gpt-5-chat-latest', desc: 'ChatGPT (ChatGPT-5 latest)' },
246-
chatgptApi5_1Latest: { value: 'gpt-5.1-chat-latest', desc: 'ChatGPT (ChatGPT-5.1 latest)' },
245+
chatgptApi5Latest: { value: 'gpt-5-chat-latest', desc: 'OpenAI (GPT-5 latest)' },
246+
chatgptApi5_1Latest: { value: 'gpt-5.1-chat-latest', desc: 'OpenAI (GPT-5.1 latest)' },
247247

248-
chatgptApi4_1: { value: 'gpt-4.1', desc: 'ChatGPT (GPT-4.1)' },
249-
chatgptApi4_1_mini: { value: 'gpt-4.1-mini', desc: 'ChatGPT (GPT-4.1 mini)' },
250-
chatgptApi4_1_nano: { value: 'gpt-4.1-nano', desc: 'ChatGPT (GPT-4.1 nano)' },
248+
chatgptApi4_1: { value: 'gpt-4.1', desc: 'OpenAI (GPT-4.1)' },
249+
chatgptApi4_1_mini: { value: 'gpt-4.1-mini', desc: 'OpenAI (GPT-4.1 mini)' },
250+
chatgptApi4_1_nano: { value: 'gpt-4.1-nano', desc: 'OpenAI (GPT-4.1 nano)' },
251251

252252
claude2WebFree: { value: '', desc: 'Claude.ai (Web)' },
253253
claude3HaikuApi: {
254254
value: 'claude-3-haiku-20240307',
255-
desc: 'Claude.ai (API, Claude 3 Haiku)',
255+
desc: 'Anthropic (API, Claude 3 Haiku)',
256256
},
257257
claude35HaikuApi: {
258258
value: 'claude-3-5-haiku-20241022',
259-
desc: 'Claude.ai (API, Claude 3.5 Haiku)',
259+
desc: 'Anthropic (API, Claude 3.5 Haiku)',
260260
},
261261
claude37SonnetApi: {
262262
value: 'claude-3-7-sonnet-20250219',
263-
desc: 'Claude.ai (API, Claude 3.7 Sonnet)',
263+
desc: 'Anthropic (API, Claude 3.7 Sonnet)',
264264
},
265265
claudeOpus4Api: {
266266
value: 'claude-opus-4-20250514',
267-
desc: 'Claude.ai (API, Claude Opus 4)',
267+
desc: 'Anthropic (API, Claude Opus 4)',
268268
},
269269
claudeOpus41Api: {
270270
value: 'claude-opus-4-1-20250805',
271-
desc: 'Claude.ai (API, Claude Opus 4.1)',
271+
desc: 'Anthropic (API, Claude Opus 4.1)',
272272
},
273273
claudeOpus45Api: {
274274
value: 'claude-opus-4-5',
275-
desc: 'Claude.ai (API, Claude Opus 4.5)',
275+
desc: 'Anthropic (API, Claude Opus 4.5)',
276276
},
277277
claudeOpus46Api: {
278278
value: 'claude-opus-4-6',
279-
desc: 'Claude.ai (API, Claude Opus 4.6)',
279+
desc: 'Anthropic (API, Claude Opus 4.6)',
280280
},
281281
claudeSonnet4Api: {
282282
value: 'claude-sonnet-4-20250514',
283-
desc: 'Claude.ai (API, Claude Sonnet 4)',
283+
desc: 'Anthropic (API, Claude Sonnet 4)',
284284
},
285285
claudeSonnet45Api: {
286286
value: 'claude-sonnet-4-5-20250929',
287-
desc: 'Claude.ai (API, Claude Sonnet 4.5)',
287+
desc: 'Anthropic (API, Claude Sonnet 4.5)',
288288
},
289289
claudeHaiku45Api: {
290290
value: 'claude-haiku-4-5-20251001',
291-
desc: 'Claude.ai (API, Claude Haiku 4.5)',
291+
desc: 'Anthropic (API, Claude Haiku 4.5)',
292292
},
293293

294294
bingFree4: { value: '', desc: 'Bing (Web, GPT-4)' },
@@ -311,15 +311,15 @@ export const Models = {
311311
chatgptFree35Mobile: { value: 'text-davinci-002-render-sha-mobile', desc: 'ChatGPT (Mobile)' },
312312
chatgptPlus4Mobile: { value: 'gpt-4-mobile', desc: 'ChatGPT (Mobile, GPT-4)' },
313313

314-
chatgptApi35_1106: { value: 'gpt-3.5-turbo-1106', desc: 'ChatGPT (GPT-3.5-turbo 1106)' },
315-
chatgptApi35_0125: { value: 'gpt-3.5-turbo-0125', desc: 'ChatGPT (GPT-3.5-turbo 0125)' },
316-
chatgptApi4_8k_0613: { value: 'gpt-4', desc: 'ChatGPT (GPT-4-8k 0613)' },
314+
chatgptApi35_1106: { value: 'gpt-3.5-turbo-1106', desc: 'OpenAI (GPT-3.5-turbo 1106)' },
315+
chatgptApi35_0125: { value: 'gpt-3.5-turbo-0125', desc: 'OpenAI (GPT-3.5-turbo 0125)' },
316+
chatgptApi4_8k_0613: { value: 'gpt-4', desc: 'OpenAI (GPT-4-8k 0613)' },
317317

318318
gptApiInstruct: { value: 'gpt-3.5-turbo-instruct', desc: 'GPT-3.5-turbo Instruct' },
319319

320320
customModel: { value: '', desc: 'Custom Model' },
321321
ollamaModel: { value: '', desc: 'Ollama API' },
322-
azureOpenAi: { value: '', desc: 'ChatGPT (Azure)' },
322+
azureOpenAi: { value: '', desc: 'Azure OpenAI' },
323323
waylaidwandererApi: { value: '', desc: 'Waylaidwanderer API (Github)' },
324324

325325
poeAiWebSage: { value: 'Assistant', desc: 'Poe AI (Web, Assistant)' },

src/services/apis/aiml-api.mjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { generateAnswersWithChatgptApiCompat } from './openai-api.mjs'
1+
import { generateAnswersWithOpenAiApiCompat } from './openai-api.mjs'
22

33
/**
44
* @param {Browser.Runtime.Port} port
@@ -8,5 +8,5 @@ import { generateAnswersWithChatgptApiCompat } from './openai-api.mjs'
88
*/
99
export async function generateAnswersWithAimlApi(port, question, session, apiKey) {
1010
const baseUrl = 'https://api.aimlapi.com/v1'
11-
return generateAnswersWithChatgptApiCompat(baseUrl, port, question, session, apiKey)
11+
return generateAnswersWithOpenAiApiCompat(baseUrl, port, question, session, apiKey)
1212
}

src/services/apis/chatglm-api.mjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { getUserConfig } from '../../config/index.mjs'
22
// import { getToken } from '../../utils/jwt-token-generator.mjs'
3-
import { generateAnswersWithChatgptApiCompat } from './openai-api.mjs'
3+
import { generateAnswersWithOpenAiApiCompat } from './openai-api.mjs'
44

55
/**
66
* @param {Runtime.Port} port
@@ -10,5 +10,5 @@ import { generateAnswersWithChatgptApiCompat } from './openai-api.mjs'
1010
export async function generateAnswersWithChatGLMApi(port, question, session) {
1111
const baseUrl = 'https://open.bigmodel.cn/api/paas/v4'
1212
const config = await getUserConfig()
13-
return generateAnswersWithChatgptApiCompat(baseUrl, port, question, session, config.chatglmApiKey)
13+
return generateAnswersWithOpenAiApiCompat(baseUrl, port, question, session, config.chatglmApiKey)
1414
}

src/services/apis/deepseek-api.mjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { generateAnswersWithChatgptApiCompat } from './openai-api.mjs'
1+
import { generateAnswersWithOpenAiApiCompat } from './openai-api.mjs'
22

33
/**
44
* @param {Browser.Runtime.Port} port
@@ -8,5 +8,5 @@ import { generateAnswersWithChatgptApiCompat } from './openai-api.mjs'
88
*/
99
export async function generateAnswersWithDeepSeekApi(port, question, session, apiKey) {
1010
const baseUrl = 'https://api.deepseek.com'
11-
return generateAnswersWithChatgptApiCompat(baseUrl, port, question, session, apiKey)
11+
return generateAnswersWithOpenAiApiCompat(baseUrl, port, question, session, apiKey)
1212
}

src/services/apis/moonshot-api.mjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { generateAnswersWithChatgptApiCompat } from './openai-api.mjs'
1+
import { generateAnswersWithOpenAiApiCompat } from './openai-api.mjs'
22

33
/**
44
* @param {Browser.Runtime.Port} port
@@ -8,5 +8,5 @@ import { generateAnswersWithChatgptApiCompat } from './openai-api.mjs'
88
*/
99
export async function generateAnswersWithMoonshotCompletionApi(port, question, session, apiKey) {
1010
const baseUrl = 'https://api.moonshot.cn/v1'
11-
return generateAnswersWithChatgptApiCompat(baseUrl, port, question, session, apiKey)
11+
return generateAnswersWithOpenAiApiCompat(baseUrl, port, question, session, apiKey)
1212
}

src/services/apis/ollama-api.mjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { getUserConfig } from '../../config/index.mjs'
2-
import { generateAnswersWithChatgptApiCompat } from './openai-api.mjs'
2+
import { generateAnswersWithOpenAiApiCompat } from './openai-api.mjs'
33
import { getModelValue } from '../../utils/model-name-convert.mjs'
44

55
/**
@@ -10,7 +10,7 @@ import { getModelValue } from '../../utils/model-name-convert.mjs'
1010
export async function generateAnswersWithOllamaApi(port, question, session) {
1111
const config = await getUserConfig()
1212
const model = getModelValue(session)
13-
return generateAnswersWithChatgptApiCompat(
13+
return generateAnswersWithOpenAiApiCompat(
1414
config.ollamaEndpoint + '/v1',
1515
port,
1616
question,

src/services/apis/openai-api.mjs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -96,9 +96,9 @@ export async function generateAnswersWithGptCompletionApi(port, question, sessio
9696
* @param {Session} session
9797
* @param {string} apiKey
9898
*/
99-
export async function generateAnswersWithChatgptApi(port, question, session, apiKey) {
99+
export async function generateAnswersWithOpenAiApi(port, question, session, apiKey) {
100100
const config = await getUserConfig()
101-
return generateAnswersWithChatgptApiCompat(
101+
return generateAnswersWithOpenAiApiCompat(
102102
config.customOpenAiApiUrl + '/v1',
103103
port,
104104
question,
@@ -109,7 +109,7 @@ export async function generateAnswersWithChatgptApi(port, question, session, api
109109
)
110110
}
111111

112-
export async function generateAnswersWithChatgptApiCompat(
112+
export async function generateAnswersWithOpenAiApiCompat(
113113
baseUrl,
114114
port,
115115
question,
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { generateAnswersWithChatgptApiCompat } from './openai-api.mjs'
1+
import { generateAnswersWithOpenAiApiCompat } from './openai-api.mjs'
22

33
/**
44
* @param {Browser.Runtime.Port} port
@@ -8,5 +8,5 @@ import { generateAnswersWithChatgptApiCompat } from './openai-api.mjs'
88
*/
99
export async function generateAnswersWithOpenRouterApi(port, question, session, apiKey) {
1010
const baseUrl = 'https://openrouter.ai/api/v1'
11-
return generateAnswersWithChatgptApiCompat(baseUrl, port, question, session, apiKey)
11+
return generateAnswersWithOpenAiApiCompat(baseUrl, port, question, session, apiKey)
1212
}

tests/unit/services/apis/openai-api-compat.test.mjs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import assert from 'node:assert/strict'
22
import { beforeEach, test } from 'node:test'
33
import {
4-
generateAnswersWithChatgptApiCompat,
4+
generateAnswersWithOpenAiApiCompat,
55
generateAnswersWithGptCompletionApi,
66
} from '../../../../src/services/apis/openai-api.mjs'
77
import { createFakePort } from '../../helpers/port.mjs'
@@ -15,7 +15,7 @@ beforeEach(() => {
1515
globalThis.__TEST_BROWSER_SHIM__.clearStorage()
1616
})
1717

18-
test('generateAnswersWithChatgptApiCompat sends expected request and aggregates SSE deltas', async (t) => {
18+
test('generateAnswersWithOpenAiApiCompat sends expected request and aggregates SSE deltas', async (t) => {
1919
t.mock.method(console, 'debug', () => {})
2020
setStorage({
2121
maxConversationContextLength: 3,
@@ -41,7 +41,7 @@ test('generateAnswersWithChatgptApiCompat sends expected request and aggregates
4141
])
4242
})
4343

44-
await generateAnswersWithChatgptApiCompat(
44+
await generateAnswersWithOpenAiApiCompat(
4545
'https://api.example.com/v1',
4646
port,
4747
'CurrentQ',
@@ -79,7 +79,7 @@ test('generateAnswersWithChatgptApiCompat sends expected request and aggregates
7979
assert.deepEqual(session.conversationRecords.at(-1), { question: 'CurrentQ', answer: 'Hello' })
8080
})
8181

82-
test('generateAnswersWithChatgptApiCompat throws on non-ok response with JSON error body', async (t) => {
82+
test('generateAnswersWithOpenAiApiCompat throws on non-ok response with JSON error body', async (t) => {
8383
t.mock.method(console, 'debug', () => {})
8484
setStorage({
8585
maxConversationContextLength: 3,
@@ -104,7 +104,7 @@ test('generateAnswersWithChatgptApiCompat throws on non-ok response with JSON er
104104
)
105105

106106
await assert.rejects(async () => {
107-
await generateAnswersWithChatgptApiCompat(
107+
await generateAnswersWithOpenAiApiCompat(
108108
'https://api.example.com/v1',
109109
port,
110110
'CurrentQ',
@@ -116,7 +116,7 @@ test('generateAnswersWithChatgptApiCompat throws on non-ok response with JSON er
116116
assert.deepEqual(port.listenerCounts(), { onMessage: 0, onDisconnect: 0 })
117117
})
118118

119-
test('generateAnswersWithChatgptApiCompat throws on network error', async (t) => {
119+
test('generateAnswersWithOpenAiApiCompat throws on network error', async (t) => {
120120
t.mock.method(console, 'debug', () => {})
121121
setStorage({
122122
maxConversationContextLength: 3,
@@ -136,7 +136,7 @@ test('generateAnswersWithChatgptApiCompat throws on network error', async (t) =>
136136
})
137137

138138
await assert.rejects(async () => {
139-
await generateAnswersWithChatgptApiCompat(
139+
await generateAnswersWithOpenAiApiCompat(
140140
'https://api.example.com/v1',
141141
port,
142142
'CurrentQ',
@@ -148,7 +148,7 @@ test('generateAnswersWithChatgptApiCompat throws on network error', async (t) =>
148148
assert.deepEqual(port.listenerCounts(), { onMessage: 0, onDisconnect: 0 })
149149
})
150150

151-
test('generateAnswersWithChatgptApiCompat falls back to status text when JSON error parsing fails', async (t) => {
151+
test('generateAnswersWithOpenAiApiCompat falls back to status text when JSON error parsing fails', async (t) => {
152152
t.mock.method(console, 'debug', () => {})
153153
setStorage({
154154
maxConversationContextLength: 3,
@@ -175,7 +175,7 @@ test('generateAnswersWithChatgptApiCompat falls back to status text when JSON er
175175
)
176176

177177
await assert.rejects(async () => {
178-
await generateAnswersWithChatgptApiCompat(
178+
await generateAnswersWithOpenAiApiCompat(
179179
'https://api.example.com/v1',
180180
port,
181181
'CurrentQ',
@@ -187,7 +187,7 @@ test('generateAnswersWithChatgptApiCompat falls back to status text when JSON er
187187
assert.deepEqual(port.listenerCounts(), { onMessage: 0, onDisconnect: 0 })
188188
})
189189

190-
test('generateAnswersWithChatgptApiCompat supports message.content fallback', async (t) => {
190+
test('generateAnswersWithOpenAiApiCompat supports message.content fallback', async (t) => {
191191
t.mock.method(console, 'debug', () => {})
192192
setStorage({
193193
maxConversationContextLength: 2,
@@ -208,7 +208,7 @@ test('generateAnswersWithChatgptApiCompat supports message.content fallback', as
208208
]),
209209
)
210210

211-
await generateAnswersWithChatgptApiCompat(
211+
await generateAnswersWithOpenAiApiCompat(
212212
'https://api.example.com/v1',
213213
port,
214214
'CurrentQ',

0 commit comments

Comments
 (0)