GitHub 趋势 · 第 37 期

2 万 star 的 Rust 版 Logitech 驱动:装它之前,得先把官方 App 卸干净

#桌面工具#本地优先#Rust

先把判断放在前面:OpenLogi 不是给 Logi Options+ 打补丁的插件,它是一个替代品——用 Rust 重写、配置落成一个 TOML 文件、还配了真正的命令行。但上手前你得先接受两件事:第一,它和官方 App 抢同一个接收器,两个只能活一个;第二,README 第一行就挂着警告,说功能与配置都还可能变。另外一组数字比功能清单更值得读:20,539 个 star,对应 84 个 watcher 和 508 个 open issue。本篇所有命令、功能描述与许可条款均取自仓库 README 与 docs/ 原文,未做推测。

你那个「必须一直开着」的官方驱动

买一只 MX Master 或者一把 Logi 键盘,硬件本身没得挑,但你为了改一个侧键,得装一个常驻后台的官方套件:登录账号、开着遥测、占一份内存、偶尔在更新后把你的 DPI 和手势设置重置一遍。想让它跑在 Linux 上?没有这条路。想把手势绑到第三个按键上?得看官方在那个型号上放不放这个开关。最别扭的一点是:这些设置明明只是你鼠标里的几个寄存器,却要经过一个你不想要的账号体系

OpenLogi 的 README 用一句话概括了它的出发点:「Fed up with Options+? Try OpenLogi.」它列出的五条差异,正好就是上面这些不满的逐条回应。

项目是什么

