Files
openless/docs/openless-product-concept-diagnosis.md
T

24 KiB
Raw Blame History

OpenLess 概念版诊断与落地规格

更新时间:2026-04-26

本文用于回答一个核心问题:OpenLess 是否在解决真实痛点,而不是堆一组看起来很 AI 的功能?

结论先放前面:

  • 用户痛点不是“不会打字”,而是“从想法到可用文字之间摩擦太大”。
  • 竞品已经证明语音输入有付费意愿,但用户对高价订阅、隐私不透明、失焦丢内容、AI 味过重非常敏感。
  • OpenLess 的概念版应定位为:本地优先、低打扰、可控润色的 macOS AI 语音输入层,默认 UI 是底部微型状态胶囊。
  • 第一轮必须先把“任意输入框里稳定说话、整理、插入、找回”做扎实,不要先做会议、复杂 agent、团队管理或大而全写作工具。

1. 三视角诊断

1.1 用户视角:痛点在哪里,如何解决?

目标用户不是所有人,而是这些高频输入人群:

用户类型 高频场景 核心痛点 OpenLess 应提供的帮助
AI 工具重度用户 ChatGPT、Claude、Cursor、Perplexity Prompt 想得快,打字慢,长 prompt 输入成本高 直接说出需求,自动整理成清楚的 prompt
创作者/知识工作者 文档、备忘录、邮件、社媒草稿 想法稍纵即逝,打字会打断思路 把口语整理成自然段落,保留用户语气
远程办公用户 Slack、微信、飞书、邮件 短消息频繁,手动输入碎片化 快速生成可发送的自然文本
开发者/产品经理 Cursor、Issue、PR 评论、需求说明 中英混输、术语、人名、函数名容易错 个人词典 + 中英混输 + 轻度结构化
对隐私敏感的 Mac 用户 工作内容、客户信息、内部文档 不希望音频或文字默认上传 本地优先,明确显示本地/云端状态

真实痛点可以归纳为 7 类:

痛点 用户真实表达 竞品不足 OpenLess 第一轮解法 是否真需求的判断方式
打字打断思考 “我脑子里有一大段,但打出来就断了” 很多工具只做逐字转写,仍需大量改写 录音后自动轻度润色、标点化、分段 用户是否愿意在 AI prompt、IM、邮件中一天使用 10 次以上
原始语音不可直接用 “转出来像口水话,还得重写” 只追求识别准确,不解决表达质量 默认输出“像自己认真打出来的文字” 用户是否明显减少二次编辑
AI 润色过度 “它把我改得不像我了” 部分工具太像 AI 写作助手,语气漂移 轻度润色作为默认,保留习惯词和表达节奏 用户是否愿意把结果直接发给熟人/同事
跨应用不稳定 “有时没插进去,有时窗口失焦” 系统权限、输入框兼容、剪贴板回退处理不足 插入失败时自动复制并保存历史,不丢内容 失败场景下用户是否还能立刻拿回结果
价格心理阻力 “只是语音输入,为什么每月十几美元” Typeless/Wispr/Superwhisper 都有订阅或高价 Pro 争议 本地基础能力可买断,云能力按需/订阅 用户是否接受为稳定、润色、隐私付费,而不是为“转写”付费
隐私不确定 “它是不是一直在听?音频去哪了?” 部分产品强调 AI,但录音状态和数据路径不够直观 明确 push-to-talk、状态灯、本地/云端标签、音频保存开关 用户是否能一句话说清“它什么时候听、数据去哪”
中文和中英混输不够好 “中文标点、英文术语、产品名容易错” 很多竞品更偏英文语境 中文标点、本地词典、专有名词、中英混输作为核心验收 中文用户是否觉得它不是英文产品顺便支持中文

需要排除的伪需求

以下内容看起来高级,但第一轮不应作为核心:

  • “用语音控制整个电脑”:这是语音助手路线,不是输入工具路线。
  • “自动帮我写完整文章”:这会把产品带向 AI 写作工具,偏离“输入层”。
  • “会议录音转写总结”:这是 MacWhisper/Otter/Fireflies 的主战场。
  • “复杂的工作流 agent”:用户现在要的是少打字,不是配置自动化系统。
  • “几十种风格模板”:第一轮会增加认知负担,且不一定提高留存。
  • “默认后台常驻监听”:会制造隐私焦虑,反而破坏信任。

