PROJECT 02 · AI 效率工具

润言 —— 语音直出可用文字的端到端交付

个人项目 · 角色:独立开发者 / 产品负责人(需求 → 架构 → 编码 → 打包交付全链路)
01 · 项目定位解决什么人的什么问题

痛点

自媒体博主、文案写手用传统语音输入时"只转字、不可用":口水词、断句混乱、中英识别失真全留给用户手改——省下打字时间、赔进修改时间。

方案

四段式流水线让语音内容直出可用文字:热键说话,AI 转写后由 LLM 自动清洗口水词、补标点、保留原意,直接输入到光标位置。

交付

从功能原型到含系统托盘、热键触发、使用统计的完整 Windows 可分发客户端,25 轮真实使用驱动迭代。
02 · 产品工作流四段式流水线 · 转写层双引擎可切换
语音直出可用文字录音 → 转写 → 清洗 → 输入,全流程自动化
用户只需热键说话,剩下全部自动完成
① 录音全局热键触发,系统音频流式采集
② AI 转写(双引擎)Groq whisper-large-v3(云端快)/ SenseVoice(本地稳,中英混说不乱码)
③ LLM 清洗Gemini / DeepSeek,7 条系统 Prompt 约束 + 启发式兜底校验,核心边界"去冗余、不改原意"
④ 自动输入pynput 模拟键盘,输入到当前光标位置
为什么是这 4 段:转写引擎只负责"听准",不负责"听懂语境";LLM 清洗层专门处理"口语 → 书面语"的落差,7 条约束全部来自 25 轮真实使用中暴露的 Bad Case,逐条沉淀。
热键触发Groq WhisperSenseVoicePrompt 工程自动输入
03 · 产品演示核心链路跑通 · 界面设计判断
核心链路演示
按热键说话 → 本地 / 云端转写 → AI 清洗润色 → 自动粘贴到光标位置
润色效果
润色效果
口语"我觉得吧 嗯就是 我觉得 嗯怎么说 还是不要吃饭比较好" → 输出"我觉得还是不要吃饭比较好。"
状态胶囊:让后台进度可见
把看不见的录音、处理、完成、粘贴状态,变成用户能即时判断的悬浮反馈。
旧版状态胶囊
重构前:只提示"录音中",后续是否成功需要用户判断。
新版状态胶囊
重构后:多阶段状态反馈,支持移动位置,减少遮挡。
从单一录音提示,升级为覆盖录音、处理、完成、失败的实时状态层。
产品界面:关键节点不让用户猜
核心链路跑通后,界面设计的重点不再是"展示功能",而是让用户在配置、使用、失败三个关键节点都有明确反馈。
可理解
用户先看懂工具在做什么。
可配置
转写、清洗、热键按决策路径分区。
可诊断
失败时能定位录音、转写、清洗或输入环节。
页面 1 · 设置页:从参数堆叠到配置中心
设计判断:配置项不按技术字段平铺,而按用户决策路径组织。
旧版把 API Key、模型名、快捷键和测试入口堆在同一页;新版拆成转写服务、文本清洗、输入快捷键、当前配置,让用户先选择方案,再验证状态。
设置页(重构后)
润言设置页重构版
转写引擎选择、热键自定义、清洗风格三区独立,配置路径清晰。
展开查看旧版
旧版界面
旧版设置页
API Key、模型名、快捷键、测试入口平铺同页
参数字段平铺 → 按转写 / 清洗 / 快捷键分区,配置路径明确
配置是否生效不清晰 → 当前配置状态区独立可见
测试入口弱反馈 → 独立测试区实时展示结果与服务商状态
页面 2 · 使用说明:从说明文档到用户教育
设计判断:说明页不是功能列表,而是新用户第一次成功使用的路径。
新版把快速开始、快捷键、转写模式、API Key、隐私安全和 FAQ 分区呈现,降低第一次使用门槛。
使用说明(重构后)
润言使用说明页
步骤化引导,快速开始 → 核心操作 → 场景进阶,上手路径清晰。
展开查看旧版
旧版界面
旧版使用说明页
纯文本说明,阅读路径弱,新用户不知道先做什么
纯文本说明 → 卡片化帮助中心,信息层级清晰
阅读路径弱 → 快速开始 / 快捷键 / 模式 / API Key / FAQ 分区导航
用户需要自己找重点 → 按首次上手路径组织信息,降低认知门槛
页面 3 · Debug 日志:让 AI 工作流可观测
设计判断:AI 工具不仅要设计成功路径,也要设计失败路径。
Debug 页按录音、转写、清洗、错误分类展示日志,帮助定位是麦克风、模型服务、清洗接口还是粘贴链路的问题。
Debug 调试面板(新增)
润言 Debug 调试面板
录音 / 转写 / 清洗 / 输入各环节日志分区,定位不依赖截图反馈。

