chore(stage-ui): respect README order

This commit is contained in:
Neko Ayaka
2025-07-05 23:29:22 +08:00
parent 24d2ce3cd9
commit 3814dd71a5
+103 -103
View File
@@ -173,109 +173,6 @@ export const useProvidersStore = defineStore('providers', () => {
// Centralized provider metadata with provider factory functions
const providerMetadata: Record<string, ProviderMetadata> = {
'player2': {
id: 'player2',
category: 'chat',
tasks: ['text-generation'],
nameKey: 'settings.pages.providers.provider.player2.title',
name: 'Player2',
descriptionKey: 'settings.pages.providers.provider.player2.description',
description: 'player2.game',
icon: 'i-lobe-icons:player2',
defaultOptions: () => ({
baseUrl: 'http://localhost:4315/v1/',
}),
createProvider: (config) => {
return createPlayer2((config.baseUrl as string).trim())
},
capabilities: {
listModels: async () => [
{
id: 'player2-model',
name: 'Player2 Model',
provider: 'player2',
},
],
},
validators: {
validateProviderConfig: (config) => {
return !!config.baseUrl
},
},
},
'player2-speech': {
id: 'player2-speech',
category: 'speech',
tasks: ['text-to-speech'],
nameKey: 'settings.pages.providers.provider.player2.title',
name: 'Player2 Speech',
descriptionKey: 'settings.pages.providers.provider.player2.description',
description: 'player2.game',
icon: 'i-lobe-icons:player2',
defaultOptions: () => ({
baseUrl: 'http://localhost:4315/v1/',
}),
createProvider: config => createPlayer2((config.baseUrl as string).trim(), 'airi'),
capabilities: {
listVoices: async () => {
return await fetch('http://localhost:4315/v1/tts/voices').then(res => res.json()).then(({ voices }) => (voices as { id: string, language: 'american_english' | 'british_english' | 'japanese' | 'mandarin_chinese' | 'spanish' | 'french' | 'hindi' | 'italian' | 'brazilian_portuguese', name: string, gender: string }[]).map(({ id, language, name, gender }) => (
{
id,
name,
provider: 'player2-speech',
gender,
languages: [{
american_english: {
code: 'en',
title: 'English',
},
british_english: {
code: 'en',
title: 'English',
},
japanese: {
code: 'ja',
title: 'Japanese',
},
mandarin_chinese: {
code: 'zh',
title: 'Chinese',
},
spanish: {
code: 'es',
title: 'Spanish',
},
french: {
code: 'fr',
title: 'French',
},
hindi: {
code: 'hi',
title: 'Hindi',
},
italian: {
code: 'it',
title: 'Italian',
},
brazilian_portuguese:
{
code: 'pt',
title: 'Portuguese',
},
}[language]],
}
)))
},
},
validators: {
validateProviderConfig: (config: any) => {
return !!config.baseUrl
},
},
},
'openrouter-ai': {
id: 'openrouter-ai',
category: 'chat',
@@ -1432,6 +1329,109 @@ export const useProvidersStore = defineStore('providers', () => {
},
},
},
'player2': {
id: 'player2',
category: 'chat',
tasks: ['text-generation'],
nameKey: 'settings.pages.providers.provider.player2.title',
name: 'Player2',
descriptionKey: 'settings.pages.providers.provider.player2.description',
description: 'player2.game',
icon: 'i-lobe-icons:player2',
defaultOptions: () => ({
baseUrl: 'http://localhost:4315/v1/',
}),
createProvider: (config) => {
return createPlayer2((config.baseUrl as string).trim())
},
capabilities: {
listModels: async () => [
{
id: 'player2-model',
name: 'Player2 Model',
provider: 'player2',
},
],
},
validators: {
validateProviderConfig: (config) => {
return !!config.baseUrl
},
},
},
'player2-speech': {
id: 'player2-speech',
category: 'speech',
tasks: ['text-to-speech'],
nameKey: 'settings.pages.providers.provider.player2.title',
name: 'Player2 Speech',
descriptionKey: 'settings.pages.providers.provider.player2.description',
description: 'player2.game',
icon: 'i-lobe-icons:player2',
defaultOptions: () => ({
baseUrl: 'http://localhost:4315/v1/',
}),
createProvider: config => createPlayer2((config.baseUrl as string).trim(), 'airi'),
capabilities: {
listVoices: async () => {
return await fetch('http://localhost:4315/v1/tts/voices').then(res => res.json()).then(({ voices }) => (voices as { id: string, language: 'american_english' | 'british_english' | 'japanese' | 'mandarin_chinese' | 'spanish' | 'french' | 'hindi' | 'italian' | 'brazilian_portuguese', name: string, gender: string }[]).map(({ id, language, name, gender }) => (
{
id,
name,
provider: 'player2-speech',
gender,
languages: [{
american_english: {
code: 'en',
title: 'English',
},
british_english: {
code: 'en',
title: 'English',
},
japanese: {
code: 'ja',
title: 'Japanese',
},
mandarin_chinese: {
code: 'zh',
title: 'Chinese',
},
spanish: {
code: 'es',
title: 'Spanish',
},
french: {
code: 'fr',
title: 'French',
},
hindi: {
code: 'hi',
title: 'Hindi',
},
italian: {
code: 'it',
title: 'Italian',
},
brazilian_portuguese:
{
code: 'pt',
title: 'Portuguese',
},
}[language]],
}
)))
},
},
validators: {
validateProviderConfig: (config: any) => {
return !!config.baseUrl
},
},
},
}
// Configuration validation functions