判断一个需求是不是自嗨,要问四个问题:

  1. 用户现在是否已经用替代方案绕着解决?
  2. 不做这个功能,用户是否仍然能完成主要工作?
  3. 做了这个功能,用户每天是否会重复使用?
  4. 用户是否愿意为这个结果付费,而不是只觉得“挺酷”?

第一轮真正必须验证的不是“功能是否多”,而是:用户是否会在真实工作流里自然按下快捷键,然后少打很多字。


1.2 商业视角:买断还是订阅?项目能不能持续做?

市场信号

从竞品和评论看,市场存在明确付费意愿:

  • Typeless 在 App Store 强调 AI 语音输入、自动去口癖、去重复、自动格式化、不同 app 不同语气、个人词典和 100+ 语言,并提供 Pro 订阅。
  • Wispr Flow 官方定价页显示有 14 天 Pro 试用、免费 Basic、Pro、团队、企业方案。
  • Superwhisper 官方文档显示 Pro 有月付、年付和 lifetime 方案,Pro 解锁本地模型、custom modes、custom vocabulary 等能力。
  • Reddit 上关于 dictation app 订阅价格的讨论很多,典型观点是:如果只是本地转写,用户不愿意长期订阅;如果包含稳定工作流、云能力、跨设备同步、持续模型优化,订阅才更容易被接受。

这说明用户不是不愿意付费,而是不愿意为“看起来已经被开源模型解决的普通转写”持续付费。

建议的商业模式

OpenLess 不建议第一轮直接做纯订阅。更合适的是:

方案 内容 适合阶段 风险
免费基础版 本地基础转写、有限历史、基础模式 获客、建立口碑 如果免费额度太足,转化弱
一次性买断 本地模型、无限本地转写、基础润色、本地历史 Indie/Mac 工具用户 需要控制云成本,不能承诺无限云能力
可选 Pro 订阅 云端高精度转写、跨设备同步、高级润色、团队词典 有稳定用户后 必须让用户感到订阅对应真实持续价值
BYOK/自带 API Key 用户自己填 OpenAI/Groq/其他 provider key 早期高级用户、开发者 配置门槛高,不适合默认路径
团队版 共享词典、统一配置、合规、账单 后期 B2B 第一轮不应投入过多

第一轮推荐定价方向:

  • 免费版:可体验完整主流程,但限制高级能力或每日额度。
  • 个人买断版:主打本地优先、无订阅压力,价格应明显低于竞品 lifetime。
  • 可选订阅:只绑定真实持续成本,例如云转写、云润色、同步和团队能力。

这个项目能不能持续做下去?

可以,但必须守住单位经济模型:

成本项 是否持续发生 控制方式
本地 ASR 推理 否,主要消耗用户本机算力 本地模型买断可持续
云端 ASR 是,按音频时长计费 免费额度限制、Pro 订阅、BYOK、用量包
LLM 润色 是,按 token 计费 默认轻量模型、短上下文、失败回退、本地模板化
macOS 签名/分发/更新 是,但可控 买断收入覆盖基础维护
客服与兼容适配 是,会随用户规模增长 优先做好少数核心场景,减少复杂平台
模型和词典优化 是 高价值用户订阅或版本升级覆盖

可持续的关键不是“卖语音转写”,而是卖这几个结果:

  • 可靠地进入任何输入框。
  • 把口语变成可直接用的文字。
  • 不丢内容。
  • 保留用户自己的表达习惯。
  • 给隐私敏感用户一个可信路径。

如果 OpenLess 只是 Whisper 套壳,商业上很难成立;如果它是一个稳定、低打扰、会整理表达的 macOS 输入层,就有长期空间。


1.3 技术视角:产品形态、可行性和成本

产品形态

OpenLess 第一轮应是一个 macOS 常驻输入工具:

  • 菜单栏应用:负责状态、设置、权限、历史入口。
  • 全局快捷键:负责开始/停止录音。
  • 底部微型状态胶囊:负责录音状态、动态条、处理状态、取消和完成反馈。
  • 设置页:负责快捷键、模式、模型路径、隐私、历史、词典。
  • 历史页:负责找回原文、润色结果、复制、重新处理。

它不是聊天窗口,也不是文档编辑器。它应该像“系统级输入法附件”一样,平时不打扰,用时立刻出现。

技术上能不能做出来?

可以。第一轮可分为 6 个技术能力:

