From fd36db5cab2d697f345c5587c147a02e611e9be5 Mon Sep 17 00:00:00 2001 From: clh02467605 Date: Tue, 23 Jun 2026 17:08:37 +0800 Subject: [PATCH] fix: remove unsupport voice --- packages/cli/src/commands/omni/chat.ts | 10 +++------ packages/cli/tests/e2e/omni.e2e.test.ts | 4 ++-- skills/bailian-cli/reference/omni.md | 30 ++++++++++++------------- 3 files changed, 20 insertions(+), 24 deletions(-) diff --git a/packages/cli/src/commands/omni/chat.ts b/packages/cli/src/commands/omni/chat.ts index b827915..e947a74 100644 --- a/packages/cli/src/commands/omni/chat.ts +++ b/packages/cli/src/commands/omni/chat.ts @@ -31,18 +31,14 @@ interface VoiceEntry { // qwen-omni 系统音色 const OMNI_VOICES: VoiceEntry[] = [ + { voice: "Tina", name: "甜妹", desc: "甜美亲切", lang: "中文/英文" }, { voice: "Dylan", name: "北京-晓东", desc: "胡同少年", lang: "中文/北京" }, { voice: "Kiki", name: "粤语-阿清", desc: "甜美港妹", lang: "中文/英文" }, { voice: "Li", name: "南京-老李", desc: "南京大叔", lang: "中文/英文" }, { voice: "Sunny", name: "四川-晴儿", desc: "甜飒川妹", lang: "中文" }, - { voice: "Elias", name: "墨讲师", desc: "学术讲师女", lang: "中文/英文" }, - { voice: "Nofish", name: "不吃鱼", desc: "南方口音男", lang: "中文/英文" }, { voice: "Marcus", name: "陕西-秦川", desc: "陕北汉子", lang: "中文/英文" }, { voice: "Eric", name: "四川-程川", desc: "成都大哥", lang: "中文/英文" }, - { voice: "Jada", name: "上海-阿珍", desc: "沪上阿姐", lang: "中文" }, { voice: "Rocky", name: "粤语-阿强", desc: "幽默港仔", lang: "中文/英文" }, - { voice: "Cherry", name: "芊悦", desc: "阳光自然女", lang: "中文/英文" }, - { voice: "Roy", name: "闽南-阿杰", desc: "闽南哥仔", lang: "中文/英文" }, { voice: "Jennifer", name: "詹妮弗", desc: "美剧大女主", lang: "中文/英文" }, { voice: "Ryan", name: "甜茶", desc: "美剧张力男", lang: "中文/英文" }, { voice: "Katerina", name: "卡捷琳娜", desc: "御姐深情女", lang: "中文/英文" }, @@ -150,7 +146,7 @@ export default defineCommand({ }, { flag: "--voice ", - description: "Output voice ID (default: Cherry). Use --list-voices to see all options", + description: "Output voice ID (default: Tina). Use --list-voices to see all options", }, { flag: "--list-voices", @@ -199,7 +195,7 @@ export default defineCommand({ } const model = (flags.model as string) || config.defaultOmniModel || "qwen3.5-omni-plus"; - const voice = (flags.voice as string) || "Cherry"; + const voice = (flags.voice as string) || "Tina"; const audioFormat = (flags.audioFormat as string) || "wav"; const textOnly = flags.textOnly === true; const format = detectOutputFormat(config.output); diff --git a/packages/cli/tests/e2e/omni.e2e.test.ts b/packages/cli/tests/e2e/omni.e2e.test.ts index e2ccf8a..79ff58e 100644 --- a/packages/cli/tests/e2e/omni.e2e.test.ts +++ b/packages/cli/tests/e2e/omni.e2e.test.ts @@ -24,9 +24,9 @@ describe.skipIf(!isBailianE2EMediaEnabled() || !isDashScopeE2EReady())( const { stdout, stderr, exitCode } = await runCli(["omni", "--list-voices"]); expect(exitCode, stderr).toBe(0); expect(stdout).toMatch(/Omni output voices:/); + expect(stdout).toMatch(/Tina/); expect(stdout).toMatch(/Dylan/); - expect(stdout).toMatch(/Cherry/); - expect(stdout).toMatch(/Total: 17 voices/); + expect(stdout).toMatch(/Total: 13 voices/); }); test("omni 缺少 --message 时打印子命令帮助并退出 (0)", async () => { const { stderr, exitCode } = await runCli([ diff --git a/skills/bailian-cli/reference/omni.md b/skills/bailian-cli/reference/omni.md index 24f0503..fe1f34d 100644 --- a/skills/bailian-cli/reference/omni.md +++ b/skills/bailian-cli/reference/omni.md @@ -23,21 +23,21 @@ Index: [index.md](index.md) #### Options -| Flag | Type | Required | Description | -| ---------------------- | ------- | -------- | ----------------------------------------------------------------------- | -| `--message ` | array | yes | Message text (repeatable, prefix role: to set role) | -| `--model ` | string | no | Model ID (default: qwen3.5-omni-plus) | -| `--system ` | string | no | System prompt | -| `--image ` | array | no | Image URL or local file (repeatable) | -| `--audio ` | array | no | Audio URL or local file (.wav/.mp3/.amr/.aac/.m4a/.ogg/.3gp/.3gpp) | -| `--video ` | array | no | Video file URL / local path, or comma-separated frame URLs | -| `--voice ` | string | no | Output voice ID (default: Cherry). Use --list-voices to see all options | -| `--list-voices` | boolean | no | List available output voices and exit | -| `--audio-format ` | string | no | Audio output format (default: wav) | -| `--audio-out ` | string | no | Save audio to file (default: auto-generate) | -| `--text-only` | boolean | no | Output text only, no audio generation | -| `--max-tokens ` | number | no | Maximum tokens to generate | -| `--temperature ` | number | no | Sampling temperature (0.0, 2.0] | +| Flag | Type | Required | Description | +| ---------------------- | ------- | -------- | --------------------------------------------------------------------- | +| `--message ` | array | yes | Message text (repeatable, prefix role: to set role) | +| `--model ` | string | no | Model ID (default: qwen3.5-omni-plus) | +| `--system ` | string | no | System prompt | +| `--image ` | array | no | Image URL or local file (repeatable) | +| `--audio ` | array | no | Audio URL or local file (.wav/.mp3/.amr/.aac/.m4a/.ogg/.3gp/.3gpp) | +| `--video ` | array | no | Video file URL / local path, or comma-separated frame URLs | +| `--voice ` | string | no | Output voice ID (default: Tina). Use --list-voices to see all options | +| `--list-voices` | boolean | no | List available output voices and exit | +| `--audio-format ` | string | no | Audio output format (default: wav) | +| `--audio-out ` | string | no | Save audio to file (default: auto-generate) | +| `--text-only` | boolean | no | Output text only, no audio generation | +| `--max-tokens ` | number | no | Maximum tokens to generate | +| `--temperature ` | number | no | Sampling temperature (0.0, 2.0] | #### Examples