好,那我们正式把它“写成能干活的文档”。下面是一份可以直接拿去开工、也能约束后续决策的正式 PRD,不是空话版,而是原生可落地版。
极致体验 Markdown 编辑器 产品需求文档(PRD v1.0 · 原生开发)
产品概述 1.1 产品名称(暂定) • 工作名:PaperMD • 定位:原生 · 极致输入体验 · Markdown 编辑器 1.2 产品定位 PaperMD 是一款 以“输入体验”为最高优先级 的原生 Markdown 编辑器,面向长期写作、文档创作、技术写作者。 它不是“功能最多的 Markdown 工具”,而是“写起来最像在思考的工具”。
目标用户 2.1 核心用户 • 开发者(写技术文档 / README / 设计说明) • 内容创作者(教程 / 博客 / 公众号文章) • 长文写作者(方案、文档、手册) 2.2 非目标用户(v1 明确不满足) • 实时多人协作需求用户 • 强笔记/知识图谱用户 • 强 AI 写作依赖用户
产品核心目标(不可妥协) 优先级 目标 P0 输入零卡顿、光标行为 100% 可预测 P0 所见即所得(单栏编辑) P0 中文输入法稳定 P1 文件即文档,本地优先 P1 导出可靠(PDF / HTML) P2 美观但克制的原生 UI
使用场景(核心) 场景 1:快速开始写作 • 用户双击打开 App • 1 秒内进入编辑状态 • 光标已在空白文档中 场景 2:连续写作 1 小时 • 无输入延迟 • 无 UI 抖动 • 无误触焦点丢失 场景 3:插入结构内容 • 输入 # → 标题 • 输入 ``` → 代码块 • 粘贴图片 → 自动落盘并显示
功能需求(MVP) 5.1 文档管理(P0) 5.1.1 打开 / 保存 • 支持: ◦ 新建 Markdown 文件 ◦ 打开本地 .md 文件 ◦ 最近打开列表(最多 10 个) • 自动保存(可关闭) 5.1.2 文件模型 • 不引入私有格式 • 编辑器直接操作真实文件 • 图片等资源存储在:文档名.assets/ •
5.2 编辑器核心(P0) 5.2.1 编辑模式 • 单栏编辑 • 所见即所得 • 无左右分屏 5.2.2 支持的 Markdown 结构(v1) • 标题(H1–H6) • 段落 • 有序 / 无序列表 • 引用 • 代码块 • 行内代码 • 图片 • 分割线 ❗ 表格、脚注、数学公式:v2
5.3 输入体验要求(P0,强制) 5.3.1 光标规则 • 光标位置必须: ◦ 与用户心理预期一致 ◦ 不因渲染跳动 • 自动格式化 不得移动光标 5.3.2 Undo / Redo • 每一次结构变化必须可撤销 • 撤销粒度: ◦ 输入 ◦ 删除 ◦ 粘贴 ◦ 结构自动转换 5.3.3 中文输入法 • Composition 状态期间: ◦ 不触发布局重建 ◦ 不做结构转换 • 输入体验以中文为一等公民
5.4 图片处理(P0) • 支持: ◦ 拖拽图片 ◦ 剪贴板粘贴图片 • 行为: ◦ 图片自动保存为本地文件 ◦ Markdown 路径自动插入 • 禁止: ◦ base64 图片 ◦ 隐式云上传
5.5 大纲视图(P1) • 根据标题自动生成 • 点击跳转 • 不影响编辑焦点
5.6 导出功能(P1) 支持格式 • HTML • PDF 要求 • 所见即所得 • 保留标题层级 • PDF 支持目录
UI / 交互规范 6.1 整体风格 • 原生 UI • 克制、安静 • 默认深色主题 + 浅色主题 6.2 布局 ┌───────────────┐ │ 顶部工具栏 │ ├──────┬────────┤ │ 大纲 │ 编辑区 │ │ 可关 │ 主体 │ └──────┴────────┘
非功能性需求(同等重要) 7.1 性能 • 冷启动 < 1 秒 • 10 万行文档不卡顿 7.2 稳定性 • 不崩溃优先于功能完整 • 数据安全优先于体验炫技
技术约束(原生开发) 8.1 平台策略 • v1:macOS • v2:Windows 8.2 编辑核心 • 使用原生文本系统 • 深度定制编辑行为 • 不使用 WebView 作为编辑器
明确不做清单(v1) • 云同步 • 协作 • 插件系统 • AI 自动写作 • 账号体系
版本规划 v1.0(可发布) • 核心编辑体验 • 图片 • 导出 • 大纲 v1.1 • 表格 • 搜索 / 替换 • 更多主题
成功标准(验收标准) • 连续写作 1 小时无明显问题 • 中文输入无严重 bug • 用户愿意设为默认编辑器
产品宣言(写给团队) 我们宁愿慢一点,也不允许一次输入体验上的妥协。