RepoDaily · 2026-08-21 · Dataset / Public directory

OpenLogi:Rust 编写的本地优先 Logitech Options+ 替代品,Linux 一等公民

#3 Dataset / Public directory Rust +1,540 AprilNEA/OpenLogi 打开仓库

OpenLogi 用 Rust + GPUI 重写了罗技外设的控制层:HID++ 按键重映射、DPI、SmartShift 全部收进一个 TOML 文件,无账号、无遥测,macOS/Linux/Windows 三平台原生运行。

项目类型Dataset / Public directory
最适合持有罗技 HID++ 鼠标键盘、想要按键重映射、DPI 预设与 SmartShift 控制,又不愿登录账号或接受遥测的用户
风险等级中等——0.7.3 版本,README 明确警告尚未稳定,配置结构仍会变化
评估时间30-60 分钟:安装 0.7.3,连接设备,改一次 config.toml,测一个重映射和一个 DPI 预设

核心问题: 在你自己的系统和设备上,OpenLogi 是否已经能稳定驱动你实际用到的 HID++ 功能?

92/100

RepoDaily 采用评分

RepoDaily 将该项目的采用分评为 92/100(强):分数来自文章来源、安装路径、生产风险、差异化、许可证清晰度以及 AI/Agent 适配度。

基于 RepoDaily 来源和采用说明的方向性评分,不是基准测试。风险: 中
100证据质量

包含 4 个来源、覆盖 4 类来源;如有 RepoDaily 独有模块,会进一步提高证据分。

100可安装/可试用性

检测到 6 个工作流步骤、6 个下一步动作,以及 3 个命令/安装信号。

74维护可信度

趋势热度为 +1,540 stars;如内容中有 release、issue 或维护信号,会提高维护可信度。

96生产准备度

采纳风险标记为 medium,并包含 6 条安全说明与 5 条跳过条件。

100差异化

3 个机会视角、5 个替代方案,以及 3 个类型化模块支撑差异化判断。

68许可证清晰度

文章中包含许可证来源或许可证表述。

78Agent / AI 适配度

文章正文和元数据中检测到 5 个 AI/Agent 相关信号。

项目概览

OpenLogi(AprilNEA/OpenLogi)是一个用 Rust 编写、基于 GPUI 界面框架的原生桌面应用,目标是替代罗技 Options+。它同时支持 macOS、Linux 和 Windows,通过 HID++ 与 UVC 协议直接驱动罗技的鼠标、键盘和摄像头,项目自述'无账号、无遥测'。在 2026-08-21 的趋势窗口中,它以 1540 个新增星标排在第 3 位——对一个尚未发布 1.0 的桌面工具来说,这个热度相当罕见。

功能清单几乎是对 Options+ 痛点的逐条回应:按键通过操作系统输入钩子重映射,除内置动作目录外还能在 TOML 里自定义快捷键;手势可以绑给任意物理按键,也可以整体关闭。鼠标侧有 DPI 预设(特性 0x2201,0.7.0 起兼容 0x2202 ExtendedAdjustableDpi)、SmartShift 滚轮控制(0x2111)和按设备的原生滚轮反向(0x2121);键盘侧有全局 F 键重映射与静态 RGB 灯光(0x8070/0x8080,以及 0x8081 PerKeyLighting2)。任何罗技 UVC 摄像头(Brio、StreamCam、C920 系列)即插即用,图像控制直接写入硬件;Litra 灯光则支持电源、亮度与色温控制,还可跟随摄像头活动自动开关。

底层是一个 17 个 crate 的 Cargo 工作区(openlogi-core、openlogi-hidpp、openlogi-hid、openlogi-camera、openlogi-cli、openlogi-ipc、openlogi-agent、openlogi-desktop、openlogi-ui、openlogi-overlay、openlogi-hook 等),后台 agent 通过 tarpc 向 GUI 暴露 RPC,Unix 下走 Unix 域套接字、Windows 下走命名管道。当前版本 0.7.3(2026-08-20),许可证 MIT OR Apache-2.0,MSRV 为 Rust 1.98、edition 2024。README 顶部有明确警告:项目尚未稳定,功能与配置仍可能变化。

