Skip to content

Commit 5bb7836

Browse files
committed
WIP, custom API Modes
1 parent 1d8bcce commit 5bb7836

File tree

4 files changed

+10
-32
lines changed

4 files changed

+10
-32
lines changed

src/popup/sections/ApiModes.jsx

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ const defaultApiMode = {
2525
itemName: 'chatgptFree35',
2626
isCustom: false,
2727
customName: '',
28-
customUrl: '',
28+
customUrl: 'http://localhost:8000/v1/chat/completions',
2929
apiKey: '',
3030
active: true,
3131
}
@@ -99,8 +99,11 @@ export function ApiModes({ config, updateConfig }) {
9999
value={editingApiMode.groupName}
100100
onChange={(e) => {
101101
const groupName = e.target.value
102-
const itemName = ModelGroups[groupName].value[0]
103-
setEditingApiMode({ ...editingApiMode, groupName, itemName })
102+
let itemName = ModelGroups[groupName].value[0]
103+
const isCustom =
104+
editingApiMode.itemName === 'custom' && !AlwaysCustomGroups.includes(groupName)
105+
if (isCustom) itemName = 'custom'
106+
setEditingApiMode({ ...editingApiMode, groupName, itemName, isCustom })
104107
}}
105108
>
106109
{Object.entries(ModelGroups).map(([groupName, { desc }]) => (

src/popup/sections/GeneralPart.jsx

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import {
1414
isUsingChatGLMApiModel,
1515
isUsingClaudeApiModel,
1616
isUsingCustomModel,
17-
isUsingCustomNameOnlyModel,
1817
isUsingOllamaApiModel,
1918
isUsingGithubThirdPartyApiModel,
2019
isUsingMultiModeModel,
@@ -175,10 +174,8 @@ export function GeneralPart({ config, updateConfig, setTabIndex }) {
175174
isUsingOpenAiApiModel(config) ||
176175
isUsingMultiModeModel(config) ||
177176
isUsingCustomModel(config) ||
178-
isUsingOllamaApiModel(config) ||
179177
isUsingAzureOpenAiApiModel(config) ||
180178
isUsingClaudeApiModel(config) ||
181-
isUsingCustomNameOnlyModel(config) ||
182179
isUsingMoonshotApiModel(config)
183180
? 'width: 50%;'
184181
: undefined
@@ -270,30 +267,6 @@ export function GeneralPart({ config, updateConfig, setTabIndex }) {
270267
}}
271268
/>
272269
)}
273-
{isUsingCustomNameOnlyModel(config) && (
274-
<input
275-
style="width: 50%;"
276-
type="text"
277-
value={config.poeCustomBotName}
278-
placeholder={t('Bot Name')}
279-
onChange={(e) => {
280-
const customName = e.target.value
281-
updateConfig({ poeCustomBotName: customName })
282-
}}
283-
/>
284-
)}
285-
{isUsingOllamaApiModel(config) && (
286-
<input
287-
style="width: 50%;"
288-
type="text"
289-
value={config.ollamaModelName}
290-
placeholder={t('Model Name')}
291-
onChange={(e) => {
292-
const ollamaModelName = e.target.value
293-
updateConfig({ ollamaModelName: ollamaModelName })
294-
}}
295-
/>
296-
)}
297270
{isUsingAzureOpenAiApiModel(config) && (
298271
<input
299272
type="password"

src/services/apis/ollama-api.mjs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { getUserConfig } from '../../config/index.mjs'
22
import { generateAnswersWithChatgptApiCompat } from './openai-api.mjs'
3+
import { getModelValue } from '../../utils/model-name-convert.mjs'
34

45
/**
56
* @param {Browser.Runtime.Port} port
@@ -8,6 +9,7 @@ import { generateAnswersWithChatgptApiCompat } from './openai-api.mjs'
89
*/
910
export async function generateAnswersWithOllamaApi(port, question, session) {
1011
const config = await getUserConfig()
12+
const model = getModelValue(session)
1113
return generateAnswersWithChatgptApiCompat(
1214
config.ollamaEndpoint + '/v1',
1315
port,
@@ -22,7 +24,7 @@ export async function generateAnswersWithOllamaApi(port, question, session) {
2224
Authorization: `Bearer ${config.ollamaApiKey}`,
2325
},
2426
body: JSON.stringify({
25-
model: config.ollamaModelName,
27+
model,
2628
prompt: 't',
2729
options: {
2830
num_predict: 1,

src/utils/model-name-convert.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,6 @@ export function isInApiModeGroup(apiModeGroup, configOrSession) {
160160
else foundGroup = getModelNameGroup(configOrSession.modelName)
161161

162162
if (!foundGroup) return false
163-
const [, groupValue] = foundGroup
163+
const [, { value: groupValue }] = foundGroup
164164
return groupValue === apiModeGroup
165165
}

0 commit comments

Comments
 (0)