Snap 的 macOS / Windows 桌面端版本
Snap 在本项目中读作 nap,开头的 s 不发音。
这个仓库作为 /Users/fushilu/workspace/revocloud/snap 的电脑平台版本使用,当前只覆盖 macOS、Windows 桌面环境。Linux 后续再支持;手机平台不在本项目范围内,也不会从本仓库发布 Android / iOS 产物。
主仓 /Users/fushilu/workspace/revocloud/snap 侧重手机端输入法、Rust Core、移动端管理界面和输入法能力;本仓库侧重 macOS / Windows 桌面端常驻应用、全局快捷键、麦克风录音、语音识别、AI 润色、文本插入、托盘和桌面窗口体验。
当前仓库已统一使用 snapless / Snapless 命名。面向产品表达时,它是 Snap 的 PC / 桌面端版本;其中 Snap 读作 nap。
Snap PC 只做一个清晰的桌面工作流:把用户说出的话转换成可直接落到当前光标处的文字。
核心流程:
全局快捷键 -> 录音 -> ASR 转写 -> AI 润色 / 整理 -> 插入到当前光标
如果目标应用无法直接接收插入,应用应尽量回退到剪贴板,避免用户说过的内容丢失。
snap
手机端输入法 / Rust Core / 输入法主体验
snapless
macOS / Windows / 桌面端语音输入体验
两边共享同一个产品方向:Snap 是一个安静、可靠、偏系统工具气质的输入产品。手机端重点由主仓维护;本仓重点是桌面级语音输入、全局热键和跨应用插入。
- Tauri 2 后端,Rust + React / TypeScript 前端。
- 当前支持 macOS 12+、Windows 10+;Linux 后续再支持;本项目不发布手机端产物。
- 每次 push / PR 都会通过 GitHub Actions 验证 macOS 与 Windows 编译;
beta/main应配置分支保护,要求CI / macOS checks与CI / Windows checks通过后再合并。 - 全局快捷键触发录音,支持按住说话和切换式录音。
- 云端 ASR:Volcengine、OpenAI Whisper 兼容接口等。
- 本地 ASR:macOS Qwen3-ASR、Windows Foundry Local / sherpa-onnx 相关路径。
- AI 润色:OpenAI-compatible provider、Ark、DeepSeek、Doubao、Anthropic / Gemini 相关路径。
- 流式插入:润色结果可以逐字符写入当前光标,失败时回退一次性粘贴。
- 历史、词典、纠错规则、风格包、风格包市场、本地模型管理。
- 托盘图标、桌面状态胶囊、设置窗口、划词语音问答面板。
.
├── snapless-all/
│ ├── README.md
│ └── app/
│ ├── package.json
│ ├── src/ # React / TypeScript 前端
│ ├── src-tauri/ # Rust / Tauri 后端
│ └── scripts/ # 平台构建与验证脚本
├── docs/
├── scripts/
├── README.md # 当前 Snap PC 项目说明
└── README.zh.md # 中文说明
普通用户安装、授权、配置提供商和运行配置测试,请先看 桌面用户教程。
首次拉取后先初始化子模块。macOS 本地 ASR 会用到 vendored 的 qwen-asr:
git submodule update --init --recursive启动桌面端开发环境:
cd snapless-all/app
npm ci
npm run tauri devTauri 开发模式会启动 Vite dev server,并打开桌面壳。
前端类型检查和打包:
cd snapless-all/app
npm run buildRust 后端检查:
cd snapless-all/app
cargo check --manifest-path src-tauri/Cargo.tomlRust 后端单测:
cd snapless-all/app
cargo test --manifest-path src-tauri/Cargo.toml --lib平台专项脚本:
cd snapless-all/app
npm run check:macos-capsule-spaces
npm run check:hotkey-injection
npm run check:windows-startup-lifecyclemacOS 构建:
cd snapless-all/app
INSTALL=0 ./scripts/build-mac.shWindows 构建仍沿用当前工程的 MSVC / GNU 路线,细节见:
snapless-all/README.md
- 用户可见名称:
Snapless或Snap PC。 - 产品发音:
Snap读作nap。 - 主仓关系:本仓是
snap的 PC / 桌面端版本。 - 代码、bundle id、日志路径、安装包名、系统凭据服务、脚本变量统一使用
snapless/Snapless/SNAPLESS。
当前实现使用 Snapless 的数据与凭据路径:
macOS logs: ~/Library/Logs/Snapless/snapless.log
Windows logs: %LOCALAPPDATA%\Snapless\Logs\snapless.log
credential service: ltd.mbu.app.snapless
legacy credentials: ~/.snapless/credentials.json
如果后续要兼容更早的历史数据,再单独补迁移逻辑。
本仓库沿用当前代码库的 MIT License,见 LICENSE。