能力 可行性 风险
全局快捷键和菜单栏常驻 高 快捷键冲突、权限提示
麦克风录音和音量波形 高 设备切换、权限失败
本地或云端 ASR 高 中文准确率、长音频切片、延迟
LLM 轻度润色 高 过度改写、上下文不足、成本
插入当前输入框 中高 Accessibility 权限、不同 app 兼容、失焦
历史和失败恢复 高 隐私默认值、音频是否保存

第一轮建议采用“稳定优先”的技术路线:

  • 默认 push-to-talk,不做一直监听。
  • 录音结束后再出最终文本,不追求复杂实时协同编辑。
  • 插入失败时复制到剪贴板,并在底部胶囊里明确提示。
  • 音频默认不长期保存,除非用户打开调试或历史音频开关。
  • 本地模型和云模型可二选一,但 UI 不暴露复杂模型名,只暴露“私密 / 快 / 准”。

成本是否可接受?

成本可接受,但前提是不要把“无限云端能力”卖成低价买断。

根据 2026-04-26 查询到的公开信息,OpenAI 官方定价页显示 gpt-4o-transcribe 有按分钟计费的语音转写价格;Groq 也提供 Whisper 相关的语音转写服务价格。实际接入时必须重新复核,因为 API 价格会变化。

建议成本策略:

场景 默认路径 成本控制
免费用户 本地模型或小额云额度 限制每日分钟数/字数
买断用户 本地模型 + 用户可选 BYOK 不承诺无限云
Pro 用户 云端高精度 + 高级润色 订阅或用量包覆盖
开发者用户 BYOK + 本地模型 降低平台成本

技术判断:第一轮能做出来,成本也能控制,但必须从产品上把本地、云端、BYOK 三种路径说清楚。


2. 概念版定义

2.1 一句话定义

OpenLess 是一个本地优先、低打扰、可控润色的 macOS AI 语音输入层,让用户在任何输入框里说话,并得到像自己认真打出来的文字。

2.2 不是做什么

OpenLess 第一轮不做:

  • 会议纪要工具。
  • 录音文件批量转写工具。
  • AI 聊天助手。
  • 全局语音控制系统。
  • 团队知识库。
  • 重型 prompt agent。
  • 多平台大而全客户端。

2.3 第一轮必须成立的价值

第一轮只要证明 4 件事:

  1. 用户能在任意常用 app 里快速开始说话。
  2. 输出结果比原始口语更可用,但不像 AI 代写。
  3. 插入失败、网络失败、模型失败时不丢内容。
  4. 用户知道数据走本地还是云端,并能控制。

如果这 4 件事做不到,其他高级功能都没有意义。


3. 对齐方向

3.1 产品定位

OpenLess 的第一轮定位:

macOS 上替代 Typeless/Wispr/Superwhisper 的轻量 AI 语音输入层,优先服务中文、中英混输、AI prompt、IM、邮件和开发者输入场景。

关键词:

  • macOS 原生。
  • 本地优先。
  • 任意输入框。
  • 轻度润色。
  • 不丢内容。
  • 可买断。
  • 中文友好。

3.2 目标用户优先级

优先级 用户 是否第一轮服务
P0 Mac 上高频使用 AI 工具和 IM 的用户 是
P0 中文/中英混输用户 是
P1 开发者、产品经理、创作者 是
P1 隐私敏感的本地模型用户 是,但功能要简化
P2 团队管理员、企业采购 暂不主攻
P2 会议纪要用户 暂不主攻
P3 全平台用户 第一轮不主攻

3.3 北极星指标

第一轮不要只看安装量,要看这些指标:

  • 首次成功输入率:新用户 5 分钟内能否完成第一次录音并插入。
  • 日均触发次数:真实用户一天是否使用 10 次以上。
  • 结果直接可用率:输出后用户是否少量编辑或不编辑。
  • 插入失败恢复率:失败后是否仍能通过剪贴板/历史拿回结果。
  • 次日留存:用户第二天是否继续用它替代键盘。

4. 落地并补充细节

4.1 交互细节

首次启动

首次启动必须完成 4 件事:

  1. 麦克风权限。
  2. Accessibility 权限。
  3. 快捷键设置。
  4. 隐私路径选择:本地优先 / 云端增强 / 自带 API Key。

文案原则:不要讲太多技术术语,只解释用户为什么需要授权。

