xiaoyuan-assistant 0.5.49 → 0.5.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -411,3 +411,16 @@ ls -lh /mnt/data/xiaoyuan-assistant-siliconflow-v0.5.29.zip
411
411
  - `XiaoyuanAssistant.vue` 改为优先通过 `app.provide('xiaoyuan', runtime)` 获取运行时,避免 NPM 重复依赖/重复模块实例导致 singleton 不一致。
412
412
  - `useXiaoyuan()` 对外返回 `runtime.api`,可直接调用 `registerData`、`registerFunction`、`setContext` 等 API。
413
413
 
414
+
415
+ ## v0.5.50 - 运行时初始化彻底移除硬抛错
416
+
417
+ - `useXiaoyuan()` 不再因为运行时暂时不可用而直接 `throw`。
418
+ - 优先读取模块 runtime,其次读取 `window.$xiaoyuan`,都不存在时返回 `null`。
419
+ - 组件继续通过 Vue `provide/inject` 获取 runtime,避免 NPM/Vite 重复模块实例造成误报。
420
+ - 增加 `XIAOYUAN_VERSION` 常量,便于宿主排查实际加载的 SDK 版本。
421
+ - 保持 package.json / ZIP / CHANGELOG 版本一致。
422
+
423
+ ## v0.5.51
424
+
425
+ - 修复 NPM + Vite 场景下内置“收到指令”TTS 使用 `new URL(..., import.meta.url)` 被预构建到 `node_modules/.vite/assets` 后产生 404 的问题。
426
+ - 两个内置 voice 的提示音改为随 JS 包内嵌 Base64,运行时直接生成 Blob,不再请求静态 MP3 URL。
package/README.md CHANGED
@@ -231,3 +231,12 @@ app.use(Xiaoyuan, {
231
231
 
232
232
  ### v0.5.49
233
233
  修复 NPM/Vite 环境下运行时注入与 `useXiaoyuan()` 的初始化问题。
234
+
235
+
236
+ ## v0.5.50 初始化说明
237
+ `useXiaoyuan()` 不再因模块实例分裂或 HMR 时序问题直接抛出“请先 app.use(Xiaoyuan)”异常。宿主仍应正常执行 `app.use(Xiaoyuan, options)`。
238
+
239
+ ## v0.5.51
240
+
241
+ - 修复 NPM + Vite 场景下内置“收到指令”TTS 使用 `new URL(..., import.meta.url)` 被预构建到 `node_modules/.vite/assets` 后产生 404 的问题。
242
+ - 两个内置 voice 的提示音改为随 JS 包内嵌 Base64,运行时直接生成 Blob,不再请求静态 MP3 URL。
@@ -1237,3 +1237,12 @@ AI 分析开始提示音与数据获取/模型分析并行;多个数据源采
1237
1237
  ## v0.5.49 初始化兼容修复
1238
1238
  - NPM/Vite/HMR 下即使存在多个模块实例,也会将已有 runtime 注入当前 Vue App。
1239
1239
  - 组件不再因初始化时序直接 throw,保证宿主应用正常挂载。
1240
+
1241
+
1242
+ ## v0.5.50
1243
+ 运行时初始化采用非抛错策略:组件通过 Vue provide/inject 获取 runtime;SDK composable 在 runtime 尚未就绪时返回 null,不阻断宿主应用。通过 `window.$xiaoyuan` 作为浏览器环境的兜底引用。
1244
+
1245
+ ## v0.5.51
1246
+
1247
+ - 修复 NPM + Vite 场景下内置“收到指令”TTS 使用 `new URL(..., import.meta.url)` 被预构建到 `node_modules/.vite/assets` 后产生 404 的问题。
1248
+ - 两个内置 voice 的提示音改为随 JS 包内嵌 Base64,运行时直接生成 Blob,不再请求静态 MP3 URL。
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xiaoyuan-assistant",
3
- "version": "0.5.49",
3
+ "version": "0.5.51",
4
4
  "type": "module",
5
5
  "main": "./src/index.js",
6
6
  "module": "./src/index.js",
@@ -120,6 +120,7 @@ const runtime =
120
120
  // 如果宿主项目因为 HMR / 重复依赖导致当前模块暂时拿不到注入值,
121
121
  // 组件保持可挂载,并在 mounted 后再次尝试解析,避免整个页面崩溃。
122
122
  const safeRuntime = runtime || { manager: null, speech: null, options: {} }
123
+ const XIAOYUAN_SDK_VERSION = '0.5.51'
123
124
  const { manager, speech, options } = safeRuntime
124
125
 
125
126
  const wakeWord = options.wakeWord || '你好小园'
package/src/index.js CHANGED
@@ -10,10 +10,13 @@ import { KEY, getXiaoyuanSingleton, setXiaoyuanSingleton } from './context.js'
10
10
 
11
11
  export function useXiaoyuan() {
12
12
  const runtime = getXiaoyuanSingleton()
13
- if (!runtime) throw new Error('请先在 main.js 中 app.use(Xiaoyuan)')
14
- return runtime.api
13
+ if (runtime?.api) return runtime.api
14
+ if (typeof window !== 'undefined' && window.$xiaoyuan) return window.$xiaoyuan
15
+ return null
15
16
  }
16
17
 
18
+ export const XIAOYUAN_VERSION = '0.5.51'
19
+
17
20
  const Xiaoyuan = {
18
21
  install(app, options = {}) {
19
22
  // 同一个页面可能因为 Vite/NPM 依赖解析或 HMR 出现多个 Xiaoyuan 模块实例。
@@ -0,0 +1,16 @@
1
+ // Built-in "收到指令,请您稍等" audio embedded into the package.
2
+ // Kept in JS so Vite/NPM dependency pre-bundling cannot rewrite the asset URL
3
+ // into node_modules/.vite/assets and cause a 404 on first use.
4
+ export const BUILTIN_RECEIVED_COMMAND_AUDIO = Object.freeze({
5
+ 'zh-CN-XiaoyiNeural': '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qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//NkxHwAAANIAAAAAKqqqqqqqqpMQU1FMy4xMDCqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//NkxHwAAANIAAAAAKqqqqqqqqpMQU1FMy4xMDCqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//NkxHwAAANIAAAAAKqqqqqqqqpMQU1FMy4xMDCqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//NkxHwAAANIAAAAAKqqqqqqqqpMQU1FMy4xMDCqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//NkxHwAAANIAAAAAKqqqqqqqqpMQU1FMy4xMDCqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//NkxHwAAANIAAAAAKqqqqqqqqpMQU1FMy4xMDCqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//NkxHwAAANIAAAAAKqqqqqqqqpMQU1FMy4xMDCqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//NkxHwAAANIAAAAAKqqqqqqqqpMQU1FMy4xMDCqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//NkxHwAAANIAAAAAKqqqqqqqqpMQU1FMy4xMDCqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//NkxHwAAANIAAAAAKqqqqqqqqpMQU1FMy4xMDCqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//NkxHwAAANIAAAAAKqqqqqqqqpMQU1FMy4xMDCqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//NkxHwAAANIAAAAAKqqqqqqqqpMQU1FMy4xMDCqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//NkxHwAAANIAAAAAKqqqqqqqqpMQU1FMy4xMDCqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//NkxHwAAANIAAAAAKqqqqqqqqpMQU1FMy4xMDCqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//NkxHwAAANIAAAAAKqqqqqqqqpMQU1FMy4xMDCqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//NkxHwAAANIAAAAAKqqqqqqqqpMQU1FMy4xMDCqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//NkxHwAAANIAAAAAKqqqqqqqqpMQU1FMy4xMDCqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//NkxHwAAANIAAAAAKqqqqqqqqpMQU1FMy4xMDCqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//NkxHwAAANIAAAAAKqqqqqqqqpMQU1FMy4xMDCqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//NkxHwAAANIAAAAAKqqqqqqqqpMQU1FMy4xMDCqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//NkxHwAAANIAAAAAKqqqqqqqqpMQU1FMy4xMDCqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//NkxHwAAANIAAAAAKqqqqqqqqpMQU1FMy4xMDCqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//NkxHwAAANIAAAAAKqqqqqqqqpMQU1FMy4xMDCqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//NkxHwAAANIAAAAAKqqqqqqqqpMQU1FMy4xMDCqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//NkxHwAAANIAAAAAKqqqqqqqqpMQU1FMy4xMDCqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//NkxHwAAANIAAAAAKqqqqqqqqpMQU1FMy4xMDCqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//NkxHwAAANIAAAAAKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq',
6
+ 'zh-CN-XiaoxiaoNeural': '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NhsRnnHRrjK26O4+fbb8KDyNmf9FjtcRGjn/AWwjaPMNcG////NkxJUaYcJEE1gYAPhgJSPQv4/cqz//wIhOzLstsQXoTZNraxv6Lmh7myN7OKsTRdE5IKsf//8uCoywJxUXfj0o2ETYsMn////3RRnOq6VutvmZ64oqLQuBfv/////2Bwj779/ea93h5sL58xay5ImLMw////////01felfH+s3pT6f5zSNGxGxl7b6hq2P//NkxK41/Dq+XZh4Av//////////zqN/vN9vHmqU1d/Hfx/8RF1iNZdwIeoss0fbbtulfUzCemWDWxDXTgTkjNu9esLtAsgcZqsNOWzdIBB5n5yGFKMbImobMrUAL+PC9z8z5YsfUlpoKA8iAc0QChvkslk1gnH0xTJ50mGr0z2slNM5Zt/pjX3/13VomzGs//NkxFkkSnrGV9hYALp1f///8/8MiFDuzr5////+7re17zRk22W008pif//prNZpFhAQpaDJZomInQsBXwKkcDJGo3lE1YJwAApW021tbnJqlBnocXVWi6KtCXtdqdJIUxQ0PXCqxYJMsUh3PPKez9jck9JJFQeD1NHZLs7boZ1ETDBcCqj9dXuQSY6LW6Nm//NkxEoc+d7a3nmKzJvq7GZ2QWMTvVsBNZoRpKlTUl/9Pu0pDI0F1AVa2PUPEaVPUT556v+kOueQmlklklJFAAoS652GSsvzvOZyrDQslrnESM3BFRAtTZLZfk5IcDFr/JFzOd3wubrvE+W1u3fu331X8LZGhJi2h5rBC0oKiqSRYG1Pk+aIgmEjQMwaiX////NkxFkcCXblngvMEnLNbK8RAEXQZ0b5GidcYNFrGDkqN47G1cWQzVXaTY+yACVx0gWG2TvOaeUkYmS1ovguKhiQEBuljs2yTWTCZk8AAnUnVl6JMGRnra/95W/s6kmlfKh1et1dAz6d+//qyJLN3JrK6P////p66/Z+9VWdJUI+v//6OcaFE8WsNe8apth///NkxGsbc7LFfnmE5VA2KYZKkGtrlrc7lOsyU92MojpQTUSAyU65ezBOGjvadfmTCc7Jb3S7BI43C8nl5+3jRTY56NuLlUP/r9n7bMb9asZiFMLqZWlZHATGI+j/2p9UUpTXfxZzgKspV/////6/5qo87I7rp+vT/9ZRSAi04yzp9xKaggmSaTaS5gOK7FZn//NkxIAcw67SPsGE1icrhAwW5njJgKjbJH0wV7KQtjUsoGT/fMwi098oUmZXQWZzH26P2tqX/dWUoopE7IgqYpVTZMdPP725jPZmtQzFBVHCIlDC3cU4iUn7+VArkFEDkIJbfEbhUYBQkHFavsQXDaoCm41G220/ksW0goBiXF1uE+fRoSujMTMw0jVUzkxM//NkxJAcClrJvnmKls+IgoS5GEjku8yRRNIo0kclTVtd+8/tUzMyUpSp+yepSsUxg8coiAodKYxjZSlMhvu7o8yXb8q9ZSl6////7rSVv6P/9HlVDCTjJavEV1bCq/r89UOqPIEctlsbbiUtYJ9FiTbLX/Hy/MlxSztNRaSMm5wUypefJgCSq/Ap27o5jWKi//NkxKIdE0aQXnmK8p9JXzNM8l2tb1KDMIYokNKlh5IXepziLT0bQdW7yq3Sye3//p//31f8lTocBZJeV5DFEOk7BMIDbWF1MX1aTbk+o+CkcSpracdksUqS2ViI8jTNfPOLsytLx0JTWng0CgsWPkCoqYgyoXDJ6k02lK0soHbXY0VGNdFnuSm7a4WveK40//NkxLAVqXplHnmEXMEVpRNCyY1V0lIpM99tIZNKCGHgSJQsuCvXgiPshVAGrWmysnRmMELWCqs86DCso0WGsIPGdXXRSZY1JGZqIzLmb2G3bz6V3PMNVmoMWSuRtwNwurm9aKq7Mf1yrnw78mUvSM6RGk4VhFQQYz0ybbcy9i1RWthc7ZDc7w9Z+hKwb96j//NkxNwaWWo8CHpGNFpMbQyXvISVmVuGboYUKTuNSGFVEgPN2Zs0pXoMx2uZMee/T00NKfSFSmdM7ZbZKQOGdISaeciMXvdTYrYRTzF8OyoRhX9C7C6T64NzVeIZCTq5fDuSl4M1qxIIJksIvXJUeymby5EsoMQytWSHNBQYpFK8i5UhrkRBDMls7hgl9clw//NkxPUhXDoUCsJGLF1uopKLrBxgmO2gLiCBBtpjvYTV4TobDSbEaFrNDRDzaXelSOk0JhjIoUI3wkrl2/GQnzpyFKVLhY57CzCYItphwUDNo5cLQjPU2iTivcG5Fcl8jRF3CAj1PJaZGdSrCFuhoV4VFRh2ZzDOKCqSoOKRBINVWkcFkFtCqILdpAuEqL0K//NkxPIeu8oQwEhGBYExiABQ6wgb7FyawHglQGoJDZhkjvdSyzJh0phnXY2lPhMZPMm1DWkXc8xj2yY1L2XPR2skY9vX+hjCoDI9BS9DQkFGimGDnVXmUI2s9W8C79Tm5LVECVoIVrdxII3xiMS6BarAThg64I3QLYDKD5LuJgpGEh30zKldyLHCiYqGYbcr//NkxPoh/DIMyEhGIQ6gZgYKIgssmVtWlaGFplcMwdECoepgpJyMA2EklL40FVY339YKqlqQY1Jv9jUmOMao1JodXY12okMKVSDEzVSjfDXwzgLgMb1IMQYwpNS+7Uv/8vOnVh/lSak1JkaqUagNAUAnAUYwJxLfk0arBQMmL+VdvY12YKYChrDXlWNVjKwo//NkxPUhNDoEAFgGZCiQxlIalGokMMGNf2rVYKV31BKKZUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//NkxPMhJAncAGGGCVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//NkxHwAAANIAAAAAFVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//NkxHwAAANIAAAAAFVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//NkxHwAAANIAAAAAFVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//NkxHwAAANIAAAAAFVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//NkxHwAAANIAAAAAFVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//NkxHwAAANIAAAAAFVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//NkxHwAAANIAAAAAFVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//NkxHwAAANIAAAAAFVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//NkxHwAAANIAAAAAFVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//NkxHwAAANIAAAAAFVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//NkxHwAAANIAAAAAFVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//NkxHwAAANIAAAAAFVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//NkxHwAAANIAAAAAFVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//NkxHwAAANIAAAAAFVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//NkxHwAAANIAAAAAFVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//NkxHwAAANIAAAAAFVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//NkxHwAAANIAAAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV'
7
+ })
8
+
9
+ export function base64ToBlob(base64, mimeType = 'audio/mpeg') {
10
+ const binary = atob(base64)
11
+ const bytes = new Uint8Array(binary.length)
12
+ for (let i = 0; i < binary.length; i += 1) {
13
+ bytes[i] = binary.charCodeAt(i)
14
+ }
15
+ return new Blob([bytes], { type: mimeType })
16
+ }
@@ -3,10 +3,19 @@ const DB_VERSION = 1
3
3
  const STORE_NAME = 'audio'
4
4
  const CACHE_PREFIX = 'received-command::'
5
5
 
6
- const BUILTIN_RECEIVED_COMMAND_AUDIO = Object.freeze({
7
- 'zh-CN-XiaoyiNeural': new URL('../assets/received-command.zh-CN-XiaoyiNeural.mp3', import.meta.url).href,
8
- 'zh-CN-XiaoxiaoNeural': new URL('../assets/received-command.zh-CN-XiaoxiaoNeural.mp3', import.meta.url).href
9
- })
6
+ import { BUILTIN_RECEIVED_COMMAND_AUDIO, base64ToBlob } from './builtinReceivedTTS.js'
7
+
8
+ let builtinObjectUrls = new Map()
9
+
10
+ function getBuiltinBlob(voice) {
11
+ const base64 = BUILTIN_RECEIVED_COMMAND_AUDIO[normalizeVoice(voice)]
12
+ if (!base64) return null
13
+ try {
14
+ return base64ToBlob(base64, 'audio/mpeg')
15
+ } catch (_) {
16
+ return null
17
+ }
18
+ }
10
19
 
11
20
  function isBrowser() {
12
21
  return typeof window !== 'undefined' && typeof indexedDB !== 'undefined'
@@ -39,18 +48,8 @@ export async function getReceivedCommandAudio(voice) {
39
48
  if (!isBrowser()) return null
40
49
 
41
50
  const normalized = normalizeVoice(voice)
42
- const builtinUrl = BUILTIN_RECEIVED_COMMAND_AUDIO[normalized]
43
- if (builtinUrl) {
44
- try {
45
- const response = await fetch(builtinUrl, { cache: 'force-cache' })
46
- if (response.ok) {
47
- const blob = await response.blob()
48
- if (blob.size) return blob
49
- }
50
- } catch (_) {
51
- // 内置资源读取失败时继续走 IndexedDB / 首次网络 TTS 逻辑。
52
- }
53
- }
51
+ const builtinBlob = getBuiltinBlob(normalized)
52
+ if (builtinBlob?.size) return builtinBlob
54
53
 
55
54
  const db = await openDB()
56
55
  return await new Promise((resolve, reject) => {