Skip to content

Latest commit

 

History

History
303 lines (217 loc) · 24.2 KB

File metadata and controls

303 lines (217 loc) · 24.2 KB

Snap-Solver 产品规格说明书(Product Specification)

版本:本规格对应产品 1.5.x 阶段的能力面 文档性质:高层产品设计文档(What / Why / For-Whom),不含任何技术实现细节


1. 产品概述(Overview)

Snap-Solver 是一款自托管、自带密钥(BYO-Key)的多模型 AI 截屏解题工具。用户在电脑上启动它之后,可以用一次触发把屏幕上的题目/问题自动截取下来,交给用户自选的 AI 模型进行分析,并以结构化、分步骤的方式获得解答。它的核心差异化在于三点叠加:

  • 跨设备协作:程序运行在电脑(主机)上,手机、平板可在同一局域网内通过浏览器连接,远程截取并查看主机屏幕、驱动整个解题流程。
  • 多模型自选:内置六大模型家族(Anthropic / OpenAI / DeepSeek / 阿里通义 / Google Gemini / 字节豆包)与两种 OCR 引擎(百度 OCR / Mathpix),由用户按场景、成本、能力自行挑选。
  • 本地掌控 + 自带密钥:程序由用户自己部署运行,模型调用使用用户自己的 API Key,无平台居中转售模型、无账号锁定。

一句话定位:把屏幕上任意一道题,变成一份清晰、可核验、可编辑再提交的 AI 解答;并且解题的"看"和"算"可以发生在不同设备上。

1.1 关于定位诚实性的说明(重要)

产品的宣传语「一键截屏,自动解题——线上考试,从未如此简单」与"手机看电脑屏幕"的跨设备能力,客观上可被用于在线笔试/远程监考场景。本规格对此采取如实定义而非粉饰:

  • 产品的能力是通用的"屏幕内容 → AI 解答",其正当且被鼓励的用途是学习、练习、复习、调试与文献理解(见 §3)。
  • 产品不对使用场景的合规性做背书,也不将"规避考试监考"列为设计目标或宣传承诺。用户对自身使用行为的合法合规负全部责任(见 §9 使用边界与免责)。
  • 材料中出现的"考试"叙事应理解为营销语气,与产品的正当用途定义存在张力;本规格以 §3、§9 为准。

1.2 关于"本地/私有"的自洽性说明

产品是"本地部署"的(用户自己启动、运行在自己的机器与局域网内),但这不等于数据不出网:每一次分析都会把截图或提取出的文本,通过用户自己的密钥,发送到第三方云端 AI/OCR 服务。因此:

  • "本地/自托管"准确的含义是控制权与部署权在用户手中、无中间平台
  • 不意味着离线、不意味着截图内容不离开本机。规格在隐私章节(§7)对此显式说明,避免误导。

2. 目标用户与人物画像(Target Users & Personas)

产品面向学生、考生与自学者,且明确覆盖零编程经验的非技术用户。在此基础上按优先级细分:

优先级 人物画像 核心诉求 典型设备形态
P0 自学者 / 大学生:面对难题希望"看懂"而非只要答案 分步骤讲解、可切换模型对比、可编辑纠错 电脑单机为主
P0 跨设备使用者:在一台电脑上遇到题目,希望在手机/平板上分析 手机远程截主机屏、结果流式回传手机、剪贴板互传 电脑主机 + 手机/平板
P1 程序学习者 / 刷题者:调试报错、竞赛题 代码专用模型、代码块一键复制、ACM 提示词 电脑单机
P1 非技术小白:不会部署 傻瓜式引导 电脑单机
P2 需要跨越网络限制的用户:官方 API 不可直达 代理 / 中转 URL 配置 任意

待产品拍板的画像取舍:当前跨设备流(锁屏考试机 + 手机端解题)在体验上被高度优化,与"学习/复习"画像的诉求并不完全重合。产品需明确 P0 究竟以哪一类为第一人物,以免功能演进方向摇摆。本规格建议以"跨设备的自学/刷题者"为北极星画像。


3. 问题与价值主张(Problem & Value Proposition)

3.1 解决的核心问题

  1. 快速理解并解决屏幕上的难题,无需手动重新录入题目——尤其是复杂数学公式、物理题、编程题等难以手打的内容。
  2. "换个设备看"的问题——在被占用/被锁定的考试机或工作电脑之外,用手机/平板查看并分析电脑屏幕上的内容。
  3. 精准捕获题目——通过区域裁剪聚焦题干;通过 OCR(含数学公式识别)把图像转成可编辑文本。
  4. 网络可达性问题——通过代理与中转 URL,跨越对国际 AI 服务的访问限制。

3.2 六大价值主张

  1. 跨设备协作:部署一次、多端访问;把"重设备与算力"留在电脑,把"操作与查看"交给手机。
  2. 多模型自选:按推理能力、视觉能力、中文优化、速度与成本自由挑选,并可随时实时切换。
  3. 精准识别:OCR 文本识别 + Mathpix 数学公式识别,并提供人工校对断点。
  4. 全球可达:代理/中转支持 + 可自定义回复语言。
  5. 全平台兼容:桌面(Windows/macOS/Linux)+ 手机/平板浏览器。
  6. 高度可定制:可调"思考深度"、可自定义针对学科的提示词、可调温度与输出长度。

3.3 典型使用场景

  • 作业/课后练习:截取教材或作业中的难题,获得分步讲解。
  • 编程调试:截取报错信息,获得修复建议。
  • 考试/错题复盘:分析错题,理解解题思路。
  • 文献/研究阅读:截取复杂论文段落,获得通俗解释。

4. 核心用户旅程(Core User Journeys)

J1. 首次部署与开局(Onboarding)

安装并启动程序 → 在浏览器打开本机地址或局域网地址 → 打开设置 → 填入至少一个模型的 API Key(各家 Key 由用户自行从供应商处获取)→ 保存。产品不提供模型访问,采取自带密钥模式。

旅程缺口(待补,见 §11):目前开局主要是"技术安装 + 手动填 Key",缺少应用内的"该选哪个模型/该配哪个 Key"的推荐向导与空态教育。规格将其列为路线图项。

J2. 电脑单机解题(Core Solving)

确认连接状态为已连接 → 触发截图 → 拖拽裁剪题目区域 → 在两条路径中选择:发送至 AI(直接图像分析)或 提取文本(先 OCR、可编辑校对后再发送)→ 在结果面板查看流式生成的答案,含可折叠的"思考过程"、最终答案/代码/步骤。

J3. 手机远程解题(Cross-device Remote Solve)

手机端点击截图按钮 → 电脑主机截取自身全屏并回传至该手机 → 手机上裁剪题干 → "裁剪并发送至 AI" → 多模态模型的答案流式回到手机,思考过程可展开 → 一键复制解答。全程无需触碰电脑。

J4. OCR 辅助解题(面向纯文本/推理模型)

截图 → 裁剪 → 提取文本(自动/百度/ Mathpix)→ 在可编辑文本框中校对纠错 → 发送文本至 AI → 阅读流式答案。此路径让不支持图像的模型也能处理来自图像的题目。

J5. 实时切换模型(Model Switching)

随时重新打开设置面板切换模型;界面会依据所选模型能力动态显隐控件(见 §8 产品原则),并引导用户填入该模型所需的 Key。

J6. 跨越网络限制(Global Access)

在设置中启用代理(本地监听地址 + 端口)或为某家供应商配置中转 API 地址,使模型请求经代理/中转路由。

J7. 跨设备剪贴板接力(Clipboard Hand-off)

手机端可把文本推送到电脑的系统剪贴板(便于在电脑任意应用中粘贴),也可把电脑当前剪贴板内容拉取到手机——让手机成为电脑的远程输入面。

J8. 多设备共享观看(Shared Viewing)—— 需产品决策

当截图由主机侧触发时,同一张截图会广播到所有已连接设备;而由某台设备按钮触发的截图只回到该设备。前者可支撑"一次触发、多端同看"的协作场景。

待产品拍板:广播式共享观看目前更像是主机触发路径的既有行为,尚未被明确定义为"有意支持的协作特性"还是"实现副作用"。规格建议将其显式确认为可选协作场景并配套访问控制(见 §7),否则应收敛为单设备私有。


5. 功能域(Feature Domains)

每个功能域给出目的对用户的价值

5.1 屏幕捕获(Screen Capture)

  • 目的:把电脑主机屏幕上的题目变成可分析的图像。捕获对象始终是主机全屏,而非手持设备自身的屏幕。
  • 价值:无需重新录入题目;手机/平板可远程取回电脑画面。
  • 要点:捕获以"已连接"为前提,断开时按钮禁用并自动重连;过大的截图会被引导裁剪为更聚焦的区域。

5.2 区域裁剪 / 选择(Cropping)

  • 目的:从整屏中框出真正的题目区域再进入下一步。
  • 价值:聚焦题干、减少干扰、提升识别与解答质量;记住上次裁剪框位置,反复截同一区域无需重画。
  • 要点:自由比例裁剪;提供确认(更新预览但不自动发送,用户掌控下一步)、重置、取消、以及"裁剪并直接发送至 AI"的快捷动作;对过小选区给出提示。

5.3 图像 → 分析的两条路径(Capture → Analysis)

  • 目的:从一张(可裁剪的)图像走向答案。
  • 价值:既可让多模态模型直接看图,也可先 OCR 转文本、人工校对后再发送——为准确率与成本提供选择。
  • 要点:界面依所选模型能力自适应——纯文本模型只显示"提取文本",多模态模型两条路径都显示;选错路径时给出清晰引导。

5.4 OCR / 文本提取(Text Extraction)

  • 目的:把截图变成可选中、可编辑的文本。
  • 价值
    • 在识别与推理之间提供人工校对断点,用户可修正误识别再提交;
    • 非视觉模型也能处理图像来源的题目,通常更省成本、更稳定;
    • 支持手写与中英混排等更广的输入。
  • 引擎与选择:百度 OCR(通用文本、中文友好、自动识别语言与方向,推荐/默认)与 Mathpix(数学公式/手写/表格专长)。可选自动/百度/ Mathpix;自动模式优先百度、缺失时回退 Mathpix;所选引擎缺 Key 时阻止提取并引导到设置。
  • 已知取舍:文本提取路径请求的是纯文本(关闭数学公式与表格结构化),因此用户看到的可编辑文本是纯文本而非渲染后的 LaTeX——Mathpix 更丰富的公式/表格能力未在"提取文本"按钮上暴露。

5.5 模型目录与模型选择器(Model Catalog & Picker)

  • 目的:让用户按需从六大家族中挑选具体模型层级。
  • 价值:每个模型标注两类能力徽标——是否支持图像输入(视觉)与是否支持深度推理/思考,并显示版本标签,帮助用户在选择前判断。
  • 模型菜单(现状)
    • Anthropic(旗舰定位):Claude 4 Opus(最强,图像+思考)、Claude 4.1 Opus(标准快答,图像,无扩展思考)、Claude 4.1 Opus (Thinking)(扩展思考)、Claude 4 Sonnet(均衡,图像+思考)、Claude 4.5 Sonnet(最新,图像+推理)。
    • OpenAI:GPT-4o(图像,快速通用,无推理)、GPT-5、GPT-5.1(旗舰,图像+推理,5.1 长上下文更强)、GPT Codex High(代码专长,纯文本)、o3-mini(轻量推理,纯文本)。
    • DeepSeek:DeepSeek-V3(快速通用,纯文本)、DeepSeek-R1(详细推理,纯文本)。
    • 阿里通义:QVQ-Max(图像+思考)、Qwen-VL-MAX(最强视觉理解,图像,无推理)。
    • Google Gemini:2.5 Pro(最强推理,图像,需付费 Key)、2.5 Flash(更快,图像,无推理)、2.0 Flash(最快,图像,有免费额度)、Gemini 3 Pro(顶级推理,复杂多模态)。
    • 字节豆包:Doubao-Seed-1.6(图像输入、256K 长上下文、自动/思考/不思考三种模式可选)。
  • 选择轴:能力(图像/推理)× 速度 vs 深度 × 成本/额度(免费额度、需付费 Key)× 中文优化(通义/豆包/百度 OCR)。

