11 KiB
11 KiB
OpenLess 产品需求文档
更新时间:2026-04-26
本文是 OpenLess 第一轮开发的主需求文档,由现有调研文档、竞品评论总结、概念诊断和整体逻辑文档融合而成。后续开发优先以本文和 openless-development.md 为准。
1. 产品结论
OpenLess 要解决的不是“语音转文字”这个单点功能,而是:
用户在真实工作流里想表达一段内容时,不想被键盘速度、口语整理、格式修正、跨应用插入和隐私担忧打断。
因此,OpenLess 的第一轮产品定位是:
本地优先、低打扰、可控润色的 macOS AI 语音输入层。
第一轮默认 UI 不是大输入框,而是 Typeless 类产品那种底部微型状态胶囊:只有录音、处理、完成、失败时出现,左边叉号,中间动态条,右边勾号,只做状态提醒。
2. 目标用户
第一轮优先服务以下用户:
| 优先级 | 用户 | 高频场景 | 主要痛点 |
|---|---|---|---|
| P0 | AI 工具重度用户 | ChatGPT、Claude、Cursor、Perplexity | Prompt 想得快,打字慢 |
| P0 | 中文和中英混输用户 | 微信、飞书、文档、AI prompt | 中文标点、英文术语、产品名容易错 |
| P1 | 开发者/产品经理 | Cursor、Issue、PR 评论、需求说明 | 长文本、技术词、结构化表达成本高 |
| P1 | 知识工作者/创作者 | 邮件、备忘录、文档、社媒草稿 | 想法容易被打字打断 |
| P1 | 隐私敏感 Mac 用户 | 工作资料、客户信息、内部内容 | 不清楚音频和文本是否上传 |
第一轮不主攻:
- 会议纪要用户。
- 批量录音文件转写用户。
- 企业管理员。
- 全平台用户。
- 语音控制电脑的用户。
3. 用户痛点与产品回应
| 痛点 | 用户真实问题 | OpenLess 的回应 |
|---|---|---|
| 想得比打得快 | 想说一大段,但打字慢,思路被打断 | 全局快捷键说话,结束后自动输入 |
| 原始转写不可直接用 | 语音里有口癖、重复、停顿、临时改口 | 默认轻度润色,去口癖、补标点、自然分段 |
| AI 味太重 | 润色后不像自己说的话 | 保留用户习惯,不强行扩写、不替用户创作 |
| 跨应用不稳定 | 插入失败、输入框失焦、结果丢失 | 插入失败自动复制,并保存到本地历史 |
| 订阅价格敏感 | 用户不愿为普通转写长期月付 | 本地买断为基础,云端增强可选订阅 |
| 隐私焦虑 | 不知道是否一直监听,音频去哪了 | 明确 push-to-talk,本地/云端/BYOK 状态可见 |
| 中文体验不足 | 中文标点、中英混输、技术词容易错 | 中文和中英混输作为第一轮核心验收 |
第一轮必须排除的伪需求:
- 不做完整 AI 写作工具。
- 不做会议总结。
- 不做语音控制整个电脑。
- 不做复杂 agent 工作流。
- 不做几十种风格模板。
- 不默认后台持续监听。
- 不默认保存音频。
4. 第一轮范围
4.1 必须完成
第一轮必须完成这些能力:
| 模块 | 需求 |
|---|---|
| macOS 常驻应用 | 菜单栏常驻,能打开设置、历史、词典 |
| 全局快捷键 | 支持按住说话,后续可支持切换式录音 |
| 权限引导 | 麦克风权限、辅助功能权限必须有清楚引导 |
| 录音 | 能采集麦克风音频,并给用户明确状态反馈 |
| 底部状态胶囊 | 录音和处理时出现,空闲时隐藏 |
| 语音转文字 | 支持中文、英文、中英混输 |
| 轻度润色 | 默认把口语整理成可直接使用的文字 |
| 输出模式 | 原文、轻度润色、清晰结构、正式表达 |
| 当前输入框插入 | 优先插入到用户当前光标所在位置 |
| 失败兜底 | 插入失败自动复制到剪贴板,并写入历史 |
| 最近历史 | 保存最近输入,支持复制、查看原文、重新整理 |
| 个人词典 | 支持产品名、人名、技术词、缩写 |
| 设置页 | 快捷键、默认模式、隐私、历史、模型路径 |
| 隐私控制 | 明确本地/云端/BYOK,音频默认不保存 |
4.2 暂不完成
第一轮明确不做:
- iOS 键盘。
- Windows/Linux 客户端。
- 团队后台。
- 会议录音总结。
- 批量文件转写。
- 复杂 voice command。
- 截屏上下文理解。
- 跨设备同步。
- 自动长期保存音频。
- 多人协作词典。
5. 主使用流程
标准流程:
- 用户把光标放在任意输入框。
- 用户按住全局快捷键。
- 屏幕底部弹出微型状态胶囊。
- 胶囊中间的白色动态条随声音轻微跳动。
- 用户说完后松开快捷键。
- OpenLess 完成语音识别。
- OpenLess 按当前模式进行整理。
- 结果插入到当前输入框。
- 勾号短暂高亮,胶囊淡出。
插入失败流程:
- 识别和润色仍正常完成。
- 如果当前输入框失焦或无法插入,结果自动复制到剪贴板。
- 胶囊显示“已复制”。
- 本次原始转写和最终文本写入历史。
- 用户可以手动粘贴,或用“粘贴上一条”快捷键恢复。
取消流程:
- 录音中按
Esc或点击左侧叉号。 - 当前录音取消。
- 叉号短暂高亮。
- 胶囊淡出。
- 默认不保存音频。
6. UI 需求
6.1 核心 UI:底部微型状态胶囊
OpenLess 的核心可见 UI 是底部微型状态胶囊,而不是大输入栏。
视觉要求:
| 项目 | 要求 |
|---|---|
| 位置 | 屏幕底部居中,距底边 18-28px |
| 默认状态 | 隐藏,或仅保留极淡小点 |
| Listening 尺寸 | 约 128-180px 宽,32-38px 高 |
| Processing 尺寸 | 约 150-210px 宽,32-38px 高 |
| 背景 | macOS glass/material 质感,半透明深色或浅色 |
| 圆角 | 接近胶囊 |
| 阴影 | 轻,不要网页弹窗感 |
| 左侧 | 叉号,取消 |
| 中间 | 3-5 根动态白色音量条,或 2-4 字状态文案 |
| 右侧 | 勾号,完成/确认 |
| 文本 | 不默认展示完整转写 |
| 颜色 | graphite、white、teal/blue-green 微光,错误用小红点 |
状态要求:
| 状态 | 展示 | 动画 |
|---|---|---|
| Idle | 隐藏或极淡小点 | 无 |
| Listening | 叉号 + 动态白条 + 勾号 | 从底部轻微弹出,白条随音量跳动 |
| Processing | 叉号 + “整理中”或 spinner + 勾号 | 胶囊略微变宽 |
| Inserted | 勾号高亮 | 约 0.8 秒后淡出 |
| Cancelled | 叉号高亮 | 快速淡出 |
| Copied fallback | “已复制” | 保留 2-3 秒 |
| Error | 小红点或“失败” | 点击后才展开详情 |
不要做:
- 不做大输入栏。
- 不在胶囊中显示整段转写。
- 不常驻占屏。
- 不堆模式 chip、语言 chip、provider 名称。
- 不做营销式大动效。
6.2 主窗口
主窗口是设置和管理中心,不是日常输入界面。
建议导航:
- Overview:快捷键、当前模式、麦克风、隐私状态。
- History:最近记录。
- Dictionary:个人词典。
- Snippets:常用片段。
- Modes:输出模式设置。
- Privacy:本地/云端/BYOK、历史、音频保存。
- Settings:启动项、快捷键、模型路径、更新等。
7. 文本输出需求
7.1 输出模式
第一轮只保留 4 个模式:
| 模式 | 目标 | 适合场景 |
|---|---|---|
| 原文 | 尽量保留原句,只补标点 | 代码、引用、术语密集内容 |
| 轻度润色 | 默认模式,去口癖、补标点、轻微整理 | IM、AI prompt、日常输入 |
| 清晰结构 | 分段、列表、步骤化 | 需求、说明、长 prompt |
| 正式表达 | 更适合工作邮件和正式沟通 | 邮件、客户沟通、汇报 |
默认模式:轻度润色。
7.2 润色质量标准
合格输出必须满足:
- 保留用户原始意思。
- 不新增用户没说的信息。
- 不把短句扩写成长篇。
- 不强行改成 AI 腔。
- 口癖、重复、明显停顿词要去掉。
- 中文标点自然。
- 需要时自动分段。
- 中英混输术语尽量保留。
不合格输出包括:
- 擅自替用户下判断。
- 把口语全部改成营销文案。
- 把原始语气改得过于正式。
- 删除关键限制条件。
- 把代码、变量、产品名改错。
- 过度结构化简单短句。
7.3 典型效果
口语输入:
帮我把这个登录页面改一下,接口不要动,然后错误提示统一放到下面,提交的时候别让用户重复点。
轻度润色输出:
帮我调整一下登录页面,保持现有接口不变。错误提示统一放到表单下方,提交时按钮需要禁用,避免用户重复点击。
清晰结构输出:
帮我调整登录页面,要求如下:
- 保持现有接口不变。
- 错误提示统一展示在表单下方。
- 提交时禁用按钮,避免重复点击。
8. 隐私与数据
第一轮隐私原则:
- 默认 push-to-talk,不后台持续监听。
- 录音状态必须清晰可见。
- 音频默认不保存。
- 历史默认只保存文本。
- 使用云端识别或云端润色时必须让用户知道。
- 支持本地优先。
- 支持 BYOK,用户可自带 API Key。
数据保留:
| 数据 | 默认行为 |
|---|---|
| 原始音频 | 不保存 |
| 原始转写 | 保存到最近历史 |
| 最终文本 | 保存到最近历史 |
| 当前 app 名称 | 可保存,用于历史和场景适配 |
| 输入框内容 | 第一轮谨慎使用,默认不长期保存 |
| 个人词典 | 本地保存 |
| API Key | 本地安全存储 |
9. 商业模式
第一轮不建议纯订阅。推荐结构:
| 层级 | 内容 |
|---|---|
| 免费版 | 基础体验、有限额度、完整主流程 |
| 买断版 | 本地无限使用、基础润色、历史、词典 |
| Pro 订阅 | 云端高精度、高级润色、同步、团队能力 |
| BYOK | 用户自带 API Key,适合开发者和高级用户 |
商业判断:
- 用户愿意为稳定、好用、低打扰的输入层付费。
- 用户不愿意为普通 Whisper 套壳长期订阅。
- 云端能力有持续成本,可以订阅。
- 本地能力更适合买断。
10. 第一轮验收标准
第一轮完成后,必须满足:
- 新用户能在 5 分钟内完成第一次成功输入。
- 用户能在常用 app 中用快捷键录音并输入文字。
- 中文、英文、中英混输均能正常输出。
- 默认轻度润色结果可以直接发送或少量编辑。
- 输出不像 AI 代写。
- 插入失败时自动复制,不丢内容。
- 历史中能找回原始转写和最终结果。
- 用户能明确知道当前是本地、云端还是 BYOK。
- 胶囊 UI 足够小,不遮挡主内容。
- 权限缺失时有清楚的修复引导。
11. 参考文档
融合来源:
外部参考: