From d51c2a241cbdd7d74d660c44762824782bf64b8d Mon Sep 17 00:00:00 2001 From: zhuoqinglian <1035449612@qq.com> Date: Fri, 6 Mar 2026 09:40:04 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20mobile=E7=AB=AF=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=B8=8A=E6=8A=A5=E6=A8=A1=E5=BC=8F=E3=80=81?= =?UTF-8?q?=E8=AF=AD=E8=A8=80=E8=AE=BE=E7=BD=AE=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main/manager-mobile/src/api/agent/agent.ts | 16 ++ main/manager-mobile/src/api/agent/types.ts | 6 +- .../src/components/ContextProviderDialog.vue | 2 +- .../src/components/VoiceSettingsDialog.vue | 270 ++++++++++++++++++ main/manager-mobile/src/http/request/alova.ts | 1 + main/manager-mobile/src/i18n/de.ts | 11 + main/manager-mobile/src/i18n/en.ts | 11 + main/manager-mobile/src/i18n/pt_BR.ts | 11 + main/manager-mobile/src/i18n/vi.ts | 11 + main/manager-mobile/src/i18n/zh_CN.ts | 11 + main/manager-mobile/src/i18n/zh_TW.ts | 11 + main/manager-mobile/src/pages/agent/edit.vue | 246 ++++++++++++++-- main/manager-mobile/src/pages/index/index.vue | 2 +- 13 files changed, 581 insertions(+), 28 deletions(-) create mode 100644 main/manager-mobile/src/components/VoiceSettingsDialog.vue diff --git a/main/manager-mobile/src/api/agent/agent.ts b/main/manager-mobile/src/api/agent/agent.ts index 6870e653..936ccc9c 100644 --- a/main/manager-mobile/src/api/agent/agent.ts +++ b/main/manager-mobile/src/api/agent/agent.ts @@ -206,3 +206,19 @@ export function updateAgentTags(agentId: string, data) { }, }) } + +// 获取所有语言 +export function getAllLanguage(modelId, voiceName) { + const queryParams = new URLSearchParams({ + voiceName: voiceName || '', + }).toString() + return http.Get(`/models/${modelId}/voices?${queryParams}`, { + meta: { + ignoreAuth: false, + toast: false, + }, + cacheFor: { + expire: 0, + }, + }) +} diff --git a/main/manager-mobile/src/api/agent/types.ts b/main/manager-mobile/src/api/agent/types.ts index 4b3c4d44..55764eb0 100644 --- a/main/manager-mobile/src/api/agent/types.ts +++ b/main/manager-mobile/src/api/agent/types.ts @@ -11,7 +11,7 @@ export interface Agent { summaryMemory: string | null lastConnectedAt: string | null deviceCount: number - tags: { id: string, tagName: string }[] + tags: Record[] } // 智能体创建数据类型 @@ -43,6 +43,10 @@ export interface AgentDetail { createdAt: string updater: string updatedAt: string + ttsLanguage: string + ttsVolume: number + ttsRate: number + ttsPitch: number functions: AgentFunction[] } diff --git a/main/manager-mobile/src/components/ContextProviderDialog.vue b/main/manager-mobile/src/components/ContextProviderDialog.vue index dedadc71..d4d75ba6 100644 --- a/main/manager-mobile/src/components/ContextProviderDialog.vue +++ b/main/manager-mobile/src/components/ContextProviderDialog.vue @@ -192,7 +192,7 @@ watch(() => props.visible, (val) => { {{ t('contextProviderDialog.noHeaders') }} - {{ t('contextProviderDialog.addHeaders') }} + {{ t('contextProviderDialog.addHeader') }} diff --git a/main/manager-mobile/src/components/VoiceSettingsDialog.vue b/main/manager-mobile/src/components/VoiceSettingsDialog.vue new file mode 100644 index 00000000..b4ce25a5 --- /dev/null +++ b/main/manager-mobile/src/components/VoiceSettingsDialog.vue @@ -0,0 +1,270 @@ + + + + + diff --git a/main/manager-mobile/src/http/request/alova.ts b/main/manager-mobile/src/http/request/alova.ts index 37518565..752987b4 100644 --- a/main/manager-mobile/src/http/request/alova.ts +++ b/main/manager-mobile/src/http/request/alova.ts @@ -110,6 +110,7 @@ const alovaInstance = createAlova({ if (config.meta?.isExposeError) { return Promise.reject(msg) } + if (config.meta?.toast !== false) { toast.warning(msg) } diff --git a/main/manager-mobile/src/i18n/de.ts b/main/manager-mobile/src/i18n/de.ts index cb5950c4..eee1d3b8 100644 --- a/main/manager-mobile/src/i18n/de.ts +++ b/main/manager-mobile/src/i18n/de.ts @@ -124,6 +124,17 @@ export default { 'agent.pleaseInputAgentName': 'Bitte Agenten-Namen eingeben', 'agent.pleaseInputRoleDescription': 'Bitte Rollenbeschreibung eingeben', 'agent.pleaseSelect': 'Bitte auswählen', + 'agent.reportText': 'Text melden', + 'agent.reportTextVoice': 'Text + Sprache melden', + 'agent.reportMode': 'Meldemodus', + 'agent.language': 'Unterhaltungssprache', + 'agent.languageConfig': 'Sprachgeschwindigkeit & Tonhöhe', + 'agent.ttsVolume': 'Lautstärke', + 'agent.ttsRate': 'Sprechtempo', + 'agent.ttsPitch': 'Tonhöhe', + 'agent.volumeHint': '-100=min, 0=Standard, 100=max', + 'agent.speedHint': '-100=langsamst, 0=Standard, 100=schnellst', + 'agent.pitchHint': '-100=tiefst, 0=Standard, 100=höchst', // Context provider dialog related 'contextProviderDialog.title': 'Quelle bearbeiten', diff --git a/main/manager-mobile/src/i18n/en.ts b/main/manager-mobile/src/i18n/en.ts index 76cd0c69..20d42d54 100644 --- a/main/manager-mobile/src/i18n/en.ts +++ b/main/manager-mobile/src/i18n/en.ts @@ -124,6 +124,17 @@ export default { 'agent.pleaseInputAgentName': 'Please input agent name', 'agent.pleaseInputRoleDescription': 'Please input role description', 'agent.pleaseSelect': 'Please select', + 'agent.reportText': 'Report Text', + 'agent.reportTextVoice': 'Report Text+Voice', + 'agent.reportMode': 'Report Mode', + 'agent.language': 'Conversation Language', + 'agent.languageConfig': 'Speech Rate&Tone', + 'agent.ttsVolume': 'Volume', + 'agent.ttsRate': 'Speech Rate', + 'agent.ttsPitch': 'Tone', + 'agent.volumeHint': '-100=Minimum, 0=Standard, 100=Maximum', + 'agent.speedHint': '-100=Slower, 0=Standard, 100=Faster', + 'agent.pitchHint': '-100=Lowest, 0=Standard, 100=Highest', // Context provider dialog related 'contextProviderDialog.title': 'Edit Source', diff --git a/main/manager-mobile/src/i18n/pt_BR.ts b/main/manager-mobile/src/i18n/pt_BR.ts index 1db71037..bd218234 100644 --- a/main/manager-mobile/src/i18n/pt_BR.ts +++ b/main/manager-mobile/src/i18n/pt_BR.ts @@ -124,6 +124,17 @@ export default { 'agent.pleaseInputAgentName': 'Por favor, insira o nome do agente', 'agent.pleaseInputRoleDescription': 'Por favor, insira a descrição do papel', 'agent.pleaseSelect': 'Por favor, selecione', + 'agent.reportText': 'Enviar Texto', + 'agent.reportTextVoice': 'Enviar Texto+Voz', + 'agent.reportMode': 'Modo de Envio', + 'agent.language': 'Idioma de Conversa', + 'agent.languageConfig': 'Configuração de Voz', + 'agent.ttsVolume': 'Volume', + 'agent.ttsRate': 'Taxa de Fala', + 'agent.ttsPitch': 'Tonalidade', + 'agent.volumeHint': '-100=Mínimo, 0=Padrão, 100=Máximo', + 'agent.speedHint': '-100=Slower, 0=Standard, 100=Faster', + 'agent.pitchHint': '-100=Lowest, 0=Standard, 100=Highest', // Diálogo de provedor de contexto 'contextProviderDialog.title': 'Editar Fonte', diff --git a/main/manager-mobile/src/i18n/vi.ts b/main/manager-mobile/src/i18n/vi.ts index 1a807afc..3c0fd4f6 100644 --- a/main/manager-mobile/src/i18n/vi.ts +++ b/main/manager-mobile/src/i18n/vi.ts @@ -124,6 +124,17 @@ export default { 'agent.pleaseInputAgentName': 'Vui lòng nhập tên đại lý', 'agent.pleaseInputRoleDescription': 'Vui lòng nhập mô tả vai trò', 'agent.pleaseSelect': 'Vui lòng chọn', + 'agent.reportText': 'Gửi văn bản', + 'agent.reportTextVoice': 'Gửi văn bản+giọng nói', + 'agent.reportMode': 'Chế độ gửi', + 'agent.language': 'Ngôn ngữ', + 'agent.languageConfig': 'Giọng nói', + 'agent.ttsVolume': 'Âm lượng', + 'agent.ttsRate': 'Tốc độ', + 'agent.ttsPitch': 'Tone', + 'agent.volumeHint': '-100=Minimum, 0=Standard, 100=Maximum', + 'agent.speedHint': '-100=Slowest, 0=Standard, 100=Fastest', + 'agent.pitchHint': '-100=Lowest, 0=Standard, 100=Highest', // Context provider dialog related 'contextProviderDialog.title': 'Chỉnh sửa nguồn', diff --git a/main/manager-mobile/src/i18n/zh_CN.ts b/main/manager-mobile/src/i18n/zh_CN.ts index c280ea38..aef7d223 100644 --- a/main/manager-mobile/src/i18n/zh_CN.ts +++ b/main/manager-mobile/src/i18n/zh_CN.ts @@ -124,6 +124,17 @@ export default { 'agent.pleaseInputAgentName': '请输入智能体名称', 'agent.pleaseInputRoleDescription': '请输入角色介绍', 'agent.pleaseSelect': '请选择', + 'agent.reportText': '上报文字', + 'agent.reportTextVoice': '上报文字+语音', + 'agent.reportMode': '上报模式', + 'agent.language': '对话语言', + 'agent.languageConfig': '语速音调', + 'agent.ttsVolume': '音量', + 'agent.ttsRate': '语速', + 'agent.ttsPitch': '音调', + 'agent.volumeHint': '-100=最小, 0=标准, 100=最大', + 'agent.speedHint': '-100=最慢, 0=标准, 100=最快', + 'agent.pitchHint': '-100=最低, 0=标准, 100=最高', // 上下文源对话框相关 'contextProviderDialog.title': '编辑源', diff --git a/main/manager-mobile/src/i18n/zh_TW.ts b/main/manager-mobile/src/i18n/zh_TW.ts index 4fb9a8f8..5fd942b0 100644 --- a/main/manager-mobile/src/i18n/zh_TW.ts +++ b/main/manager-mobile/src/i18n/zh_TW.ts @@ -145,6 +145,17 @@ export default { 'agent.pleaseInputAgentName': '請輸入助手暱稱', 'agent.pleaseInputRoleDescription': '請輸入角色介紹', 'agent.pleaseSelect': '請選擇', + 'agent.reportText': '上报文字', + 'agent.reportTextVoice': '上报文字+语音', + 'agent.reportMode': '上報模式', + 'agent.language': '對話語言', + 'agent.languageConfig': '語速音調', + 'agent.ttsVolume': '音量', + 'agent.ttsRate': '語速', + 'agent.ttsPitch': '音調', + 'agent.volumeHint': '-100=最小, 0=標準, 100=最大', + 'agent.speedHint': '-100=最慢, 0=標準, 100=最快', + 'agent.pitchHint': '-100=最低, 0=標準, 100=最高', // 上下文源对话框相关 'contextProviderDialog.title': '編輯源', diff --git a/main/manager-mobile/src/pages/agent/edit.vue b/main/manager-mobile/src/pages/agent/edit.vue index 709a84fb..107fe7b8 100644 --- a/main/manager-mobile/src/pages/agent/edit.vue +++ b/main/manager-mobile/src/pages/agent/edit.vue @@ -1,8 +1,9 @@