5.6 答案接收与交互体验(Answer Experience)

  • 目的:把生成过程与结果以可读、可控的方式呈现。
  • 价值与要点
    • 流式输出:答案边生成边呈现,自动滚动跟随;状态在准备中 → 生成中 → 完成(或出错/已停止)间流转。
    • 可中断:生成中提供"停止生成",可中途终止长答或错答。
    • 思考过程分区:推理内容与最终答案分离,思考区可折叠,并记忆展开偏好;无思考内容时自动隐藏。
    • Markdown/代码渲染:GitHub 风格 Markdown、代码语法高亮、每个代码块独立一键复制;渲染不可用时优雅降级为纯文本。
    • 已知限制:答案面板未内置数学公式/LaTeX 渲染,公式以纯文本/Markdown 呈现——对主打"复杂数学公式"的产品是明确短板,列为已知限制/路线图项(见 §11)。

5.7 跨设备协作与剪贴板桥(Cross-device & Clipboard Bridge)

  • 目的:让手机/平板成为电脑的远程查看与输入面。
  • 价值与要点
    • 主机启动时公布局域网连接地址;默认端口被占用时自动回退,连接说明始终指向可用地址。
    • 每台设备有持续的连接状态反馈与自动重连;断开时交互控件自动禁用。
    • 双向剪贴板:手机文本推送到电脑剪贴板 / 拉取电脑剪贴板到手机(支持 Ctrl/Cmd+Enter 快捷发送,含状态与字数反馈)。
    • 分析结果回传到发起请求的那台设备,用户可完全在手机上驱动解题。

5.8 版本与更新提示(Update Awareness)

  • 目的:让用户知道当前版本与是否有新版本。
  • 价值:头部显示版本号;有新版本时出现可关闭的提示条并链接发布说明。此为信息提示而非配置项。

6. 可配置性与个性化(Configurability & Personalization)

产品的配置面广而分层,且依所选模型动态显隐,避免展示无关控件。

配置项 作用 取值/形态
模型选择 决定由谁作答,并驱动其余控件显隐 六大家族分组下拉,含图像/推理能力徽标与版本标签;本地记忆
最大输出 Token 控制答案长度,并参与推理模型的思考预算计算 1K–128K 滑块(默认 8K),预设 简短/标准/详细/最大;阿里模型隐藏
推理深度(Anthropic 推理模型) 快答 vs 深度思考 标准模式 / 深度思考
思考预算占比(Anthropic 扩展思考) 内部思考 vs 最终答案的预算分配 10%–80% 滑块(默认 50%),预设 少量/平衡/深入
豆包思考模式 让模型自行决定/强制思考/跳过思考 自动 / 开启思考 / 关闭思考
温度 精确 vs 创意 0–1 滑块(默认 0.7);推理模型隐藏
系统提示词库 塑造 AI 解题方式 内置:默认、单选题、多选题、ACM 编程题(标准/困难)、图形推理题、图表计算题;可新建/编辑/删除;服务端持久化
回复语言 强制 AI 以指定语言作答 自由文本(默认中文),自动附加到当前提示词
OCR 源 选择识别引擎 自动 / 百度 OCR / Mathpix;本地记忆
API Keys 自带密钥,逐家管理 OpenAI / Anthropic / DeepSeek / 阿里 / Google / 豆包 / 百度 OCR(API Key+Secret)/ Mathpix(App ID+App Key);掩码显示、状态提示、服务端保存
中转 API 地址 覆盖各家默认端点 逐家可填;填入即启用中转;默认展开以便发现
网络代理 出网流量走 HTTP 代理 开关 + 主机/端口(默认 127.0.0.1:4780)
外观主题 明/暗 切换并持久化