解决什么问题

  • Logitech Options+ 强制在线账号并内置遥测,官方没有纯本地方案。
  • Options+ 没有 Linux 版本,Linux 上的 HID++ 设备用户长期拿不到厂商级重映射、DPI 与 SmartShift 工具。
  • 厂商软件把手势绑定在指定按键上;OpenLogi 允许任意可用按键承担手势角色,或彻底关闭手势。
  • Options+ 的设置锁在厂商同步体系里;OpenLogi 的单个 config.toml 可移植、可 diff,0.7.0 起严格解析,保存时保留注释与格式。
  • 滚轮方向、拇指轮音量方向这类设备级差异以前要靠系统级 hack;OpenLogi 直接提供按设备滚轮反向(0x2121)和反向音量拇指轮预设(#608)。

工作原理

  1. 通过 Logi Bolt 接收器、Unifying 接收器、蓝牙或有线连接设备;OpenLogi 会显示电量百分比与充电状态。
  2. openlogi-hidpp crate 与硬件协商 HID++ 特性——DPI 预设与循环(0x2201/0x2202)、SmartShift 模式与灵敏度(0x2111)、滚轮反向(0x2121)、键盘灯光(0x8070/0x8080/0x8081)。
  3. openlogi-hook 通过操作系统输入钩子拦截按键事件;Windows 上的注入路径用 SendInput 和 WH_MOUSE_LL 钩子合成动作。重映射使用内置动作目录加 TOML 自定义快捷键。
  4. 后台 agent 通过 tarpc(0.7.0 起为 v17 协议)向 GUI 暴露设备状态,传输层是 interprocess IPC——Unix 下 Unix 域套接字、Windows 下命名管道——0.7.2 起每个 agent 运行都在冻结握手后具备独立标识。
  5. 按应用生效的配置叠加层会在应用获得焦点时自动切换按键绑定(macOS 与 Windows;Linux 仅限 X11/XWayland)。
  6. 摄像头方面,实时预览只在你查看时打开设备——离开预览即完全释放摄像头、指示灯熄灭——变焦、对焦、曝光控制直接写入 UVC 硬件。

架构解读:17 个 crate、agent/GUI 分离、有据可查的依赖加固

工作区清单定义了 17 个成员:从协议层(openlogi-hidpp 及配套宏 crate openlogi-hidpp-derive),到平台层(openlogi-hid、openlogi-camera、openlogi-permissions),再到产品面(openlogi-cli、openlogi-desktop、openlogi-ui、openlogi-overlay、openlogi-hook)。default-members 固定为 crates/openlogi,因此裸跑 `cargo build` 只构建 CLI,不会把 GPUI 的 Metal 着色器工具链拖进最简单的构建。

依赖选择都写明了理由:tarpc 设 0.38 硬下限,因为更早版本硬依赖 opentelemetry 0.30,会把带漏洞的 opentelemetry_sdk 0.30 拉进依赖图(GHSA-w9wp-h8wv-79jx)。HTTP 走 ureq 加 rustls 与 platform-verifier;配置保存用 atomic-write-file;macOS FFI 用 objc2 的防泄漏 Retained<T> 绑定并全部关闭默认特性,避免一次 resolve 挪动 GPUI 的 Cargo.lock 锁定。

清单设定 license 为 MIT OR Apache-2.0、rust-version 1.98、edition 2024、版本 0.7.3,并解释 MSRV 跟随当前稳定版的原因:OpenLogi 以预构建安装包形式发布,没有任何 crate 被外部反向依赖。

上手路径:从 0.7.3 安装包到手改 config.toml

  • 从 GitHub releases 页面获取 0.7.3(2026-08-20);README 的下载徽章确认 macOS、Linux、Windows 均有预构建安装包。
  • 插入或配对设备(Bolt、Unifying、蓝牙或有线),确认 GUI 中出现电量百分比与充电状态。
  • macOS 上按提示授予 Input Monitoring 权限——0.7.1 起 agent 会在启动时主动申请(#607)。
  • 把每个招牌功能各过一遍:一次按键重映射、一个 DPI 预设(0x2201)、一次 SmartShift 切换(0x2111),以及 Actions Ring(ShowActionsRing,以光标为中心的八格动作叠加层)。
  • 手改 config.toml 加一条自定义快捷键;0.7.0 起解析是严格的——故意打错一个字段,窗口里应显示文件路径和 TOML 位置,而不是悄悄回退默认值,且保存后注释仍在。
  • 若你在 Linux 上依赖按应用配置,先确认会话类型:自动切换仅支持 X11/XWayland。

维护风险:1.0 之前,但版本管理相当成熟

  • README 顶部横幅明确警告尚未稳定、功能与配置可能变化——在 0.7.3 阶段,小版本之间也可能出现行为破坏。
  • 反例是版本纪律:0.7.0 刻意升为次版本(严格配置解析、GUI-agent 协议 v17)而非补丁版,并附带升级说明与覆盖 v1 至 v4 的 schema_version 迁移。
  • 2026 年 8 月连发四个版本(0.7.0-0.7.3),每条修复链都有 PR 编号(#700、#686、#639、#629、#596-#599、#607、#631、#634、#608)。
  • 巴士系数:工作区作者仅 AprilNEA 一人;社区渠道是 Telegram 群组和 Twitter。
  • MSRV 的 Rust 1.98 跟随当前稳定版,较老的发行版工具链需要先升级 rustup 才能从源码构建。

谁适合关注

适合关注

  • 使用 Unifying 或 Bolt 接收器的 Linux 用户,想要不装 Options+ 的 DPI 与 SmartShift 控制。
  • 原则上拒绝 Options+ 账号要求的用户。
  • 用 dotfiles 管理配置、希望鼠标绑定收进一个可同步且保留注释的 TOML 文件的人。
  • 希望 GUI 之外还有 CLI 可用于自动化的用户。
  • 拥有 Litra 灯和罗技摄像头、想要硬件级控制又不想装厂商套件的用户。

可以先跳过

  • 当下就需要稳定保证的人——README 自己说得很清楚。
  • 只用 Wayland 且依赖按应用配置切换的 Linux 用户(仅限 X11/XWayland)。
  • 非罗技外设用户;协议范围就是罗技硬件上的 HID++ 与 UVC。
  • 想要逐键动态 RGB 灯效的用户;OpenLogi 面向受支持设备的静态灯光(0x8070/0x8080/0x8081)。
  • 希望由厂商云在多台机器间同步配置的用户。

风险与注意事项

中

1.0 之前的软件,且自带'尚未稳定'警告;但发布纪律少见地好:严格配置解析、schema 迁移、带版本号的 IPC 协议。

  • 版本 0.7.3,README 警告功能与配置仍可能变化。
  • 0.7.0 一次发布改了两处可观测行为(严格配置解析、协议 v17),小版本也可能破坏使用习惯。
  • 按应用配置仅限 macOS/Windows;Linux 止步于 X11/XWayland。
  • 缓解措施确实存在:严格的 TOML 错误会带文件路径与位置显示在窗口内,保存保留注释,v1-v4 配置自动迁移。
  • 设计上本地优先:项目描述与 README 均声明无账号、无遥测。
  • 0.7.1 起(#634)TLS 信任操作系统证书库,不再捆绑 Mozilla 根证书。
  • IPC 不出本机:通过 interprocess 走 Unix 域套接字或命名管道,0.7.2 起每个 agent 运行都在冻结握手后具备独立标识。
  • tarpc 固定 0.38 下限,专门为了把带漏洞的 opentelemetry_sdk 0.30(GHSA-w9wp-h8wv-79jx)挡在依赖图之外——理由直接写在 Cargo.toml 里。
  • 输入钩子需要敏感系统权限:macOS 的 Input Monitoring(#607 起启动时申请)、Windows 的 WH_MOUSE_LL/SendInput 路径(windows-sys 0.61)。
  • 按工作区清单,许可证为 MIT OR Apache-2.0。

替代方案比较

方案适用场景代价
Logitech Options+
想要厂商支持路径、固件更新与最新设备的完整功能免费,但需要罗技账号且内置遥测
Solaar
Linux 桌面需要 Unifying/Bolt 配对、电量监控与基础设备设置免费,开源
logiops (logid)
无 GUI 的 Linux 服务器上用配置文件重映射 HID++ 设备免费,开源
input-remapper
Linux 上不限厂商的通用输入重映射免费,开源
Karabiner-Elements
仅 macOS、以键盘为主且不挑外设厂商的重映射免费,开源

这个趋势说明了什么

社区配置库是顺理成章的下一个产物

严格解析加保留注释的保存,让共享 config.toml 变得安全;按设备类型提供起步配置(DPI 预设鼠标、拇指轮键盘、Actions Ring 布局)能显著降低新用户第一小时的门槛。

在仓库 issue 里搜索具体设备型号的配置请求;先为 README 点名的摄像头家族(Brio、StreamCam、C920 系列)和一款支持 DPI 特性的鼠标发布起步配置,再看下载量。

适合纳管机队的策略化部署

无账号、无遥测、单一 TOML 文件加 CLI,使它可以用配置管理工具下发:锁定一份配置、用 CLI 核对状态、完全不碰厂商云。

先确认 CLI 是否提供读回已生效设置的子命令,再在每个操作系统上用一份冻结的 config.toml 试点一台机器。

Wayland 是价值最高的平台缺口

按应用配置叠加层只支持 macOS、Windows 和 X11/XWayland,而主流 Linux 发行版默认 Wayland——Wayland 下的焦点跟踪是最大的功能空洞。

在 Wayland 会话中切换到第二个应用,确认绑定不会自动切换;在押注上线之前,持续关注带 Wayland 标签的 issue。

下一步建议

用你日常的鼠标在 OpenLogi 上跑一个小时

把 0.7.3 装在现有方案旁边而不是替代它:保留 Options+ 但退出运行,只测你真正用到的功能。一个小时足以判断你的设备 HID++ 特性在你的系统上是否被完整驱动。

  1. 从 GitHub releases 页面下载你系统对应的 0.7.3 版本(2026-08-20)。
  2. 通过 Bolt、Unifying、蓝牙或有线连接,确认电量百分比与充电状态正常显示。
  3. macOS 上 agent 启动申请 Input Monitoring 时授予权限(#607)。
  4. 重映射一个按键、循环一个 DPI 预设(0x2201)、切换一次 SmartShift(0x2111),并打开一次 Actions Ring(ShowActionsRing)。
  5. 手改 config.toml 加一条自定义快捷键,再故意打错一个字段,确认严格解析器会在窗口里报告文件路径与 TOML 位置。
  6. Linux 上先确认会话类型再评判按应用配置——仅限 X11/XWayland。

RepoDaily 判断

在 0.7.3 这个节点,OpenLogi 已经是现有最好的本地优先 Options+ 替代品——原生 Rust、纪律严明的 17-crate 工作区、严格的 TOML 配置、Linux 一等公民——但它自己也承认尚未稳定。现在就在你的硬件上测试;等到 1.0 再卸载旧工具不迟。

信息来源