主流程

标准输入流程:

  1. 用户把光标放到任意输入框。
  2. 按住或按下快捷键。
  3. 底部微型状态胶囊从屏幕底部浮现。
  4. 中间 3-5 根白色动态条随音量轻微变化。
  5. 左侧显示叉号,右侧显示勾号,只保留极短状态提示。
  6. 用户松开或再次按下快捷键。
  7. 状态变为“整理中”。
  8. 输出结果插入当前输入框。
  9. 成功后右侧勾号短暂高亮,胶囊随后淡出。

插入失败流程

如果当前输入框失焦或插入失败:

  1. 结果自动复制到剪贴板。
  2. 历史中保存原始转写和最终结果。
  3. 底部胶囊短暂显示“已复制”。
  4. 用户可以点击“重试输入”或按快捷键粘贴上一条。

不能让用户重新录一遍。

取消流程

录音中按 Esc:

  • 停止录音。
  • 不发送转写。
  • 不保存音频。
  • 左侧叉号短暂高亮,底部胶囊随后淡出。

处理中按 Esc:

  • 取消当前处理。
  • 保留原始音频临时缓存到会话结束。
  • 提供“复制原始转写”的入口。

模式切换

第一轮只保留 4 个输出模式:

模式 作用 默认场景
原文 尽量保留说话内容,只补标点 代码、术语、引用
轻度润色 去口癖、补标点、轻微整理 默认模式
清晰结构 分段、列表、步骤化 Prompt、需求、说明
正式表达 更适合邮件、工作沟通 邮件、客户沟通

模式切换不应做成复杂模板市场。第一轮不建议把模式常驻放在胶囊里,模式可以放在菜单栏或设置页;胶囊只显示当前动作状态。

历史入口

历史不是内容管理系统,只解决“找回刚才那段”:

  • 最近 50 条。
  • 每条显示时间、app、模式、插入状态。
  • 可复制最终结果。
  • 可查看原始转写。
  • 可用其他模式重新整理。
  • 音频默认不保存。

4.2 状态层定义

OpenLess 至少需要 5 层状态,不要把所有状态混在一个 loading 里。

应用状态

状态 含义 用户可见表现
app_ready 应用可用 菜单栏正常,底部胶囊隐藏
permission_required 缺少权限 设置页提示补权限
model_unavailable 模型/API 不可用 提示切换模型或检查 key
offline 网络不可用 云模式不可用,本地模式仍可用

录音状态

状态 含义 底部胶囊表现
idle 未录音 小胶囊或不显示
listening 正在录音 胶囊弹出,动态条轻微跳动
paused 暂停或短暂停顿 波形降低,仍显示正在听
stopping 正在收尾 麦克风变暗,准备处理
cancelled 用户取消 显示已取消后淡出

处理状态

状态 含义 用户可见表现
transcribing 正在转写 “正在识别”
polishing 正在润色 “正在整理”
ready_to_insert 结果已生成 准备插入
failed 处理失败 提示失败原因和恢复入口

插入状态

状态 含义 用户可见表现
inserted 成功插入 “已输入”
copied_fallback 插入失败但已复制 “已复制,可直接粘贴”
focus_lost 输入框失焦 “找不到输入位置,已复制”
permission_blocked 权限不足 “需要辅助功能权限”

隐私状态

状态 含义 用户可见表现
local_only 仅本地处理 本地标签
cloud_enabled 使用云端增强 云端标签
byok 用户自带 API Key BYOK 标签
audio_not_saved 不保存音频 历史中仅保存文本
audio_saved 用户选择保存音频 历史中明确标识

4.3 字段规范

字段规范是为了后续 Cursor 实现时不乱。以下字段不是要求一次全部建复杂数据库,而是第一轮的数据边界。

DictationSession

字段 类型 说明
id string 会话 ID
created_at datetime 创建时间
started_at datetime 录音开始时间
ended_at datetime 录音结束时间
duration_ms number 录音时长
source_app_name string 当前 app 名
source_bundle_id string 当前 app bundle id
target_context_type enum chat / email / doc / code / unknown
language_hint enum auto / zh / en / mixed
mode enum raw / light / structured / formal
model_route enum local / cloud / byok
raw_transcript text 原始转写
final_text text 最终输出
insert_status enum inserted / copied_fallback / failed
fallback_reason string 插入失败原因
audio_saved boolean 是否保存音频
audio_path string/null 音频路径,默认 null
error_code string/null 错误码
user_edited_after_insert boolean/unknown 后续可用于质量判断

