# 大笛语音助手 **Repository Path**: jcoffee_admin/BYDAssistant ## Basic Information - **Project Name**: 大笛语音助手 - **Description**: 比亚迪车机语言助手,个别车型,大笛语音助手 - **Primary Language**: Java - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: http://ai.imlc.cn - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-09-28 - **Last Updated**: 2026-09-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 大笛语音助手 🚗🎙️ **为比亚迪 DiLink 车机做的语音助手。** 说一句「你好,大笛」,桌面弹出一个悬浮框, 它听懂你说话、跟你聊天、帮你点歌、讲故事、改设置 —— 手机也能用。 > **当前版本 v1.4.56**(`output/DaDiAssistant-v1.4.56.apk`,61.7 MB) > 官方网站: | Copyright © XAF 2026.9 > 面向开发者的实现细节与完整变更记录见 [`docs/develop-readme.md`](docs/develop-readme.md) --- ## 目录 1. [它能做什么](#1-它能做什么) 2. [安装](#2-安装) 3. [第一次使用](#3-第一次使用) 4. [怎么用](#4-怎么用) 5. [让它帮你改设置](#5-让它帮你改设置) 6. [设置详解](#6-设置详解) 7. [该选哪个:识别与发声](#7-该选哪个识别与发声) 8. [回声治理(它自己跟自己说话怎么办)](#8-回声治理它自己跟自己说话怎么办) 9. [车机适配](#9-车机适配) 10. [数据与备份](#10-数据与备份) 11. [常见问题](#11-常见问题) 12. [隐私与安全](#12-隐私与安全) --- ## 1. 它能做什么 **对话** - 🎙️ **语音唤醒** —— 预置 8 个唤醒词,可自由增删 - 💬 **闲聊问答** —— 默认 DeepSeek,六大服务商可选 - 🔁 **连续对话** —— 一次唤醒连聊多轮,也可关成一问一答 - 🧠 **AI 记忆** —— 记住上下文;也可以关掉,每次都是新对话 - 👥 **声纹分人** —— 两个人各自一段独立对话,互不干扰 - 🌐 **联网搜索** —— 能查实时信息,没结果会自动换一个搜索源 - 🚦 **思考可见** —— 悬浮框实时显示「正在聆听 / 正在思考 / 正在播报」 **娱乐** - 🎵 **语音点歌** —— 「播放音乐」「来一首周杰伦的」「下一首」;在线曲库默认开,本地曲库可选 - 🎼 **生成歌单** —— 「给我来一个适合跑高速的歌单,10 首」,边搜边播 - 📖 **讲故事** —— 从公开接口取正文,有感情朗读,可暂停 / 跳过 / 接着读 - 📕 **听小说** —— 自动记住读到哪一段,下次说「继续读小说」就接上 - 🎧 **实时语音(可选)** —— 端到端全双工,可以随时插话 **使用与运维** - 📌 **常驻后台** —— 开机待命,通知栏一键唤醒 - 🖥️ **桌面悬浮框** —— 可拖动、长按缩放,框内直接对话 - ⏱️ **自动收起** —— 默认 20 秒无话收起(5~120 秒可调) - 🤖 **AI 改设置** —— 问它设置有问必答,说一声就改 - 🕘 **历史对话** —— 侧边栏查看 / 切换 / 删除 / 导出 - 🔐 **加密与备份** —— AES-256 加密的完整备份,密钥只能覆盖不能看 - 📡 **局域网分享** —— 6 位码直接同步配置,不用文件管理器 - ⬆️ **推送新版** —— 同一 WiFi 把本机安装包推给别的设备,可断点续传 - 🚗 **车机联动** —— 注册桌面别名,说「小迪打开大笛」 - 🖥️ **多屏适配** —— 手机竖屏、车机横屏 / 竖屏自适应 --- ## 2. 安装 ### 2.1 装 APK 把 `output/DaDiAssistant-v1.4.56.apk`(61.7 MB)拷到手机或车机 (U 盘 / adb 均可): ```powershell adb install -r output\DaDiAssistant-v1.4.56.apk ``` 也有两条更省事的路: - **用旧版本自己推**:两台设备连同一个 WiFi,高版本那台进 **设置 → 数据管理 → 推送 / 接收新版本** → 「开始推送本机版本」, 另一台点「查找推送设备」→ 下载 → 安装(支持断点续传,推送 1 小时有效)。 - **U 盘安装**:拷进去用文件管理器点开即可。 > 安装时系统会要求「允许安装未知应用」,并且会用**签名**校验包(签名不符会被拒绝)。 ### 2.2 首次运行:三步走完 1. **登录**(见 [3.1](#31-登录)); 2. **填一个 AI 接口密钥** —— 登录后会引导你填,默认用 **DeepSeek**: 到 注册并创建一个 Key(形如 `sk-xxxx`)粘贴进去即可; 3. **开常驻唤醒(可选,默认是关的)** —— **设置 → 顶部「开启常驻唤醒」**,按提示依次允许: **麦克风 → 悬浮窗(显示在其他应用上层)→ 通知**。 > 🆕 **默认设置(v1.4.56 起)**:**识别与发声都默认走「云端」**,**常驻唤醒默认关闭**。 > 也就是说: > > - 装好后**打开 App 不会占用麦克风**,也不会自启动监听 —— 想用语音时点一下话筒、 > 或自己到设置里打开「开启常驻唤醒」(之后按你的设置运行,不会自己变回去); > - 语音识别 / 发声要用云端,得先在 **设置 → API 模型和密钥 / 语音识别 / 语音播报** > 里选好**云端识别模型**与**云端发声模型**(并填对应的 Key)。 > 万一云端没配好,**不会变成哑巴**:识别会自动退到系统/离线,发声会自动退到系统 TTS。 > ⚠️ **车机必做**:去 **设置 → 常驻唤醒与悬浮窗 → 忽略电池优化**, > 并且点「打开本应用的系统设置」把电池策略设为**不限制**、允许**自启动 / 后台运行**。 > 一加 / OPPO / 小米等系统不设置的话,退到后台会被系统冻结,唤醒就会失效。 ### 2.3 想要离线也能用(可选) 从 v1.4.4 起安装包里**不再内置任何模型**(为了把 APK 从 94.7 MB 压到 56.7 MB), 所以刚装好时: - **离线唤醒**:需要下载 **Vosk 中文小模型(42 MB)** —— **设置 → 语音识别 → 本地离线模型**; - **离线发声**:需要下载一个离线发声模型(车机推荐 Piper huayan 或 MeloTTS)—— **设置 → 语音播报 → 离线发声模型**。 不下载也能用,只是要走云端(需要配 Key)或系统自带识别 / 发声。 --- ## 3. 第一次使用 ### 3.1 登录 打开应用先看到登录页(深色卡片式,带 logo): | 项 | 值 | | --- | --- | | **账号** | `mycar`(页面上会自动填好,你只需要输密码) | | **密码** | `BYDAssistant`(大写 B / Y / D,其余小写,**区分大小写**) | | **记住账号** | 默认开:下次打开自动把账号填上 | | **自动登录** | 默认开:登录后 **1 年有效期内**再打开直接进主界面 | 几个细节: - 密码可以点「显示」看一眼再确认,避免车机上输错; - 连续输错 **5 次**会锁 **30 秒**,页面会告诉你还剩几次机会; - **1 年到期后**会回到登录页,并提示「登录已过期,请重新登录」; - 点「登录」后有加载过渡(转圈 + 「正在登录…」),验证通过显示「欢迎回来」再淡入主界面。 > **忘了密码?** 本机还内置一个**后路口令**,它和应用早期在 git 上的信息有关联, > 需要时问管理员。用它登录后,到**账号页**(点大笛头像)就能把密码改成新的。 ### 3.2 账号页 登录后,点**侧边栏顶部的大笛头像**(或聊天里大笛的头像)就进「账号」页: - **用户信息** —— 头像、账号名、已登录状态、有效期还剩多少天; - **更换头像** —— 就在账号名下面,点一下跳个性化页; - **登录信息** —— 账号、登录方式、上次登录时间、有效期至、当前用的是出厂密码还是自己改的; - **修改密码** —— 填「当前密码 + 新密码(≥6 位)+ 确认」即可;改完**不用重新登录**; - **退出登录** —— 在页面**最底部**,二次确认;退出会同时停掉常驻唤醒,开机也不再自启。 > 说明:这是**本地门禁**(防别人随手打开车机上的应用),不是云端账号体系 —— > 密码内置在应用里,因此请把它当作「防误触」而不是「防破解」。 --- ## 4. 怎么用 ### 4.1 一次完整的对话 1. 说 **「你好,大笛」** 唤醒 → 悬浮框弹出,状态变成「正在聆听」; 2. 接着说你的问题,例如「今天北京天气怎么样」; 3. 大笛会边想边说,说完继续听你说,可以连聊(默认开启连续对话); 4. **20 秒**没说话就自动收起悬浮框;或者说 **「退出」/「关闭」/「再见」** 立即关闭。 > 也可以连起来说:**「大笛,帮我出个主意」**。 **打开 App 就能直接喊**:只要 App 在前台,**不用点话筒**也会自动监听唤醒词 (即使「常驻唤醒」总开关是关的,这种临时监听不会写进设置,退出 App 自动停止)。 标题栏右侧的**悬浮窗图标**可以随时手动唤起悬浮框;顶部**状态面板**会实时显示 `服务 / 引擎 / 最近听到`(没有声音时显示「正在聆听…」)。 ### 4.2 悬浮框上的按钮 | 按钮 | 作用 | | --- | --- | | **打断** | 停止当前播报,立刻重新听你说 | | **静音 / 取消静音** | 关掉或恢复悬浮框的语音播报(文字照常显示) || **重听** | 清空本轮内容,重新听 | | **关闭** | 结束会话 | 悬浮框**任意位置都能直接拖动**(不需要长按),位置不记忆,下次唤出仍在默认位置。 **长按悬浮框**可进入缩放模式:左右拖动实时预览大小,底部出现「应用 / 取消」, 点「应用」才会保存大小(默认不保存),点「取消」恢复原大小。 ### 4.3 文字聊天 主界面底部输入框可直接打字。点右边标题栏的**喇叭图标**可以切换 「界面回答是否朗读」(**默认不朗读,只看文字**;悬浮框默认朗读)。 > **打字和说话两条路的指令行为完全一致**(点歌、改设置、换模型都认)。 ### 4.4 语音点歌 直接说: ``` 播放音乐 来一首周杰伦的歌 播放稻香 下一首 上一首 暂停 / 继续 / 停止音乐 大声点 小声点 歌单里有什么 ``` - 大笛说话时音乐会自动**压低**(默认到 25%)而不是暂停,说完恢复; - **点歌是「边说边找」的**:说完先回你一句「正在找…」,找到就立刻开播, 后面的歌在后台接着找、找到就接到队列里 —— 从说完到出声只等**一首歌**的时间; - **全程都有回话**:正在找 → 找到 → **真的出声了**才说「正在播放:…」; 一首都放不出来时会说清原因并让你**换一首**,不会闷着不出声; - **悬浮框上有模式标志**:放歌显示 **🎵 放歌**,讲故事 **📖 讲故事**, 听小说 **📕 听小说**(都在做就都显示),停下就消失。 **让它生成歌单**(这是它比较擅长的): ``` 给我来一个适合跑高速的歌单 → 先把"跑高速"翻译成具体歌名,再逐首去在线曲库搜 来 10 首周杰伦的 → 数量也能说(没说数量默认 8 首,最多 30 首) 生成一个安静点的歌单,8 首 ``` > 如果**没配对话模型**,它会退化成"用你的描述直接去曲库搜",照样能放, > 只是没法像有模型时那样精准到具体歌名。 ### 4.5 讲故事 / 听小说 ``` 讲个故事 讲个三只小猪的故事 继续讲故事 读小说西游记 继续读小说 读到哪了 暂停朗读 / 继续 跳过这段 / 上一段 / 停止朗读 ``` - 说「讲个故事」它会去公开接口搜正文,找到就从第一条开始读; - 说「读小说西游记」,读到哪会**自动记下来**,下次说「继续读小说」就接着读; - 设置页里有**阅读记录**,列出每本书读到百分之几,一点就接着读; - 「有感情」需要**支持情感指令的云端音色**(百炼 `qwen3-tts-instruct-flash`); 用别的发声模型也能读,只是语气固定 —— 设置页会如实告诉你当前模型支不支持。 > **取不到正文时会自动换下一条**:搜索结果只是「标题 + 链接」,正文还要再抓一次, > 而这一步经常被网站挡(403 / 404 / 反爬空壳页)。它会逐条试并告诉你 > 「第 1 条取不到正文(HTTP 403),换下一条…」,全部不行才把每条的原因列出来。 ### 4.6 实时语音(端到端,可选) 在 **设置 → 实时语音** 里打开后,识别 / 对话 / 发声**全部交给一个实时模型**, 可以边说边被打断(全双工)。常规的识别 / 对话 / 发声在这期间让位。 在同一个页面里还能调:**语速**、**音量**(0 = 不调整,负数是变小/变慢、正数是变大/变快)、 **走通话通路**(用上车机硬件回声消除,**默认开** —— 实时模型一边听一边说, 不消回声就会自问自答;个别车机切过去没声音时关掉它)、 **用模型内置联网**(要先去服务商控制台开通,默认关)。 > 需要火山引擎的**豆包语音 Key**(与「方舟 Key」不是同一把)。 > 这个模式可能比常规对话**更贵**,默认关闭。 --- ## 5. 让它帮你改设置 大笛**知道本应用的全部设置项**(名称、当前值、作用、在哪个页面), 所以可以直接问、直接改: ``` 有哪些设置 → 按页面列出全部 + 当前值 回声消除是干嘛的 → 解释这一项的作用与位置 把发声音量调到 60% → 当场就改 联网搜索关掉 → 当场就改(开关类) 行车降噪改成强 → 当场就改(枚举) 有哪些模型 / 有哪些音色 → 列清单,标出当前用的那个 ``` 改设置是**在本机直接执行**的(不走网络、不靠模型猜),所以又快又不会改错; 值不合法它会如实说(例如「发声音量只能在 0% ~ 100% 之间」)。 **换模型、换音色**也可以,但要你先授权 ——「设置 → **个性化**」里有三个开关: | 开关 | 默认 | 说明 | | --- | --- | --- | | **AI 可更改配置项** | **开** | 大笛知道全部设置并能按你说的改(关掉能省一点对话 token) | | **AI 可换模型** | **关** | 允许说「换成 Kimi K3」「换个识别模型」,在已配置的模型里切换 | | **AI 可换音色(说话人)** | **关** | 换音色,**也包含换云端发声模型**;只动云端 | ``` 换成 Kimi K3 → 换对话模型(需已配好密钥,且开了「AI 可换模型」) 换个女声音色 / 换个说话的人 → 换发声音色(需开「AI 可换音色」) ``` > **「AI 可换音色」的范围**只管**云端发声**(百炼 / 硅基流动 / 豆包 / 智谱 / 腾讯云)。 > 本地 / 离线发声模型和系统 TTS **不在其中** —— 让它"换成本地女声"是换不动的。 > 另外:如果「语音朗读」当时不是云端(比如设成了"仅离线"),大笛换完会**一并切到 > 「仅云端发声」并明确告诉你**,否则音色换了也听不出变化。 > 为什么**换音色要单独一项**?因为它和换模型的风险不同:换音色只影响听感, > 不改变花费也不改变回答内容;换模型会改变回答风格和**花费**。 > 合成一个开关就没法表达"我只想让它换音色、不想让它换模型"。 > ⚠️ 「播放音乐」仍然优先走点歌(不会被当成"查语音点歌开关")。 > 接口地址、API Key 这类**敏感项**大笛不会去动,请在设置页里改。 --- ## 6. 设置详解 > 所有设置页都会**自动保存**:改完直接按返回也会生效(不用特意点「保存」); > 「保存」按钮保留,点了会给你一个确认提示。 > 少数项(悬浮框外观)说明里会写「**下次唤起生效**」—— 它们要等悬浮框重新出现才用上新值。 ### 6.1 常驻唤醒与悬浮窗 | 项 | 说明 | | --- | --- | | **开启常驻唤醒** | 总开关(开启后副标题显示「常驻唤醒中 + 唤醒提示」两行) | | **开机自动启动** | 开机后自动进入待命 | | **连续对话** | 开启后一次唤醒能连聊多轮 | | **等待时长** | 安静多少秒后自动收起悬浮框(5~120 秒) | | **双击返回退出** | 首页按返回键要按两次才退出 | | **通知显示方式** | 状态栏和通知中心都有 / 只在通知中心 / 都不显示 | | **权限、后台唤醒自检、车机语音打开别名** | 见 [9.2](#92-让车机自带的小迪打开大笛) | > 悬浮框的**尺寸 / 缩放 / 不透明度 / 弹出位置 / 折叠箭头**都在本页(「常驻唤醒与悬浮窗」)—— > 它们决定"长什么样",和唤醒、等待时长、通知方式放在一起才好找。 > **唤醒识别引擎**也在本页(它和唤醒总开关、唤醒词是一件事)。 ### 6.2 个性化 - **对话头像** —— 可上传照片并裁剪; - **AI 记忆** —— 开关 + **记忆轮数**(带几轮历史给大模型:3/5/8/10/15/20 轮, 调小省 token、首字更快,调大更连贯)+ 清除记忆; - **对话中可被打断** —— **三选一**(任何词 / 仅唤醒词 / 不可打断,见 [8](#8-回声治理它自己跟自己说话怎么办))。 注意:设成前两档会**自动关掉**「对话结束延时收音」(两者互斥),改完大笛会告诉你; - **对话结束延时收音** —— 0~5 秒可调,**默认 2 秒**;开启后自动把「可被打断」切到「不可打断」; - **通话通路回声消除(硬件 AEC)** —— 默认关,见 [8](#8-回声治理它自己跟自己说话怎么办); - **悬浮框外观**已移到「常驻唤醒与悬浮窗」页(尺寸 / 缩放 / 不透明度 / 位置 / 折叠箭头);缩放和不透明度是 「**下次唤起生效**」(也可以长按悬浮框直接用手指缩放); - **折叠箭头位置** —— 首页「最近听到」旁边那个箭头放哪; - **声纹识别** —— 见下; - **AI 三个授权开关** —— 见 [5](#5-让它帮你改设置)。 #### 声纹识别(两个人各自一段对话) 在「**设置 → 个性化 → 声纹识别**」里: 1. 打开开关(会展开下面的内容); 2. 让**第一个人**对着麦克风正常说一句话 → 点「**录音纹 1(4 秒)**」; 3. 让**第二个人**同样说一句 → 点「**录音纹 2(4 秒)**」; 4. 想验证:点「**说一句话,测一下是谁**」,它会显示两条相似度并给出判定。 登记好之后:**谁开口就自动切到谁的对话**(上下文、记忆各自独立)。 「**清除声纹**」会把两个模板删掉并关掉开关(已产生的对话记录不受影响)。 > 它只做「**分对话**」这一件事 —— **不拦截、不打断、不改识别**。 > 认不出来时保持当前对话,所以绝不会因为"听不出是谁"而漏掉你说的话。 > 两个人音色太像时可能认不出(表现是"不切换");登记那 4 秒需要独占麦克风, > 如果常驻唤醒正在跑可能抢不到 —— 关掉对话框再录就行。 ### 6.3 语音识别 - **识别方式** —— **自动选择(云端 → 内置离线 → 系统,默认)** / 仅本地离线 / 仅云端 / 仅系统; 注意自动档是**云端优先**(准确率高、但会联网),想完全不联网就选「仅本地离线」; - **唤醒识别引擎** —— 已移到「常驻唤醒与悬浮窗」页(唤醒相关集中在一处,排障不用来回翻); - **云端识别模型** —— 按厂商分组的列表,带「测试云端识别连接」; - **本地离线模型** —— 可下载、可删除,详见 [7.1](#71-离线识别不联网不用-key); - **行车降噪** —— 车机硬件降噪 + 高通滤波 + 噪声门 + 自动增益,**五档可调**。 ### 6.4 语音播报 - **语音播报总开关**、**语音朗读**四选一(自动 / 仅系统 / 仅云端 / 仅离线); - **悬浮框播报发声**、**主界面播报发声** —— 两条链路各自开不开声音 (总开关关掉时这两项不起作用,页面和语音回答都会提醒你); - **发声音量**、**语速**、**音调**(系统 TTS); - **云端发声「当前模型」** —— 点一下直接换模型,只列当前厂商的子模型;音色、情感 / 语气指令; - **云端发声测速** —— 用同一句话实测每家耗时,一键选最快(**不改动你当前的配置**); - **离线发声模型** —— 点「下载」后**按钮自身填充颜色显示进度**; **内置发声语速**、**内置发声线程数**(车机 4 核建议 2,手机可以 3~4); - **低配车机模式**、**等整段说完再播报**、**播报前申请音频焦点**; - **音频通道 / 音频用途**(车机适配)、**车机没声音?逐个通道试**、**诊断车机自带 TTS**。 ### 6.5 联网搜索 - **联网方式** —— 自动判断(推荐)/ 每次都搜 / 关闭; - **搜索模型** —— 必应中国(免密钥)/ 百度千帆 / Kimi 联网搜索 Basic、Pro、网页抓取; - **没结果时自动换源**、**参考条数**、**测试搜索接口**。 ### 6.6 音乐(语音点歌) - **语音点歌**开关、**音乐音量**、**说话时压低到**; - **曲库来源** —— **本地曲库(默认关)** + **在线曲库(默认开)**; - **本地曲库试听**、**在线曲库接口**(内置免 Key 源或自己填)。 ### 6.7 讲故事 / 听小说 - **讲故事**、**读小说**两个开关(各自独立,**都默认关闭**); - **内容来源**(网页检索 / 维基文库 / 公版书 / 今日诗词 / 自定义地址)—— 选中的源会**排在最前面先试**,没结果再依次试其它源;默认「自动」按内容类型排好序; - **搜索与开始朗读**(这两个按钮在总开关关掉时会置灰); - **每次朗读字数** —— 一次喂给发声多少字:调小听着更"碎"但反应快,调大更连贯但首字等得久; - **朗读控制** —— 暂停/继续、跳过这段、上一段、停止、从头再读; - **朗读语气** —— 故事与小说可分别设置; - **阅读记录** —— 列出每本书读到百分之几。 ### 6.8 密钥管理(含完整备份) - **按「厂商 · 凭证槽」一行一个**。一个厂商可以有多个凭证槽: 火山引擎的「方舟 Key」用于对话、「豆包语音 Key」用于识别与发声; 也可以只有一个(Kimi 的对话与三个联网工具、腾讯云的识别与发声都共用一把); - **密钥只能写入不能查看** —— 编辑框永远为空,填入即覆盖,留空则保留原值; - **完整导出 / 完整导入**(AES-256 加密备份,含自建端点与模型)、**局域网分享**; - **AI 对话模型** —— 按厂商分组,选中的那条会告诉你「请求发往哪个地址、用哪把 Key」, 缺 Key 可以**就地填**;带**测试按钮**(失败会列出地址、模型、Key 状态与完整请求体)。 > **为什么火山引擎显示两行、别的厂商只有一行?** > 火山引擎是「一家公司、两套产品、两把 Key」:方舟 Key 只能用于对话, > 豆包语音 Key 用于识别与发声,两者不通用,所以两行。 > 只有一行的是:**Kimi**(对话 + 联网搜索三件套共用一把)、 > **腾讯云**(发声与识别共用一把)、百炼 / 硅基流动 / 智谱(各一把)。 ### 6.9 账号 / 数据管理 / 关于 - **账号页** —— 点侧边栏大笛头像 / 聊天头像进入(见 [3.2](#32-账号页)); - **历史会话与模型占用**、**导出 / 导入会话**、清空历史、**导出 / 导入配置(不含密钥)**; > ⚠️ 「**导入会话**」是**整体替换**本机全部会话(不是合并)—— 想保留现有的,请先「导出会话」; > 「清空历史」不可恢复。 - **推送 / 接收新版本**(局域网,见 [10.3](#103-局域网推送新版本换设备--升级用)); - **关于页** —— 版本、官网、版权、**退出登录**。 --- ## 7. 该选哪个:识别与发声 ### 7.1 离线识别(不联网、不用 Key) | 模型 | 大小 | 说明 | | --- | --- | --- | | Vosk 中文小模型 | 42 MB | **唤醒专用**(也可当对话识别):快,准确率一般 | | **SenseVoiceSmall** | 234 MB | ⭐ 推荐:中文准确率高、速度快 | | Paraformer-zh | 220 MB | 工业级中文识别,自带标点 | | Fun-ASR-Nano | ~900 MB | 效果最好(Qwen3-0.6B 解码),首次加载较慢 | | FireRedASR-v2 | ~1.5 GB | 小红书模型,中英混说强 | > ⚠️ **离线模型都需要先下载**(走国内镜像 hf-mirror.com,带进度条,可随时删除重装)。 > **唤醒词监听固定使用流式的 Vosk 小模型**(不受"识别方式"影响,页面上单独一块), > 因为它能连续输出中间结果,唤醒才灵敏;上面选的模型用于真正对话时的识别。 ### 7.2 离线发声(不联网、不用 Key,需下载) | 模型 | 大小 | 说明 | | --- | --- | --- | | **Piper 中文女声 huayan** | ~77 MB | ⭐ 车机推荐:四核 A53 上约 0.9 倍速 | | **MeloTTS 中英混说(int8)** | ~74 MB | ⭐ 中英混说最自然的一档 | | 中文女声 vits-zh-ll | ~129 MB | 音色自然;车机上约 2.9 倍速,**不建议** | | 中文女声 fanchen-C | ~131 MB | 音色甜美;同样约 2.9 倍速,不建议 | | Kokoro-82M(多语言) | ~181 MB | **全场最慢**(约 5.7 倍速),低配车机别装 | ### 7.3 云端:模型与音色一览 云端识别 / 发声全部国内直连无需代理:**百炼、智谱、硅基流动、豆包、腾讯云**。 设置里有**「测试云端识别连接」**(发 1 秒静音,验证地址与 Key 是否通)。 共 **6 个云端发声模型**、**33 个音色**。大笛知道这份清单(含每个音色的特色), 所以可以直接问它「有哪些发声模型」「有哪些音色」。 | 模型 | 音色数 | 特点 | 音色(特色) | | --- | --- | --- | --- | | CosyVoice2 0.5B(硅基流动) | 8 | 实测最快(约 0.8 秒) | Anna 亲切 / Bella 甜美 / Claire 知性 / Diana 明亮 / Alex 沉稳男 / Benjamin 清亮男 / Charles 磁性男 / David 温和男 | | 豆包 Seed-TTS(火山引擎) | 9 | 实测约 0.9 秒 | Vivi 多语种默认 / 爽快思思 利落 / 知性灿灿 角色感 / 甜美小源 / 小何 自然 / 暖阳 客服腔 / 高冷御姐 / 舟 男声 / 小天 年轻男声 | | GLM-TTS(智谱) | 7 | 返回 wav,支持情感与语调 | 彤彤 默认 / 锤锤 偏厚 / 小陈 年轻 / Jam、Kazi、Douji、Luodo(动物圈卡通音,适合哄小孩) | | Qwen3-TTS Flash(百炼) | 4 | 国内直连、延迟低 | 芊悦 Cherry 温柔 / 晨煦 Ethan 阳光男 / 苏瑶 Serena 知性 / 千雪 Chelsie 甜美 | | Qwen3-TTS Instruct(百炼) | 4 | **支持「情感 / 语气指令」** | 同上 4 个;想让它说"温柔亲切"就用这个模型 | | MiniMax 语音(腾讯云 TokenHub) | 1 | 实测约 1.0~1.6 秒 | MiniMax 女声(自定义可填 voice_id) | > **选音色的思路**:要陪伴感选 Anna / 芊悦;要念资讯清楚选 Claire / 苏瑶; > 要讲故事选 Charles(磁性男)或豆包「知性灿灿」;哄小孩用 GLM 的动物圈音色; > 要有性格选豆包「高冷御姐」。(这些判断大笛也懂,直接问它就行。) --- ## 8. 回声治理(它自己跟自己说话怎么办) 车机上最容易踩的坑:**大笛说的话被麦克风收回去,被当成"用户提问",于是又答一遍,无限循环。** 原因有两个,一个硬件一个软件: 1. Android 的**硬件回声消除(AEC)只在"通话通路"上有效**。AEC 需要一路"参考信号" (扬声器此刻在放什么)才能把它从麦克风信号里减掉,而那路信号属于通话通路; 2. 播报结束的那一瞬间,**"横跨了播报期的那次录音"会被当成你说的话**提交给大模型。 本应用有三重保障(**前两重默认生效**): | 保障 | 默认 | 说明 | | --- | --- | --- | | 播报期间只认唤醒词,其它话等说完再听 | ✅ 开(默认档) | 麦克风仍开着(否则听不到唤醒词),所以**不是**物理隔离;无 AEC 的车机仍可能听到自己的声音 | | 跨播报期的录音整段丢弃 | ✅ 开 | 绝不送去识别,这是循环的直接堵点 | | 对话结束延时收音 | ⬜ **默认关** | 打开后:播报期间**完全不收音**(物理上听不到自己的声音),说完再等 N 秒开麦,**默认 2 秒**、0~5 秒可调 | | 通话通路回声消除(硬件 AEC) | ⬜ 默认关 | 走通话通路启用 AEC,副作用是音量归属可能变化 | **怎么选**: - 想**随时插话**(边说边打断)→ 打开「通话通路回声消除」; - 想要**最稳、绝不循环** → 打开「对话结束延时收音」 (打开后会自动把「可被打断」切到「不可打断」,两者语义互斥); - **开了通话通路后如果没声音,请把它关掉**,不影响其它两重保障。 --- ## 9. 车机适配 ### 9.1 支持的屏幕 已适配 **Android 10 ~ Android 16**: | 场景 | 悬浮框宽度 | | --- | --- | | **手机竖屏** | 约屏幕 92% | | **车机横屏**(如 15.6 寸) | 约屏幕 46%,字号放大,不挡导航 | | **车机 / 平板竖屏** | 约屏幕 66% | 已实测机型:**一加 11 / Android 16 (ColorOS 16.0.5)**; 目标车机:**比亚迪宋 Pro DM-i 2023 冠军版 卓越型(高通 6155 · 8G+128G)**。 ### 9.2 让车机自带的小迪打开大笛 到「**设置 → 常驻唤醒与悬浮窗 → 车机语音打开别名**」进入管理页: 列表里有 **序号 / 别名 / 备注 / 启用开关**,默认全部关闭。 打开某个别名后,桌面会多出对应名称的图标,之后对车机说「小迪打开大笛」即可启动 (随手关掉,桌面图标就消失)。 > 受 Android 限制,别名名称必须在安装包里**预注册**,App 预置了 **12 个**常用名称供勾选。 ### 9.3 车机没声音怎么办 按顺序试这三步(都在「**设置 → 语音播报**」里): 1. 看顶部状态条写的「**系统 TTS 引擎:N 个**」。如果是 **0 个**,说明车机把自带 TTS 锁给自家助手了 —— 请改用**离线发声**(先下一个小模型)或**云端发声**; 2. 点「**诊断车机自带 TTS(逐个引擎试)**」:它逐个引擎做 「初始化 → 中文 → 朗读 → 合成到文件」,给出可复制的报告。 若显示「合成到文件 ✅」却还是听不到,就是**音频通道**问题,走第 3 步; 3. 点「**车机没声音?点我逐个通道试**」:一组一组播「叮咚」,哪组听到就点哪组, 设置立刻保存。 > 🆕 **「试听系统发声」现在有双重保护(v1.4.56)**:点击后**先弹确认框**, > 写清"会发生什么、极小概率要让车机重启",并列出当前通道/麦克风通路/硬件降噪状态; > 确认后才发声,而且**试听前后都会自动做音频安全检查**(清掉通话流、卸掉硬件效果、 > 结束后恢复原发声方式并做一次状态保险)。 > 开着「硬件降噪」等高风险项时,确认框里会额外给出警告与建议。 另外:音量在「发声音量」或首页音量按钮里调; 「播报前申请音频焦点」默认打开(部分车机不申请焦点就不给声音)。 #### ⚠️ 车机整机音频哑了(麦克风 + 媒体 + 别的 App 全没声音) **症状**:车机音频复位正常之后,**只要打开大笛、什么都不做**,音响和话筒就全故障 (别的应用也没声音);退出大笛没用、熄火再点火也没用,**只有长按电源键强制重启车机**才恢复。 **原因(v1.4.54 / v1.4.55 已定位并修复)**:两个坑叠在一起 —— 1. **声音被送到"通话流"**(`STREAM_VOICE_CALL`):车机当成"有通话",DSP 停在通话路由不放; 2. **一打开 App 就占麦克风、并且挂上车机 DSP 的语音效果**:以前即使用户没开「常驻唤醒」, 进主界面也会临时开麦;而每次开麦都会挂上 **噪声抑制 / 回声消除 / 自动增益**, 挂了又**从不释放** → 整机话筒与喇叭一起停在语音路由(车机侧,只能重启车机)。 **v1.4.55 的修法(预防为主)**: - **没用「常驻唤醒」时,打开 App 不再自动开麦**(要用语音时点话筒 / 悬浮框即可); - **不再默认挂车机硬件降噪**(在「设置 → 语音识别 → 行车降噪」里可手动开;默认关, 软件降噪照常工作),而且挂上的一定会**显式释放**; - **录音默认用原始麦克风**(新增开关「**用原始麦克风(车机兼容,建议开)**」), 绕开车机那条"占用不放"的语音增强通路; - 「通话」通道从下拉里移除(只有开启「通话通路回声消除」时才会出现); - 打开 App 不再提前初始化系统 TTS。 **已经哑了怎么办**: 1. 到「**设置 → 语音播报 → 车机音频哑了?点这里复位**」(或 「设置 → 常驻唤醒与悬浮窗 → 车机声音/麦克风修复 → 深度修复」)先试一次; 2. 仍然没声音 → **长按车机电源键强制重启**(车机侧卡住时,这是唯一办法); 3. 之后别再选「通话」通道、也别反复点各种"试听/自检"。 ### 9.4 车机说话一卡一卡的、半天不出声 这台车机是四核 A53,别用大模型:进「**设置 → 语音播报 → 低配车机优化**」, 打开「**车机低配模式**」(自动切到已安装模型里最轻的那个 + 2 线程), 或者直接改用**云端发声**。 设置页会显示「上次离线合成:N 字用了多少 ms、几倍音频时长」,超过 **1.2 倍** 就说明该换小模型了 —— **Piper huayan(~77MB)** 和 **MeloTTS(~74MB)** 是车机推荐。 --- ## 10. 数据与备份 ### 10.1 密钥怎么改 密钥**只能覆盖不能查看**:进「密钥管理(含完整备份)」点对应的一行, 编辑框是空的,直接粘贴新的 Key 保存即覆盖; 如果什么都不填就点保存,会**保留原来的密钥**(不会误清空)。 ### 10.2 换设备 / 备份 **「设置 → 密钥管理(含完整备份) → 完整导出」**一个文件就够 (含自建端点、模型、以及全部密钥,AES-256 加密),新机器上「**完整导入**」即可。 两台设备在同一个 WiFi(比如车机 ↔ 手机)时,用「**局域网分享**」更快: 一台点「开始分享」得到 6 位码,另一台输码即可,**不需要任何文件管理器**。 > **局域网分享搜不到设备,但手输 IP 就能连?** > 手输 IP 的输入框会**预置你所在网段的前缀**(例如 `192.168.0.`), > 你只要补最后一段就行;也可以整段改掉,或者带上端口 `192.168.0.7:39000`。 > 搜不到通常是路由器开了「访客网络隔离 / AP 隔离」。 ### 10.3 局域网推送新版本(换设备 / 升级用) 两台设备**连同一个 WiFi**,一台把**本机正在用的安装包**推给另一台: | 步骤 | 高版本那台(发送) | 要升级那台(接收) | | --- | --- | --- | | 1 | 设置 → 数据管理 → **推送 / 接收新版本** → 「开始推送本机版本」 | 同一页面 → 「**查找推送设备**」 | | 2 | 显示 `http://IP:端口`,**1 小时内有效** | 约 3 秒列出对方,标注「可更新」 | | 3 | 看到「设备 x.x.x.x 开始下载…」和**进度条** | 选设备 → 自动下载,**进度条 + 速度** | | 4 | 传完显示「已推送完成(IP)· 已完成 N 台」 | 点「**安装下载好的新版本**」交给系统安装 | - **断点续传**:中途断网不用重下 —— 已下载的部分会保留(`.part`), 再点一次会从断点继续,两边都会提示"续传中"; - **1 小时有效**:发送端到时自动停止(也可以随时点「停止推送」); 关掉发送端那一页**不会**中断正在进行的传输; - **清空推送缓存**:页面最下面一个按钮,删掉半成品和已下载的安装包; - 接收端会**核对安装包的哈希与包名**,对不上就拒绝安装 —— 防止被冒充的设备骗装别的应用。 > 安装时系统会要求「允许安装未知应用」,并且会用**签名**校验包(签名不符会被拒绝)。 ### 10.4 车机上导出备份后导不回来? 现在导出时**会在本机同时留一份**,导入时会先弹出「本机备份清单」 (文件名 / 大小 / 时间 / 位置),**点一下就直接导入**,完全不需要车机的文件管理器; 另外还提供「系统文件选择器(可选)」「粘贴备份内容」「输入文件路径」三条补充路径。 --- ## 11. 常见问题 ### 11.0 闪退 / 打不开怎么查(v1.4.46 新增) **先说结论**:v1.4.46 修掉了「点设置闪退」和「车机打不开 App」的**同一个真凶** —— 本机配置里某个键的**数据类型不对**(导入配置、局域网分享、系统备份还原、 或跨版本改过类型都可能造成),读取时直接抛异常。以前它会把设置页整页、 甚至 App 启动整段带走。现在: - 读配置时**遇到类型不对会自动纠正并写回**(自愈),日志里会留一行 「**配置自愈:键 xxx 原本是 Integer…**」——看到这行就说明本机确实有坏键,而且已经被理顺; - 启动的每一步都单独兜底,任一环节出问题也**照样能打开**,并记一条 `boot:` 面包屑; - 万一真的还没起来,会显示**一页写明原因**的界面(不再是"一闪而过")。 **怎么把日志拿出来(重点)**: | 方式 | 路径 | | --- | --- | | 应用内 | **设置 → 数据管理 → 崩溃 / 异常日志** → 「查看最近一条」/「**导出崩溃日志**」(落「下载」目录) | | 文件管理器 / U 盘 / 电脑 | `/sdcard/Android/data/cn.imlc.ai.assistant/files/crash.log` | > ⚠️ 注意路径是 **`Android/data/…`**(`Android` 在存储根目录下), > 不是别的地方 —— 这里不用 root 也能取到。 > 拿到日志后,把最后一条 `boot:` 那行、以及任何带 `Caused by` 的行发出来就能定位。 **遇到闪退时的三步**: 1. 先点 **设置 → 数据管理 → 崩溃 / 异常日志 → 导出崩溃日志**,把文件发出来; 2. 急着用的话:**设置 → 数据管理 → 清空全部历史对话** + 重新导入一份**自己导出**的配置 (别用来路不明的配置); 3. 车机上打不开、又不方便取日志:直接用**局域网推送**把新版本推过去装一遍 (见 10.3),新版对坏数据的容错强得多。 ### 11.1 唤醒与悬浮框 **Q:说唤醒词没反应?** 1. 到「设置 → 常驻唤醒与悬浮窗 → **后台唤醒自检**」点一下,它会告诉你卡在哪一步; 2. 确认麦克风、悬浮窗、通知权限都给了; 3. **一定要关掉电池优化并允许自启动**,否则退到后台会被系统冻死。 **Q:悬浮框弹不出来?** 主界面顶部会常驻一条提示条,点「**一键授权**」直接跳到系统的「显示在其他应用上层」页面; 也可以点标题栏的悬浮窗图标测试,或到「设置 → 常驻唤醒与悬浮窗 → 立即测试悬浮框」验证。 **Q:悬浮框偶尔闪退?** 悬浮框的每一个操作都加了保护,并且加了**崩溃自动落盘**: 下次出问题时,崩溃堆栈会写到应用私有目录的 `crash.log` 里。 车机上没有日志工具,请把这个文件(或截图)发出来,就能直接定位。 **Q:悬浮框总是跑到屏幕最下面、要往上拉?** 车机横屏字号大时整窗可能超出屏幕高度,现在会自动把中间文字区压缩成可滚动, 头部和底部按钮始终留在屏幕内;也可以在「设置 → 个性化」里把悬浮框纵向位置改成「居中 / 靠上」。 **Q:唤醒词在车机上加了看不到 / 加不进去?** v1.4.22 已修。原因是那个列表用的是"懒加载列表"控件、又放在整页滚动里, **新增一行后它不会重新计算自己的高度**,新词就被排在可视范围之外了(手机上碰巧没事)。 现在改成普通逐行添加,高度天然自适应;另外加了「当前共 N 个唤醒词」计数, 新增后会自动滚到新那一行,回车也能直接添加。 **Q:弹窗里的列表只能往下滑、滑不回去?** v1.4.18 已修。原因是底部弹窗自己会吃掉"向上拖"的手势去折叠自己,列表根本收不到。 现在所有弹窗都改成**固定框架**:一打开就撑到接近满屏,弹窗本身不再跟手拖动, **上下滑动全部交给列表**,想退出按返回键或点「取消」即可。 普通弹窗(导入备份、报错详情这类)也改成**内容超长时在弹窗内部滚动、底部按钮始终可见**。 ### 11.2 语音识别 **Q:能唤醒它,可是说话它听不到 / 很难才听到一句?** v1.4.40 针对这个问题做了三件事(也修了三个真实原因): 1. **麦克风"永久禁听"的兜底**:以前开麦与否完全取决于"发声引擎说自己说完了", 而某些车机 TTS 永远不上报"说完" → 说过一句之后麦克风就再也不开了。 现在加了**播报看门狗**:按回答长度算出这句话最多该说多久(8~60 秒), 到点还没结束就强制收尾并恢复收音; 2. **不再每轮都停掉识别**:以前 AI 一说话就把识别停掉,说完再重启 —— 重启要重新握手(云端识别几百毫秒),你紧接着说的那句就落在空窗里。 现在只有「**不可打断**」那一档才停识别; 3. **禁听时间缩短、并且看得见**:开麦等待从 0.7 秒收到 **0.35 秒**, 而且悬浮框会显示「**AI 说完马上听(约 0.4 秒)**」而不是假装"正在聆听"。 另外:**AI 思考期间(还没开口)你直接说话,会被当成新的问题**,不用再喊一次唤醒词。 **Q:想让它说完话停一下再听我说(不想被插话)?** 到「设置 → 个性化」,在「对话中可被打断」下面打开「**对话结束延时收音**」, 用下面那根横线调延时(0~5 秒,**默认 2 秒**)。 这是最稳的配置:AI 说完后安静等 2 秒再开始听,彻底告别"自己跟自己聊"。 **Q:行驶中唤醒不灵、识别老是听错?** 进「设置 → 语音识别 → **行车降噪**」:城市道路选「标准」,高架/粗糙路面选「强」, 高速巡航选「极强」。它会用高通滤掉轮胎低频噪声 + 平滑噪声门 + 自动增益, 并优先调用车机音频 DSP 的硬件降噪;「唤醒监听时也降噪」默认开启。 **Q:提示"未检测到系统语音识别服务"?** 这是正常的 —— 大部分国产 ROM 不对外提供系统识别。请到「设置 → 语音识别」选择 **离线识别**(推荐,不用 Key,需先下载模型)或**云端识别**。 **Q:豆包「测试连接」显示 `20000003 ... no valid speech in audio` 是坏了吗?** 没坏,**这恰恰说明配置全对**。`20000003` 是官方的"**这段音频里没有人声**"正常返回, 而「测试连接」固定发 1 秒静音,所以必然是这个结果 —— 它会被判为**连接成功**。 **Q:豆包识别报 `no protocol: volcengine.asr_flash`?** v1.4.17 已修(那是把端点的**标识**当**地址**用了)。 现在豆包识别固定是**极速版 HTTP 优先 → 失败再走流式 WebSocket**,两条都失败会把两条的错误一起显示。 **Q:豆包识别报 `45000030 requested resource not granted`?** 说明这把 Key **本身有效**,只是该账号还没开通对应档位。 到豆包语音控制台「开通管理」开通「流式语音识别 2.0」或「录音文件识别(含极速版)」即可。 ### 11.3 语音播报 **Q:车机上大笛有字幕但完全没声音?** 见 [9.3 车机没声音怎么办](#93-车机没声音怎么办)。 **Q:一句话里有逗号,会被拆成几段说、中间还卡一下?** v1.0.53 已修:现在只在**句末标点**断句,一句话一定一次性说完; 云端发声还改成"边播边合成下一句"的流水线,句间不再等网络。 想要语调最连贯,可打开「等整段说完再播报」。 **Q:想让大笛说话更有感情?** 发声模型选百炼 **`qwen3-tts-instruct-flash`**,再在「语音播报 → 情感 / 语气指令」里写 「用温柔亲切的语气,像跟车主聊天一样自然」(其它模型不支持该指令,输入框会直接提示)。 也可以点「**云端发声测速**」,用同一句话实测每家服务商的耗时,一键选最快的那家 —— **测速不会改动你当前的模型和音色**。 **Q:装完之后没有声音、也没 Key,能用吗?** 能,但**要先下载一个离线模型**。三条路任选: 1. **离线发声** —— 「设置 → 语音播报 → 离线发声模型」点「下载」,车机推荐 Piper huayan 或 MeloTTS; 2. **系统发声** —— 直接把「语音朗读」交给车机自带 TTS(部分车机不自带,见 [9.3](#93-车机没声音怎么办)); 3. **云端发声** —— 填一个云服务商的 Key,音质最好但要联网。 离线**识别**(含唤醒)同理,也要先下载 **Vosk 小模型(42 MB)** 才能离线唤醒。 ### 11.4 对话 / 搜索 / 音乐 **Q:Kimi K3 报「连接失败」,或提示 `Not found the model kimi-k3 or Permission denied`?** **这不是 Bug,是账号还没充值。** Kimi K3 是旗舰模型,官方要求 **在开放平台充值(最低 10 元)后才能调用**,新用户赠送的 15 元代金券**不能**用于 K3。 模型名 `kimi-k3` 是对的,不用改;到 充值后即可。 另外 K3 的两条规矩 App 已适配:它固定 `temperature=1.0`(传别的值会报错,所以干脆不传); 多轮对话要求把上一轮回答**原样**回传(含思考内容)。 **Q:说「播放音乐」它说没找到?** 先看「设置 → 音乐 → 曲库来源」那行的提示: - 「在线曲库」→ 本地是关的,只找在线;如果在线也没结果,检查车机能不能上网; - 「本地优先 + 在线兜底」→ 本地扫不到、在线也失败,通常是网络问题; - 「本地与在线都关着」→ 至少把「在线曲库」打开。 也可以点上面的「试听:按歌名/歌手搜本地曲库」看**本地到底扫到了几首**(这只是预览)。 **Q:想让大笛用 U 盘里的歌?** 到「设置 → 音乐 → **曲库来源**」打开「**使用本地曲库**」—— 打开后变成"本地优先、在线兜底"。 **Q:搜索测试是好的,可是点歌就是没声音?** 会**说清原因**并让你换一首,不会闷着不出声。如果它报的是"在线直链没放出声音/加载超时", 通常是这首歌的源被挡了,换一首或换个歌名一般就好。 **Q:怎么让它讲故事 / 听小说?** 见 [4.5](#45-讲故事--听小说)。内容全部来自**公开免 Key 接口**: | 来源 | 适合 | | --- | --- | | **Gutendex 公版书**(古腾堡) | 整本公版小说 | | **Internet Archive 全文库** | 中文古籍 / 公版小说全文 | | **网页搜索 + 正文抽取** | 通用兜底,命中率最高 | | **中文维基百科条目** | 童话、寓言、成语故事、小说梗概 | | **维基文库** | 公版小说、古文、长篇 | | **今日诗词** | 短篇、诗词 | 查找顺序是**故意排的**:小说/故事来源排在前面,「维基文库」固定**倒数第二**、 「今日诗词」固定**最下面**(诗词只有一句,读故事勉强、读小说不行)。 想只用某一个源,可以在「讲故事 / 听小说 → **内容来源**」里指定。 **Q:搜不到内容怎么办?** 免费接口在部分地区或网络下可能连不上,失败时它会**把每个来源的原因列出来**。 这时可以:换个关键词、换「内容来源」,或者干脆让大笛**现编一个故事**。 ### 11.5 账号与登录 **Q:为什么升级到新版本后第一次打开要我登录?** v1.4.35 之前没有登录功能,所以升级上来时本机没有"登录凭证",需要**登录一次** (用出厂密码即可)。这是设计如此,不是升级出错 —— 登录一次之后 **1 年内都不用再输**。 **Q:提示"密码错误次数过多,请 N 秒后再试"?** 连输错 **5 次**会锁 **30 秒**(防别人乱试),倒计时结束再试即可。 **Q:能不能不用密码,直接把登录去掉?** 不能只删图标就完事:本机的**车机语音别名(12 个)和桌面快捷方式**都被加了同样的门禁, 未登录时会被送回登录页,开机也不会自启常驻服务 —— 否则就是个假登录。 **Q:登录状态存在哪?会不会被导出 / 分享出去?** 存在应用私有的 `dadi_auth` 里,**不进配置导出、不随局域网分享、也不进备份**, 所以换台车就得重新登录一次。 **Q:怎么改密码?** 点**大笛头像**进账号页 → 「修改密码」→ 填当前密码、新密码(≥6 位)、确认 → 保存。 改完**不用重新登录**,下次登录用新密码。 **Q:为什么每次都要输密码?** 到登录页把「**自动登录**」勾上(默认就是勾上的)。勾了之后,**1 年有效期内** 打开应用直接进主界面。如果你**主动退出登录**,或者**超过 1 年**,就需要重新输一次。 **Q:登录有效期到了会怎样?** 回到登录页,并提示「登录已过期(有效期 1 年),请重新登录」。 重新登录后有效期从当天重新算 1 年。 **Q:想退出登录 / 换台车用?** 点**大笛头像 → 账号页 → 退出登录**(或 **设置 → 关于 → 当前登录账号 → 退出登录**)。 退出会同时停掉常驻唤醒,并且开机不再自启;想再用就重新登录。 ### 11.6 密钥与报错 **Q:识别 / 对话报错 Key 无效?** 到「设置 → 密钥管理(含完整备份)」确认对应那一行已填写。 对话、发声、识别、搜索各自用哪个凭证槽,在各自页面里选模型时就能看到; 选中模型后如果提示"还缺密钥",直接在弹窗里填即可。 > Kimi 遇到 401 请确认用的是**中国站** platform.kimi.com 的 Key —— > 中国站与国际站的账户和 Key 完全独立。 **Q:我用了第三方库吗?会不会偷偷联网?** 用的都是**打进安装包、离线运行**的库,没有任何"运行时下载代码 / 模型"的行为: | 库 | 干什么 | 体积 | | --- | --- | --- | | Vosk / sherpa-onnx | **离线**语音识别(本地推理) | 随模型 | | Java-WebSocket | 云端流式识别 / 端到端实时语音的 WebSocket 连接 | 209 KB | | Media3 ExoPlayer | 在线 / 本地音乐的播放内核(缓冲、重试、音频焦点) | 约 2.8 MB | HTTP 请求用的是系统自带的 `HttpURLConnection`、JSON 用系统自带 `org.json`、 加密用系统自带 `javax.crypto` —— 这些不是"自己写的协议"。 ### 11.7 实时语音 **Q:实时语音能对话,但听到的全是杂声 / 电流声?** v1.4.44 已修(原因是下行音频格式声明写成了 `pcm`,而官方只接受 `pcm_s16le`, 于是客户端把一个非 16 位 PCM 的字节流当 PCM 播)。 如果升级后仍有杂音,请把日志里 `DaDi` 标签的 `audio delta #0 bytes=…` 发出来 —— 正常应当是**偶数、约 960 字节**(24k × 20ms × 2 字节)。 --- ## 12. 隐私与安全 - **语音在「系统识别」和「本地离线」模式下完全不出本机**; 只有选「云端识别」时才把检测到的人声发到**你自己配置**的接口; - **所有对话只存在本机**,没有任何埋点或广告 SDK; - **密钥存在应用私有目录里**,其他应用读不到;界面上**只能覆盖不能查看**; - **「完整导出」出来的是 AES-256-GCM 加密容器**,可以安全地拷到另一台设备导入 —— 用文本编辑器打开看不到任何 Key; - **配置备份(不含密钥)** 里确实不含密钥:迁移过程留下的老密钥快照、 以及在线曲库的 Key,都不会跟着它导出; - **凭证与登录令牌不进系统云备份、也不进 `adb backup`**; - 局域网**推送新版本**时,接收端会核对安装包的**哈希与包名**,对不上就拒绝安装。 --- ## 版权 ``` Copyright © XAF 2026.9 官方网站:https://ai.imlc.cn ``` 本项目仅供个人学习与自用;使用第三方 AI 服务请遵守对应平台的服务条款。 面向开发者的架构说明与完整变更记录见 [`docs/develop-readme.md`](docs/develop-readme.md)。