旧版无独立 Debug 页,本页为重构新增诊断入口。

页面 4 · 转写记录:让使用结果可见
设计判断:工具价值不只发生在输入瞬间,也应该沉淀为可查看记录。
转写历史、字数统计、服务商来源和搜索筛选,让工具不只是"当下输入",也能回看使用结果。数据仅存本机,无云端同步。
转写记录(重构后)
转写记录页
历史转写与用量统计,支持搜索与服务商筛选。
展开查看旧版
旧版界面
旧版转写记录
简单历史列表,无统计、无筛选
简单历史列表 → 统计卡片 + 历史记录,使用价值可见
使用结果不突出 → 节省时间 / 字数统计 / 服务商来源独立展示
记录只可查看 → 支持搜索、服务商筛选和分页浏览
产品方法沉淀:AI 工具的产品感,不是把模型能力堆出来,而是让用户在配置、使用、失败三个关键节点都有明确反馈。
信息架构用户教育可观测性
04 · 架构决策为什么做双引擎 —— 调参不解决就换架构,每一步有证据
第一步 · 发现问题
中英混说场景转写乱码:英文主导时后续中文被整句翻译成英文
第二步 · 穷尽低成本手段
4 轮 prompt / language 参数调优,全部无效
第三步 · 调研定根因,换架构
确认 Whisper 架构不支持 code-switching、无参数可修复 → 接入 SenseVoice 本地引擎
结论:形成"云端快(Groq whisper-large-v3)、本地稳(SenseVoice,离线 + 中英混说稳定)"的双引擎可切换架构,用户按场景自选。
05 · 25 轮迭代闭环发现 → 归因 → 修复 → 验证,Bad Case 沉淀为产品规则
阶段轮次主线
产品 / UX 塑形1-7按住说话改造 → 热键修复 → 转写记录与用量统计 → 胶囊动画 UI → 托盘常驻 → 主窗口三合一
联调与打包8-10白盒自测脚本(全项 PASS)→ 重新打包验收 → Whisper prompt 调优
核心技术攻坚11-14中英混杂乱码 4 轮调参 → 调研确认 Whisper 架构限制 → 接入 SenseVoice 形成双引擎
分发工程化15-20含 SenseVoice 可分发打包 → 定名「润言」→ 目录结构清理
打磨验收21-24统计可配置 → 界面修复 → 第 24 轮修复"疑问句被实质性回答"幻觉(55 字问句 → 331 字建议)
25麦克风常驻预热 + 0.8s 预录环形缓冲,回溯抓取按键前音频,修复"录音开头被吞"(首字吞音,见下方)
第 25 轮(最新)· 解决录音首字吞音
传统"按下才开麦"有冷启动延迟,说话头 0.x 秒被吞 → 改为麦克风常驻预热 + 0.8s 预录环形缓冲,按键时回溯抓取按键前音频,彻底消除丢字。
把"按下才开麦"重构为麦克风常驻流,启动预热、误触判定与退出释放三处联动,保证随时能回溯到按键前的声音。
清洗层幻觉类型从 2 类扩到 3 类(对话式回复 / 中文过度删除 / 疑问句被实质回答),每个 Bad Case 都沉淀为新的 Prompt 约束——产品边界随真实使用持续校准。
06 · 测试逻辑与方法回归测试集沉淀 + 脚本化
回归测试集沉淀:每出现一个 Bad Case,就把出错的那条输入固化成一条回归用例;之后每改一次清洗 Prompt,都对全部历史用例重跑真实 API,全部通过才算修复完成,杜绝"修一个坏一个"。
白盒自测脚本:核心逻辑用脚本自测,不依赖真实麦克风与网络,可重复执行,每次改动都能快速回归
真机验收循环:以自身为种子用户,每轮"打包 → 真机验收 → 修复 → 再打包"
25 轮真实使用迭代Windows 可分发客户端数据 100% 本地化
07 · 反思
最小可用交付 > 完美空想:与其想清楚再做,不如先交付一个能用的 Windows 客户端,让真实使用暴露真问题——双引擎架构正是真机中英混说踩坑后才定的
回归测试集是 AI 产品的安全带:每个 Bad Case 都固化为一条回归用例,改 Prompt 必跑全量、全绿才算修复——LLM 行为不稳定,回归集是唯一能锁住质量的工程手段