Sayso 是一款适用于 macOS、Windows 和 Linux 的听写应用。你按下一个键,说话,Sayso 就会把文本写入你正在使用的应用中。语音识别在你的电脑上运行:在 Mac 的 Neural Engine 上,以及在 Windows 或 Linux 电脑的处理器上。除非你选择云端模型或开启使用云服务提供商的 AI 风格,否则不会有任何内容离开你的电脑。
Sayso 用 Rust 编写,使用GPUI。在 macOS 上,语音引擎是一个 Swift 程序,使用WhisperKit和FluidAudio。在 Windows 上,它是一个 Rust 程序,使用transcribe-rs(ONNX Runtime 和 whisper.cpp)。在 Linux 上,它是一个 Rust 程序,使用sherpa-onnx。同一位开发者还开发了Pindrop。
Sayso 能做什么
- 向任意应用听写。Option+Space(Windows 上是 Ctrl+Space,Linux 上是 Ctrl+Alt+Space)开始听写,同一个键停止听写。你也可以设置一个按住说话键。Sayso 会把文本粘贴到当前聚焦的应用中,然后恢复你的剪贴板。
- 实时预览。一个悬浮窗会在你说话时显示波形、计时器和文字。
- 本地模型。在 macOS 上:Parakeet、Nemotron、Cohere Transcribe、Canary、SenseVoice、Paraformer、八个 Whisper 变体,以及 macOS 26 上的 Apple Speech。在 Windows 上:Parakeet TDT v2 和 v3,以及六个 Whisper 变体。在 Linux 上:Parakeet、Whisper、SenseVoice、Moonshine,以及一个流式 Zipformer。你在 Models 页面下载你想要的模型。
- 云端模型,如果你需要的话。OpenAI、Groq、ElevenLabs、Deepgram、AssemblyAI、Mistral,或任何提供 OpenAI 转录 API 的服务器。你使用自己的 API 密钥。
- AI 风格。风格会用提示词编辑转录文本,例如 Clean、Polished、Message、Email 或 Notes。风格使用 OpenAI 兼容端点、Claude CLI 或 Codex CLI。Raw 是不使用 AI 的风格。每种风格都是一个 TOML 文件,你可以编辑。所有风格共享一个基础提示词,它会移除填充词、应用你的自我纠正(“不对,等等,周五”)、把数字写成阿拉伯数字,并用你拼出的词替换错误的词。内置风格保留你自己的用词:你的俚语和缩略形式都会保留。你可以编辑基础提示词并重置它。
- 按应用和网站设置风格。一种风格可以列出使用它的应用和网站,因此 Mail 会获得 Email,聊天应用会获得 Message,无需你进行任何操作。此功能默认关闭,直到你在 Settings › Dictation 中开启它。Sayso 在 macOS 和 Windows 上读取网站。在 Linux 上它仅按应用工作,并且在 GNOME 或 KDE 搭配 Wayland 时不工作。
- 词典。词语会让识别偏向于姓名和术语。替换会在转录后更改文本,例如将 "git hub" 改为 "GitHub"。
- 历史记录。Sayso 会存储每次听写及其转录文本、最终文本和音频。文本会一直保留,直到你删除它。音频默认在 30 天后过期。
- 从 Pindrop 导入。如果你在 Mac 上使用过 Pindrop,Sayso 会复制你的听写、词典和提示预设。你可以在引导流程末尾以及 Settings › History and privacy 中找到它。
- 文本不会丢失。如果插入或 AI 风格失败,文本会保留在屏幕上和 History 中。
- 以文件形式配置。所有设置都在
config.toml中,并且 Sayso 会在你保存文件时重新加载它。
CONTEXT.md定义术语。
安装
支持的平台
选择一个按钮以下载最新版本的文件。Releases 页面包含所有文件,每个文件都有一个.sha256文件。
| 系统 | 版本 | 下载 |
|---|---|---|
| macOS | 14 或更高版本,运行于 Apple Silicon | brew install --cask watzon/tap/sayso |
| Windows | 10(版本 1809)或更高版本,以及 11,运行于 64 位 Intel 或 AMD 处理器 | |
| Debian、Ubuntu | Debian 12 或更高版本,Ubuntu 22.04 或更高版本 | |
| Fedora、openSUSE、RHEL 系列 | Fedora、Leap 15.6 或更高版本、Tumbleweed、RHEL 10 | |
| 带 Flatpak 的 Linux | 任何发行版 | |
| 其他 Linux | glibc 2.35 或更高版本 | |
| Arch Linux | 当前版本 | sayso-bin在 AUR 上 |
| NixOS | Flakes | nix run github:watzon/sayso |
Linux 运行于 X11 和 Wayland。docs/linux.md列出了每个桌面环境中可用的功能。
macOS
使用Homebrew:
brew install --cask watzon/tap/sayso
或手动:
- 下载
Sayso-<version>-macos-arm64.dmg使用上方按钮。 - 打开 DMG 并将 Sayso 移到 Applications 文件夹。
- 打开 Sayso。引导流程开始。
该 DMG 使用 Watzon Ventures LLC 的 Developer ID 签名,并由 Apple 公证。每个版本还有一个.sha256文件。要检查你的下载:
shasum -a 256 -c Sayso-<version>-macos-arm64.dmg.sha256
Windows
- 下载
Sayso-<version>-windows-x64-setup.exe使用上方按钮。 - 打开它。它会为你的用户账户安装 Sayso,无需管理员权限。
- 安装后 Sayso 会启动。引导流程开始。
要检查你的下载,请将哈希值与.sha256文件进行比较:
(Get-FileHash Sayso-<version>-windows-x64-setup.exe).Hash
如果安装程序未签名,Windows SmartScreen 会先询问。选择更多信息 › 仍然运行。
Linux
-
用上方的按钮下载适合你系统的文件。每个文件
sayso-<version>-linux-<arch>以下列某个结尾结尾,并且<arch>是x86_64或aarch64。文件 系统 安装 .debDebian 12 或更高版本,Ubuntu 22.04 或更高版本 sudo apt install ./sayso-<version>-linux-<arch>.deb.rpmFedora、openSUSE 和 RHEL 10 系列 sudo dnf install ./sayso-<version>-linux-<arch>.rpm(openSUSE:sudo zypper install)AUR Arch Linux 及基于它的系统 yay -S sayso-bin,或其他 AUR 助手Nix flake NixOS,以及其他发行版上的 Nix nix run github:watzon/sayso。docs/linux.md中有 NixOS 配置。.flatpak任何带 Flatpak 的发行版 flatpak install --user ./sayso-<version>-linux-<arch>.flatpak.AppImage其他发行版,无需安装 chmod +x该文件,然后启动它.tar.gz其他发行版 解压并运行 ./install.sh。Sayso 会前往~/.local。sudo ./install.sh --system为所有用户安装它,并带有用于 Wayland 按键输入的 udev 规则。 -
从应用菜单打开 Sayso,或启动 AppImage。引导流程随即开始。
The.deb、.rpm、AppImage 和 tarball 需要 glibc 2.35 或更高版本。Flatpak 自带库。docs/linux.md列出了已测试的发行版,并包含每个桌面的详细信息。
首次启动
- 选择一个模型并下载它。默认的 Parakeet Unified 约为 1.3 GB。
- 允许使用麦克风,在 macOS 上还需允许辅助功能。Sayso 需要辅助功能才能将文本粘贴到其他应用中。Windows 不需要额外权限。在 Linux 上,docs/linux.md列出了每个桌面的权限。
- 按 Option+Space(Windows 上为 Ctrl+Space,Linux 上为 Ctrl+Alt+Space),说话,然后再次按该键。
隐私
使用本地模型和 Raw 风格时,你的语音和文本都留在计算机上。没有遥测。
| 你开启 | 离开计算机的内容 | 去向 |
|---|---|---|
| 云端模型 | 每次听写的音频和你的词典词条 | 你添加的语音提供商 |
| AI 风格 | 转录文本、风格提示词和你的词典词条 | 该风格的 AI 提供商 |
官方构建还会在启动时以及每天一次查找新版本。它从 GitHub 上本仓库的 Releases 页面获取一个文件。该请求会说明你的 Sayso 版本和你的系统(例如Sayso/0.3.0 (macos; aarch64)),GitHub 会看到你的 IP 地址。它不包含你或你计算机的任何标识符。要停止这些检查,请关闭设置 › 通用 › 检查更新。从源码构建的版本不会发出此类请求。
Models 页面和 Styles 页面会标注每个云端目的地。你的 API 密钥位于 macOS 钥匙串、Windows 凭据管理器或 Linux 上的 Secret Service 密钥环中。
许可证与价格
源代码是自由软件,遵循GNU 通用公共许可证第 3 版。你可以免费阅读、修改并为自己构建它。
官方构建版本是经过签名和公证的应用。它免费,且不需要许可证密钥。Sayso 由使用它的人付费支持:下载页面位于justsayso.app会询问你愿意支付多少,$0 也是有效答案。
Sayso 这个名称和应用图标不属于许可证的一部分。如果你发布修改后的版本,请给它另取一个名称和另一个图标。
支持 Sayso
Sayso 没有价格、没有广告、没有遥测。使用它的人为其开发工作付费。
如果你从 GitHub 获取 Sayso(发布文件、Nix flake 或从源代码构建),没有任何东西询问你愿意支付多少。如果 Sayso 对你有用,请赞助其开发者:
一次性金额和每月金额都可以。赞助不会给你额外功能:Sayso 的每个构建版本都是完整应用。
从源代码构建
macOS
你需要 Xcode 16 或更高版本以及 Rust 1.98.1。rust-toolchain.toml选择 Rust 版本。
git clone https://github.com/watzon/sayso.git
cd sayso
SAYSO_SIGN_IDENTITY=- scripts/bundle.sh
open build/Sayso.appSAYSO_SIGN_IDENTITY=-会生成一个 ad hoc 签名,不需要 Apple 开发者账号。使用 ad hoc 签名时,macOS 会在每次重新构建后再次请求麦克风和辅助功能权限。要保留这些授权,请将SAYSO_SIGN_IDENTITY设置为你自己签名证书的名称。
Windows
你需要 Visual Studio 2022 Build Tools(“使用 C++ 的桌面开发”工作负载和一个 Windows SDK)、CMake、LLVM(用于 libclang;当它不在LIBCLANG_PATH时设置PATH),以及 Rust 1.98.1。
git clone https://github.com/watzon/sayso.git cd sayso powershell -ExecutionPolicy Bypass -File scripts\bundle-windows.ps1 build\windows\Sayso\Sayso.exe
添加-Installer以同时生成安装程序,位于dist\。这需要Inno Setup 6。
Linux
你需要scripts/linux-deps.sh中的软件包(Debian 和 Ubuntu 名称)以及 Rust 1.98.1。
git clone https://github.com/watzon/sayso.git
cd sayso
scripts/linux-deps.sh
scripts/bundle-linux.sh该脚本会生成build/sayso-<version>-linux-<arch>.tar.gz。解压它并运行./install.sh。要从该 tarball 生成.deb、.rpm、AppImage 和 Flatpak,请运行scripts/package-linux.sh build/sayso-<version>-linux-<arch>.tar.gz。
CONTRIBUTING.md包含开发命令、检查项和代码布局。
磁盘上的文件
| 类型 | macOS | Windows | Linux |
|---|---|---|---|
配置(config.toml,styles/) |
~/Library/Application Support/Sayso |
%APPDATA%\Sayso |
~/.config/sayso |
| 历史记录、音频、模型 | ~/Library/Application Support/Sayso |
%LOCALAPPDATA%\Sayso |
~/.local/share/sayso |
| 日志 | ~/Library/Caches/Sayso/logs/sayso.log |
%LOCALAPPDATA%\Sayso\Cache\logs\sayso.log |
~/.cache/sayso/logs/sayso.log |
在全部三个平台上,~/.config/sayso在配置存在时优先用于配置,而$XDG_CONFIG_HOME,$XDG_DATA_HOME和$XDG_CACHE_HOME优先于所有这些。
API 密钥位于 Keychain(macOS)、Windows 凭据管理器或 Secret Service 密钥环(Linux)中,位于dev.sayso.Sayso下。Windows 卸载程序会保留你的历史记录、模型和设置。要同时删除它们,请删除上面两个Sayso文件夹。
帮助与贡献
- 要报告 bug 或请求功能,请开一个issue。
- 要报告安全问题,请遵循SECURITY.md。不要开公开的 issue。
- 要修改代码,请阅读CONTRIBUTING.md。
更多文档
- docs/plan.md:决策与里程碑。
- docs/research.md:研究与来源。
- docs/releasing.md:如何发布版本。
- docs/linux.md:Sayso 在各 Linux 桌面上的情况。
- docs/porting.md:平台接缝,供后续移植使用。