个性化原则:Key、提示词、中转地址、代理等保存在部署侧(跨重启持久),主题、模型选择、OCR 源等偏好本地记忆。产品是自带密钥、无模型转售的形态。


7. 安全、隐私与访问控制(Security, Privacy & Access)

本章为产品立场声明,直面材料中被略过的重大缺口;其中多项为需产品拍板的空白,如实标注。

7.1 数据流动的透明说明

  • 每次分析会把主机全屏截图或其提取文本发送到用户配置的第三方云端 AI/OCR 服务。屏幕可能包含敏感信息,用户在触发前应知悉这一点。
  • "本地/自托管"指部署与控制权在用户侧,不等于数据不出网(见 §1.2)。

7.2 局域网访问控制(现状与立场)

  • 现状:服务面向同一局域网开放,理论上同网段设备均可连接、截取主机全屏、读写主机剪贴板。在公共/共享 WiFi 下这是显著风险。
  • 产品立场(建议,需拍板):应引入配对/鉴权与会话隔离,默认仅信任显式配对的设备;在此之前,规格明确将"公网/不受信网络下使用"列为非目标(见 §9),并建议仅在可信家庭/个人局域网中使用。

7.3 截图与数据留存

  • 现状:截图分析后的落盘/日志/缓存策略未被明确定义。
  • 产品立场(建议):应默认不持久化截图与答案(与 §5.6"每次分析清空上一条"的单发定位一致),并提供可见的清除保障与隐私说明。当前"仅保留 UI 偏好与已忽略版本标记、不保留答案与历史"的行为应被显式承诺为隐私特性。

7.4 用户责任

  • 产品自带密钥、直连第三方服务,用户须遵守各 AI/OCR 供应商的服务条款,并对上传内容的合法性负责(见 §9)。

8. 产品原则(Product Principles)

  1. Human-in-the-loop(人在回路):在识别与推理之间保留人工校对断点(OCR 文本可编辑再发送);裁剪确认默认不自动发送,把"下一步"交回用户。
  2. Model-aware UI(能力自适应界面):界面随所选模型能力动态显隐控件(视觉模型才有图像分析入口,推理模型才有思考/预算控件,某些模型隐藏温度/输出长度)——始终把用户引向有效路径。
  3. Local-first / BYO-Key / 无锁定:用户自部署、自带密钥、可换模型、可换中转,不依赖单一平台。
  4. Cross-device by default(默认跨设备):把重设备与算力留在主机,把操作与查看放到手机/平板。
  5. 单发、无痕、专注(Single-shot & Stateless):每次分析是独立的一次性交互,不保留会话历史——既是产品聚焦,也服务隐私。
  6. 诚实的能力边界:对"答案不保证正确""公式不渲染""数据会出网""局域网无鉴权"等不掩饰,以真相而非期望为准。

8.1 关于答案可信度的立场

产品提供答案,但不保证正确性,不展示置信度,不提供引用来源。产品立场:AI 解答是辅助理解的参考,用户应自行核验;界面应(作为路线图项)在答案区加入"请自行核验"的一致性提示。答错的补救目前依赖用户手动换模型/重截重试(见 §11 旅程缺口)。


9. 使用边界、伦理与免责(Acceptable Use & Disclaimer)

  • 正当用途:学习、练习、复习、编程调试、文献理解等辅助学习场景。
  • 明确不背书:产品不将"在受监考的考试中实时作弊/规避学术诚信规则"作为设计目标或推荐用途;相关营销叙事不构成对此类使用的支持。
  • 用户责任:用户须遵守其所在机构的学术诚信规定、当地法律,以及各 AI/OCR 供应商的服务条款;因违规使用产生的后果由用户自负。
  • 数据责任:用户须对截取并上传到第三方服务的屏幕内容(可能含他人隐私或机密)承担合规责任。

10. 非目标与边界(Non-Goals & Boundaries)

产品不做/不是

  1. 不是通用聊天机器人:没有围绕答案的追问输入框,不做多轮对话式辅导——每次是独立单发请求。
  2. 不是笔记本/题库/错题本:不保存历史、不可回看过往答案,关闭面板即清空。
  3. 不保证答案正确性:无正确性保证、无置信度、无来源引用。
  4. 不做整段答案导出:目前仅支持逐代码块复制,无"复制全文/导出为 Markdown/PDF"。
  5. 不捕获手持设备自身屏幕:手机/平板只能截取并查看主机屏幕,不能截自己的屏幕。
  6. 不面向公网/不受信网络远程使用:定位为同一局域网内协作;跨公网远程与在开放网络下暴露服务为非目标(在鉴权机制补齐前尤其如此,见 §7.2)。
  7. 不内置数学公式渲染:公式以纯文本呈现(列为已知限制,见 §11)。
  8. 不提供模型访问/不做模型转售:坚持自带密钥。

11. 已知限制与路线图信号(Known Limitations & Roadmap Signals)

以下为材料支持的、影响产品完整性的缺口,建议纳入路线图,按优先级排列:

阻断级(应先由产品拍板)

  • 局域网服务缺鉴权/配对/会话隔离(§7.2)。
  • 截图数据留存/清除/隐私策略未显式承诺(§7.3)。
  • 定位诚实性与伦理立场需在营销与产品间统一(§1.1、§9)。

体验级

  • 首次运行/无 Key 的应用内引导与"选哪个模型"推荐向导缺失(J1)。
  • "答案错了/不满意"旅程缺失:无一键重跑、无"换模型重试"、无反馈入口(§8.1)。
  • 失败态恢复旅程分散在 toast 中(Key 失效、额度耗尽/计费错误、模型报错、代理失败、流式中断),缺少统一的恢复引导。
  • 成本/用量可见性缺失:按 Token 自付费却无用量/费用展示与预算控制。

能力级

  • 数学公式/LaTeX 渲染缺失(§5.6)。
  • 整段答案复制/导出缺失(§10.4)。
  • 桌面全局热键状态不明:一处作为卖点宣传、一处描述为既有的广播截图路径,需澄清是否提供可用的桌面热键(J8)。
  • 多设备广播共享观看的产品意图需明确(J8)。
  • 界面语言本地化(当前 UI 中文优先,回复语言可配但界面语言未讨论)与无障碍(读屏、对比度、字号)未纳入。

12. 平台、约束与前提(Platforms, Constraints & Assumptions)

  • 桌面主机:Windows / macOS / Linux;无需 GPU,普通轻薄本即可运行。
  • 移动端:手机/平板通过浏览器访问(单页、移动优先、可添加到主屏),必须与主机处于同一局域网
  • 网络前提:需能(直连或经代理/中转)访问所选 AI/OCR 供应商;跨网络/公网远程为非目标。
  • 凭证前提:至少配置一个模型 API Key 方可工作;推荐 Anthropic(能力优先)、国内用户首选阿里、OCR 推荐 Mathpix/百度。
  • 用户预期对齐:手机端只能截主机屏、不能截自己屏——这是需要在引导中说明的关键预期。
  • 授权与商业:开源、Apache 2.0 免费。

待补前提:最低配置、浏览器支持矩阵尚未量化;商业模式(是否以变现为目标、与免费替代品的竞争策略)与竞品差异化(相对 ChatGPT App + 手动截图、Photomath/Gauth、截图搜题类工具的护城河:自带密钥 + 多模型 + 自托管 + 跨设备四者叠加)建议在后续版本显式补齐。


13. 成功度量(Success Metrics)— 建议

材料未定义产品北极星,建议采用以下指标以明确"产品在优化什么":

  • 激活:新用户完成"首次成功解题"的比例与时长(从部署到第一份答案)。
  • 留存:周/月活跃解题次数与回访率。
  • 跨设备使用占比:手机/平板发起的分析占比(验证核心差异化是否被使用)。
  • 满意度代理指标:单次会话内"换模型重试/重截"的频次(间接反映答案满意度)。
  • 模型选择分布:各家族/层级被选用比例(指导模型目录与默认项优化)。

上述指标为规格建议,需产品确认口径与埋点边界(在满足 §7 隐私立场的前提下进行)。