用 Voxtype 搭建 Linux 上的 Typeless!

3/2/2026 UPDATE

我魔改了 Fcitx5 的 Rime 输入框架,在其中添加了一个可以通过按键开关 voxtype 的功能。

fork 位于 https://github.com/rijuyuezhu/fcitx5-rime-voiceinput;对于 Arch 用户可以尝试使用这个 PKGBUILD 安装。

它会直接替换掉你的系统库中的 fcitx5 Rime 插件,因此除了添加这个语音输入功能外,其他功能应该都不变。

主要优点:在编辑模式(F10)下,Fcitx5 会自动获取光标选中的文字,无需使用剪切板;若未选中文字,才回退到剪切板。两种模式(F9 和 F10)中,录音结束后也无需粘贴,直接上屏。

这就和 Typeless 体验很相近了!推荐大家使用。

如何使用
  1. ~/.config/voxtype/config.toml 中,关闭 voxtype daemon 检测 hotkey(我们要让输入法去检测):

    [hotkey]
    enabled = false
    
  2. 安装最新改版的 voxtype (forkArch PKGBUILD),新添了对这种输入方式的接口支持。

  3. 安装改版的 fcitx5-rime(forkArch PKGBUILD)。

  4. 重启 fcitx5 后即可使用带语音输入的 rime 输入法了!

当前配置:

  1. F9 进行语音输入,Ctrl+F9 进行第二模型语音输入,Shift+F9 进行“复杂后处理”的语音)输入,Ctrl+Shift+F9融合前两点。(说是说复杂后处理,但我现在在 voxtype 配置里把complex_post_process_command设置地比post_process_command 还简单,因为我默认是使用大模型处理语音输入结果的(你可以在 fcitx5-configtool 里修改该行为)。
  2. F10 进行语音编辑,Ctrl+F10 进行第二模型语音编辑。注意 Shift 复杂后处理是不在编辑模式里支持的。语音编辑之前,选中文字作为编辑内容。若未选中文字,则会使用剪切板。
和论坛另一个项目 VocoType-linux 的区别

@lsamc 以前做过一个类似的输入法:

为 Linux 桌面带来离线、低延迟的语音输入 —— 基于 VocoType 的 linux全平台输入法公布!

主要的区别:

  1. 我只做了 fcitx5 的支持(2026年了不会有人还在用 ibus 吧 X)。
  2. 我对于 rime 正常按键输入的支持较好。因为大部分兼容层代码没有改动,所以 rime 的配置等都可以较为正常地读取,仅添加了外挂的 voxtype trigger 启动语音输入。VocoType-linux 则相当于重写了 fcitx/ibus 与 rime 间的兼容层,有许多不兼容的地方。
  3. 原则上我这个项目可以支持任何语音输入引擎,大部分功能都是可配置的(通过 fcitx5-configtool).
  4. fcitx5-rime 用的 C++,voxtype 用的 rust,就是比 VocoType-linux 的 python 快!(逃)
如何自定义配置(如录音时显示的文字)

键入 fcitx5-configtool 后,选中 Rime,按下齿轮,即可进入配置:

可以看到配置项很多,你想干什么干什么(

仍存在的优化空间
  1. 在录音结束、文字处理过程中,如果切换窗口,这时会阻塞,等到文字处理完成才能切换焦点,这是因为我现在使用的是同步的执行命令的函数。也许之后可以换成异步的?但现在这样还是稍安全一些,不用考虑切换窗口后立即再次录音等 corner case。当然,在录音还未结束时切换窗口/输入法,现在能正常地进行取消录音。

  2. Fcitx5 框架是能够获得当前窗口的程序名的!也许可以利用这一点,达成“考虑应用类型,来产生文字”的需求,比如在邮件应用里产生邮件格式等。这也是 Typeless 声称的特点之一。