Skip to content

Commit f31c9e6

Browse files
authored
feat: support voice.ai (#1291)
1 parent c7941f5 commit f31c9e6

43 files changed

Lines changed: 1753 additions & 11 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

electron.vite.config.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import monacoEditorPlugin from 'vite-plugin-monaco-editor-esm'
77
import path from 'node:path'
88
import tailwindcss from '@tailwindcss/vite'
99

10+
const isCustomElement = (tag: string) =>
11+
tag === 'voice-agent-widget' || tag.startsWith('ui-resource-renderer')
1012

1113
export default defineConfig({
1214
main: {
@@ -82,8 +84,7 @@ export default defineConfig({
8284
vue({
8385
template: {
8486
compilerOptions: {
85-
// 将所有带短横线的标签名都视为自定义元素
86-
isCustomElement: (tag) => tag.startsWith('ui-resource-renderer')
87+
isCustomElement
8788
}
8889
}
8990
}),

src/main/presenter/configPresenter/providers.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,21 @@ export const DEFAULT_PROVIDERS: LLM_PROVIDER_BASE[] = [
217217
defaultBaseUrl: 'https://api.openai.com/v1'
218218
}
219219
},
220+
{
221+
id: 'voiceai',
222+
name: 'Voice.ai',
223+
apiType: 'voiceai',
224+
apiKey: '',
225+
baseUrl: 'https://dev.voice.ai',
226+
enable: false,
227+
websites: {
228+
official: 'https://voice.ai/',
229+
apiKey: 'https://voice.ai/app/dashboard/developers',
230+
docs: 'https://voice.ai/docs/introduction',
231+
models: 'https://voice.ai/docs/api-reference/text-to-speech/list-voices',
232+
defaultBaseUrl: 'https://dev.voice.ai'
233+
}
234+
},
220235
{
221236
id: 'gemini',
222237
name: 'Gemini',

src/main/presenter/llmProviderPresenter/managers/providerInstanceManager.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ import { PoeProvider } from '../providers/poeProvider'
3434
import { JiekouProvider } from '../providers/jiekouProvider'
3535
import { ZenmuxProvider } from '../providers/zenmuxProvider'
3636
import { O3fanProvider } from '../providers/o3fanProvider'
37+
import { VoiceAIProvider } from '../providers/voiceAIProvider'
3738
import { RateLimitManager } from './rateLimitManager'
3839
import { StreamState } from '../types'
3940
import { AcpSessionPersistence } from '../../agentPresenter/acp'
@@ -85,6 +86,7 @@ export class ProviderInstanceManager {
8586
['anthropic', AnthropicProvider],
8687
['doubao', DoubaoProvider],
8788
['openai', OpenAIProvider],
89+
['voiceai', VoiceAIProvider],
8890
['openai-responses', OpenAIResponsesProvider],
8991
['cherryin', CherryInProvider],
9092
['lmstudio', LMStudioProvider],
@@ -117,6 +119,7 @@ export class ProviderInstanceManager {
117119
['anthropic', AnthropicProvider],
118120
['doubao', DoubaoProvider],
119121
['openai', OpenAIProvider],
122+
['voiceai', VoiceAIProvider],
120123
['openai-compatible', OpenAICompatibleProvider],
121124
['openai-responses', OpenAIResponsesProvider],
122125
['lmstudio', LMStudioProvider],

0 commit comments

Comments
 (0)