什么是 Handy?
Handy 是一款免费开源、完全离线运行的语音转文字应用。它带着托盘图标在后台待命:按下全局快捷键,说出想写的内容,Handy 就在你自己的电脑上完成转写,并把文字粘贴到当前获得焦点的窗口里,无论是编辑器、终端、聊天客户端还是浏览器里的表单。任何内容都不会发送到云服务。语音模型(多种尺寸的 OpenAI Whisper,以及在普通 CPU 上也很快的 NVIDIA Parakeet)只需在应用内下载一次,之后都在本地运行,语音活动检测会在模型处理之前剪掉静音部分。它是 CJ Pais 用 Rust 编写的 Tauri 应用,采用 MIT 许可证,在 X11 和 Wayland 桌面上都能使用。
apt upgrade 就能搞定,在你用来语音输入的每台机器上都是如此。
⚡ Handy 的主要功能
⌨️ 一个快捷键,任何应用
按下全局快捷键,说话,再按一次(或在按住说话模式下按住后松开),转写结果就会粘贴到当前焦点窗口。没有专门的听写输入框;凡是能接受键盘输入的地方,都能接受 Handy。
🔒 完全离线
音频在你自己的电脑上录制、转写,然后丢弃。不需要账号、API 密钥或订阅,模型下载到磁盘之后也不再需要网络。
🧠 Whisper 与 Parakeet
按硬件选择模型:有 GPU 时可用 GPU 加速的 Whisper Small、Medium、Turbo 或 Large,或者选择针对 CPU 优化、能自动识别语言的 Parakeet。
🔇 语音活动检测
Silero VAD 会在音频送入模型之前过滤掉静音和背景噪声,思考时的停顿不会变成多余的字词。
🐧 X11 与 Wayland
两种显示服务器都支持,通过随软件包一起安装的小巧输入辅助工具把结果输入到焦点应用:X11 下是 xdotool,Wayland 下是 wtype 和 wl-clipboard,GNOME 则用 ydotool。
🧩 开放且可扩展
MIT 许可,方便 fork:Rust 后端和 Web 界面都小到可以通读,设置中可以选择麦克风、快捷键、模型和语言。
apt upgrade 就能让你保持最新。
📦 从 deb.griffo.io 安装
第 1 步:添加仓库
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(. /etc/os-release; echo ${DEBIAN_CODENAME:-${UBUNTU_CODENAME:-$VERSION_CODENAME}}) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(. /etc/os-release; echo ${DEBIAN_CODENAME:-${UBUNTU_CODENAME:-$VERSION_CODENAME}}) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt updatesudo apt install extrepo
sudo extrepo enable griffo
sudo apt update🆓 有一个永久免费的镜像。 deb-free.griffo.io 永久免费提供软件包 — 无需账号、无需订阅,最多落后上游 2 个月,安全修复立即发布。目前收录 cliamp、Ghostty、lazydocker、Oh My Posh、Uncloud 和 Zed;Handy 不在其中,因此今天只能通过上面的仓库安装 — 提出请求即可将其加入。
🧩 关于 extrepo 选项。 extrepo 是 Debian 官方用于管理第三方仓库的工具:它会替你写好 sources 文件并安装签名密钥,并在使用前先对照签名元数据校验该密钥。本仓库以 griffo 之名登记其中,永久免费镜像则为 griffo-free,因此在 Debian(bookworm、trixie、forky、sid)上,上面的命令就是全部配置。
extrepo 只负责 sources 文件和密钥,订阅凭据仍然要写入 /etc/apt/auth.conf.d/deb.griffo.io.conf。Ubuntu 不在覆盖范围内,因为 extrepo 只发布 Debian 各套件的元数据:在 Ubuntu 上请使用 sudo 或 root 的命令。
第 2 步:安装 Handy
# 安装最新版 Handy
sudo apt install handy
# 验证安装
dpkg -s handy | grep Version# 安装最新版 Handy
apt install handy
# 验证安装
dpkg -s handy | grep Version第 3 步:第一次运行
# 从应用菜单或终端启动 Handy
handy
# 首次运行会引导你选择一个模型;模型只下载一次,
# 之后的每次转写都在这台机器上离线完成
# 负责输入文字的辅助工具(xdotool、wtype、wl-clipboard)已随软件包安装。
# Wayland 下的 GNOME 需要改用 ydotool 及其守护进程;
# 检查它是否已安装(在收录它的版本上会作为推荐包安装)
apt policy ydotool🎯 基本用法示例
语音输入:
# 1. 把光标放到文字要去的地方:编辑器、终端、聊天框
# 2. 按下在 Handy 设置中配置的快捷键,开始说话
# 3. 再按一次(按住说话模式下则松开)
# 转写结果会粘贴到光标所在位置
# Handy 会继续在托盘中运行;如果关掉了,再启动一次即可
handy选择麦克风:
# 列出内核识别到的录音设备
arecord -l
# PipeWire 或 PulseAudio 在 Handy 设置中显示的输入设备名称
pactl list short sources
# 在怪罪模型之前,先检查默认输入的音量
arecord -d 5 /tmp/test.wav && aplay /tmp/test.wav保持最新:
# Handy 随系统其他软件一起更新
sudo apt update && sudo apt upgrade
# 查看已安装的版本以及可用的最新版本
apt policy handy
# 卸载
sudo apt remove handy# Handy 随系统其他软件一起更新
apt update && apt upgrade
# 查看已安装的版本以及可用的最新版本
apt policy handy
# 卸载
apt remove handy🔧 工具集成
Handy 不需要与任何东西集成:只要一个应用能接受键盘输入,它就能接受语音输入。关键在于它所处的桌面环境:
- X11:
xdotool是软件包的依赖,无需额外安装任何东西,文字就能送到焦点窗口 - Wayland:
wtype和wl-clipboard也随软件包一起安装。有些合成器不会把全局快捷键交给应用;如果快捷键在你的环境里没有反应,请查看合成器的键盘设置 - Wayland 下的 GNOME:GNOME 是 Ubuntu 26.04 的默认桌面,它不接受
wtype,因此在那里 Handy 需要运行着守护进程的ydotool。在收录ydotool的版本上,软件包会推荐安装它(Debian trixie 没有收录);如何启动守护进程,见 Handy README 中的 Linux 说明 - dotool:Handy 也能使用它,但它不在任何 Debian 或 Ubuntu 仓库中:需要自行安装,并把你的用户加入
input组 - 音频:Handy 和其他桌面应用一样通过 PipeWire 或 PulseAudio 录音;在设置中选择输入设备,耳机麦克风的准确度通常胜过笔记本内置麦克风
- 硬件:Whisper 模型在有 GPU 时使用 GPU,大尺寸模型在 CPU 上会变慢;在没有合适 GPU 的笔记本上,Parakeet 是更快的选择
- 你的工具:在 kitty 或 Ghostty 这样的终端里口述提交信息,在 Zed 里写文字,在 ZapZap 或浏览器里回复消息,给 AI 助手口述提示词,全都用同一个快捷键
🚀 为什么选择 deb.griffo.io?
- 官方 Debian: 没有打包 Handy,在全新系统上
apt install handy会失败 - 上游下载:从 GitHub 发布页下载
.deb或 AppImage,下载当天是最新的,之后每次发布都得再手动下载一次 - 从源码构建:需要 Rust 工具链、用于界面的 JavaScript 工具链、Tauri 所需的 WebKitGTK 和音频开发包,以及漫长的编译
- deb.griffo.io: 最新版本,并自动更新
- ✅ 唯一的 apt 来源:Debian 和 Ubuntu 的官方仓库都没有 Handy;本仓库打包的是上游官方发布版本
- ✅ 处处同名:软件包叫
handy,命令也叫handy:先sudo apt install handy,再运行handy或从启动器打开 - ✅ 天生私密:软件包只包含应用本身,不含模型或服务;你的声音从不离开本机,网络只用于下载你选择的模型
- ✅ 完整的软件包:上游官方的 Linux 构建(二进制文件、捆绑的库、桌面条目、图标),声明了依赖以便在每个受支持的版本上安装,并自动带上文字输入辅助工具,唯一的改动是补上了启动器里空着的菜单分类
- ✅ 自动更新: 上游发布后数小时内更新软件包
- ✅ 两种架构: amd64 支持 Bookworm、Trixie、Forky 和 Sid;arm64 仅支持 Trixie、Forky 和 Sid,因为上游针对 glibc 2.39 构建 arm64,而 Bookworm 只有 2.36;没有 i386、armhf 或 riscv64 构建
- ✅ 多发行版: 支持 Bookworm、Trixie、Forky 和 Sid
- ✅ 易于维护: 使用标准 apt 命令即可更新
📦 软件包构建仓库
Debian 软件包在这个 GitHub 仓库中自动构建和维护:
- 🎙️ handy-debian - 最新版本构建
🔗 相关软件包
deb.griffo.io 同样提供:
- Zed - 一款快速的图形化代码编辑器,可以直接口述输入
- ZapZap - WhatsApp 桌面客户端,适合那些说比打更方便的回复
- GPU Screen Recorder - 另一款适用于 X11 和 Wayland 的桌面工具,用来录屏
- kitty - 一款 GPU 终端,口述的提交信息同样能准确送达
- Ghostty - 原生 GTK 终端,同样适用