仓库名 AprilNEA/OpenLogi(https://github.com/AprilNEA/OpenLogi),官网 openlogi.org,作者 AprilNEA。自述定位是「⚡️ A native, local-first alternative to Logitech Options+, written in Rust 🦀」,并且明确写了要解锁的是「Logitech mice, keyboards, and webcams over HID++ and UVC」——鼠标键盘走 HID++ 协议,摄像头走 UVC,两个都是硬件层协议,不经过任何云服务。

数据实测(GitHub API):20,539 star / 640 fork / 84 watcher,508 个 open issue,语言 Rust,默认分支 master,仓库体积约 14.5 MB;2026-05-24 创建,最近一次推送 2026-09-10,未归档。GitHub 月度趋势榜上新增 12,225,是本月所有「还没写过的新项目」里动量最高的一个。最新正式版为 v0.8.3(2026-08-30)

许可为双许可:Apache-2.0 或 MIT,任选其一(仓库里 LICENSE-APACHE 与 LICENSE-MIT 两个文件并存)。这个组合比上期那个项目宽松得多,商业使用基本没有额外约束,只有一处例外,后面单独说。

平台覆盖是它最想强调的部分,README 直接写成一句「Runs on macOS, Linux, and Windows.」,并且专门点出「Linux is a first-class platform in OpenLogi」——Linux 是一等平台,不是顺手兼容。在官方驱动完全不支持 Linux 的背景下,这句话的分量比功能清单里任何一条都重。

它到底能改哪些东西

README 的 Features 一节按设备类型分了三块,我把原文压缩成一张表(括号里的十六进制是 README 里写明的 HID++ 功能码,方便你自己去查设备支持情况):

设备README 列出的能力
连接与电量Logi Bolt 接收器 / Unifying 接收器 / 蓝牙 / 有线四种连接方式,可读电池百分比与充电状态;Litra 补光灯可调开关、亮度与色温,支持跟随摄像头活动自动开关
鼠标中键 / 模式切换键 / 拇指轮按键可捕获并重映射;任意可承载按键上的分方向手势绑定(带实时捕获);Actions Ring(以光标为中心的八格动作环,可按应用切换布局);DPI 预设与 Cycle / Set-preset 动作(0x2201);SmartShift 滚轮的模式切换、灵敏度与永久棘轮面板(0x2111);部分设备支持原生滚动方向反转(0x2121)
键盘全局 F 键重映射,动作目录与鼠标共用,另加「输入文本、组合键、多步工作流」这类进阶动作(macOS + Windows);部分设备支持静态 RGB 灯效(0x8070 / 0x8080);兼容键盘另有 host 切换与 Fn 锁
摄像头支持任意 Logitech UVC 摄像头(Brio、StreamCam、C920 系列等)免配置即用;图像参数直接写进 UVC 硬件——变焦、对焦、曝光、亮度、对比度、饱和度、锐度、白平衡、色调、抗闪烁、低光补偿,并带自动模式开关,所以改动在 Meet / Zoom / OBS 里同样生效;内置 Default / Streaming / Video call 三套一键参数,也能存自定义快照,按摄像头分别持久化

两个细节值得单独拎出来。一是按键绑定支持「短按 / 长按」两个独立动作,判定线是 500 毫秒:松开早于 500 毫秒触发 short,按住到 500 毫秒触发一次 long,之后的松开不会再补触发 short;如果捕获被打断、绑定被改或 agent 退出,两个都不触发。它还有专门的 HoldShortcut:组合键一直按住,直到你松开物理按键为止 —— README 直接把它指向「push-to-talk」这类需要按住说话的场景。二是摄像头预览只在你看的时候打开:关闭预览就彻底释放摄像头,指示灯随之熄灭。在一个「摄像头被谁打开」都能上新闻的年代,这个设计比多几个滤镜有意义。

README 的「Beyond Options+」一节只列了五条,但每条都很具体:够轻(Native Rust + GPUI)、能跑 Linux(一等平台)、手势能给任何一个按键(或者干脆全关掉)、配置是纯文本(一个 TOML 文件,想怎么在机器之间同步随你)、可脚本化(GUI 之外还有一个真正的 CLI)。这五条里,后两条是官方套件结构上做不到的 —— 不是功能没做,而是它的产品形态不允许。

上手:先关官方 App,再装

README 的 Install 一节第一句就是一个 IMPORTANT 提示,原文是:先退出 Logi Options+,两个应用会争抢 HID++ 访问,同一个接收器同一时间只能有一个程序持有。这句话基本定义了 OpenLogi 的性质:切换,而不是共存。

macOS 要求 13 或更新版本,README 说官方 Homebrew cask 是默认安装路径(原文命令):

brew install --cask openlogi

想直接跟作者的 tap 走最新 release(README 注明它可能比官方 cask 的自动 bump 更早更新):

brew tap aprilnea/tap
brew install --cask aprilnea/tap/openlogi@latest

Linux 侧提供 amd64 与 arm64 两种架构的安装包,预编译包要求 GLIBC 2.35 或更新(Ubuntu 22.04 为基线)。包在安装时会一并写好 udev 规则,让你免 sudo 访问 /dev/hidraw*、/dev/uinput 和鼠标的 /dev/input/event* 节点(原文命令):

sudo dpkg -i openlogi-*.deb          # Debian / Ubuntu
sudo rpm -i openlogi-*.rpm           # Fedora / RHEL
sudo pacman -U openlogi-*.pkg.tar.zst # Arch Linux

systemctl --user enable --now openlogi-agent.service

Windows 侧是签名的便携 zip 与按用户安装的 msi(x86_64 / arm64 都有),GUI(OpenLogi.exe)与后台 agent(openlogi-agent.exe)必须放在同一目录,否则 GUI 没东西可连。管理员权限这块,README 只说 Windows 支持已在 Windows 11 上跑通「安装、原地升级、卸载」全流程,并坦承它比 macOS 那一版更新,踩到坑就去提 issue。

CLI 是它和官方套件最不一样的地方。README 指向 docs/USAGE.md,里面的子命令原文如下 —— 第一个特别值得先跑,它能告诉你手上这只设备到底支持哪些功能:

openlogi list                 # paired devices: slot, codename, kind, online, battery
openlogi assets sync          # pre-fetch device renders from the fastest available mirror
openlogi diag features        # dump every HID++ feature the active device reports
openlogi diag controls        # dump reprogrammable controls and capability flags
openlogi diag dpi             # read -> write -> read-back -> restore DPI (smoke test)
openlogi diag smartshift      # toggle SmartShift and restore (smoke test)
openlogi diag lighting ff0000 # solid colour for a wired RGB keyboard (any RRGGBB hex)

不带子命令直接跑 openlogi 就等于 list;设 OPENLOGI_LOG=debug 可以打开详细日志。配置是一个 TOML 文件:macOS 与 Linux 在 $XDG_CONFIG_HOME/openlogi/config.toml(通常就是 ~/.config/openlogi/config.toml),Windows 在 %USERPROFILE%\.config\openlogi\config.toml。它的动作写法很有辨识度(取自 docs/CONFIGURATION.md 原文):

Back = { CustomShortcut = "Cmd+Shift+P" }
Forward = { HoldShortcut = "Ctrl+Space" }
MiddleClick = { OpenApplication = { path = "~/Downloads", display_name = "Downloads" } }
DpiToggle = { short = "ShowDesktop", long = "MissionControl" }
Top = { action = { CustomShortcut = "Cmd+Shift+P" }, icon = "Keyboard", label = "Command Palette" }

这套配置的设计思路值得说一句:schema 是严格的。漏写、拼错、写过时的字段不会静默回退成默认值,而是整份配置不加载,GUI 转为只读并直接把 TOML 报错显示给你;如果文件在编辑器里被外部改动过,GUI 的下一次保存会被拒绝而不是覆盖你的改动。改配置文件的人会明白这两条有多难得。

我的判断

适合谁:手里有 Logitech 鼠标键盘、但受不了官方套件的人;需要把按键配置放进 Git 或点文件仓库、跟着机器一起同步的人(纯 TOML,天然可版本化);用 Linux 的人 —— 这是官方永远不会给的那条路;以及要用 Logitech 摄像头但只想调一次参数、不想让它在后台常驻的人。
不适合谁:指望它和官方 App 并存的(做不到,二者互斥);需要绝对稳定生产环境的人(作者自己标了未稳定,版本号还在 0.8);只用罗技官方没有开放 HID++ 能力的低端型号的人 —— 表里很多功能都带着「supported devices」的前缀,先跑 diag features 确认自己的设备支持什么,再决定值不值得切换。

数据与核实:AprilNEA/OpenLogi(https://github.com/AprilNEA/OpenLogi)· 20,539 star / 640 fork / 84 watcher / 508 open issue · GitHub 月度趋势新增 12,225 · 创建 2026-05-24 · 最近推送 2026-09-10 · 默认分支 master · 语言 Rust · 未归档 · 最新版本 v0.8.3(2026-08-30)· 许可 双许可 Apache-2.0 或 MIT(仓库内 LICENSE-APACHE 与 LICENSE-MIT;design/ 下品牌资产另按 design/LICENSE 声明 © 2026 AprilNEA, all rights reserved)· 项目定位、Platforms 说明、Beyond Options+ 五条、Features 功能清单、安装命令与 IMPORTANT 提示、平台限制、第三方代码出处(crates/openlogi-hidpp 为 hidpp crate 的 vendored fork,0BSD)、品牌与商标声明均取自 README.md 原文 · CLI 子命令取自 docs/USAGE.md 原文 · TOML 配置路径、schema_version 7、严格 schema 行为、短按/长按 500ms 规则、HoldShortcut、动作写法示例与配置迁移说明均取自 docs/CONFIGURATION.md 原文 · 数据来源:GitHub Trending 官方页面 · 抓取时间:2026-09-11 11:06

顺便问一句:你的鼠标侧键,现在绑的是什么?我猜不少人装完驱动改了三天,最后固化下来的只有「中键 = 关闭标签页」这一条 —— 如果是这样,OpenLogi 这种「配置文件 + CLI」的路线可能反而比 GUI 更适合你,因为它至少让你改过的东西有迹可循。评论区说说你的答案,我按你们点的来做下一期。

下期预告:回到 agent 的基础设施 —— volcengine/OpenViking(36,543 star,本月 +8,469),火山引擎开源的「自演化 Context 数据库」,把 agent 记忆、知识检索与 skills 放进同一套 viking:// 虚拟文件系统,AGPLv3。这个项目从第 33 期预告到现在被更热的选题挤了四轮,下期优先还上;备选 akitaonrails/ai-memory(6,483 star,本月 +5,026,Rust 写的 agent 长期记忆与跨客户端交接)。

#桌面工具#本地优先#Rust