UserSettings

字段 类型 说明
hotkey_record string 录音快捷键
hotkey_paste_last string 粘贴上一条快捷键
recording_behavior enum hold_to_talk / toggle_to_talk
default_mode enum 默认输出模式
default_model_route enum 默认本地/云端/BYOK
history_retention_days number 历史保留天数
save_audio boolean 是否保存音频
show_floating_capsule boolean 是否显示底部状态胶囊
auto_copy_on_failure boolean 失败时是否自动复制
personal_dictionary_enabled boolean 是否启用个人词典

PersonalDictionaryEntry

字段 类型 说明
id string 词条 ID
phrase string 用户确认过的正确词
category enum name / product / tech / company / custom
notes string 可选备注,不作为硬替换规则
enabled boolean 是否参与 ASR 热词和后期语义判断
case_sensitive boolean 是否区分大小写
created_at datetime 创建时间

TextSnippet

字段 类型 说明
id string 片段 ID
trigger_phrase string 语音触发词
content text 输出内容
enabled boolean 是否启用

4.4 文案规范

OpenLess 的文案要短、明确、可信。不要像营销页,也不要像 AI 助手自我介绍。

状态文案

场景 推荐文案 避免文案
空闲 “OpenLess 就绪” “准备好释放你的生产力”
正在录音 “正在听” “AI 正在聆听您的灵感”
正在识别 “正在识别” “正在通过先进模型解析语义”
正在润色 “正在整理” “正在为您创作完美文本”
成功插入 “已输入” “大功告成!”
插入失败 “已复制,可直接粘贴” “发生未知错误”
权限缺失 “需要麦克风权限才能录音” “权限异常”
本地模式 “仅在本机处理” “绝对安全”
云端模式 “将发送到云端识别” “智能云增强”

设置页文案

推荐:

  • “按住快捷键说话,松开后自动输入。”
  • “轻度润色会去掉口癖、补上标点,但尽量保留你的说法。”
  • “插入失败时,OpenLess 会自动复制结果,避免丢失。”
  • “音频默认不保存。你可以在历史设置中开启保存。”

避免:

  • “用 AI 革命你的输入方式。”
  • “彻底告别键盘。”
  • “让灵感自由流动。”
  • “行业领先的智能语义增强。”

错误文案

错误文案要说明发生了什么、用户能做什么:

错误 文案
麦克风权限缺失 “需要麦克风权限才能录音。打开系统设置后允许 OpenLess 使用麦克风。”
Accessibility 缺失 “需要辅助功能权限,OpenLess 才能把文字输入到当前 app。”
输入框失焦 “找不到刚才的输入位置,结果已复制到剪贴板。”
网络失败 “网络不可用,已保留录音。你可以切换本地模式或稍后重试。”
模型失败 “这次没有整理成功,原始转写已保存。”

5. 最小可验证版本

5.1 第一轮必须做

  • macOS 菜单栏常驻。
  • 全局录音快捷键。
  • 底部微型状态胶囊。
  • 麦克风权限和 Accessibility 权限引导。
  • 中文、英文、中英混输转写。
  • 默认轻度润色。
  • 4 个输出模式。
  • 当前输入框插入。
  • 插入失败自动复制。
  • 最近历史。
  • 个人词典。
  • 隐私设置:本地/云端/BYOK 路径说明。

5.2 第一轮不做

  • iOS 键盘。
  • Windows/Linux。
  • 团队管理后台。
  • 会议总结。
  • 批量文件转写。
  • 复杂 voice command。
  • 截屏上下文理解。
  • 自动长期保存音频。
  • 多人协作词典。

5.3 第一轮验收问题

完成后只问这些问题:

  1. 新用户是否能在 5 分钟内完成第一次成功输入?
  2. 用户是否愿意在真实工作中连续用 1 天?
  3. 输出是否比原始转写更可用?
  4. 输出是否不像 AI 代写?
  5. 插入失败时是否完全不丢内容?
  6. 用户是否知道数据在哪里处理?
  7. 免费、本地买断、云端 Pro 的边界是否清楚?

如果这些问题回答为“是”,概念版就成立。


6. 调研依据

本文基于当前项目已有两份文档,并结合 2026-04-26 复核的公开资料: