OpenLogi 日志系统
一句话简介
基于 Rust 编写的高性能开源日志收集与分析系统,专注于实时数据处理与可扩展的日志管理方案。
标签
适用应用场景
- 微服务架构下的统一日志收集
- 大规模分布式系统的实时日志分析
- 应用异常监控与告警
- 运维审计与数据合规留存
README 中文摘要
项目简介
OpenLogi 是一款基于 Rust 开发的原生、本地优先(local-first)工具,作为 Logitech Options+ 的开源替代方案。它通过 HID++ 与 UVC 协议,全面解锁罗技鼠标、键盘与摄像头的可编程能力。项目处于活跃开发阶段,跨平台支持 macOS、Linux 与 Windows。
相对 Options+ 的优势
- 轻量原生:使用 Rust 与 GPUI 打造,性能与资源占用优于官方客户端。
- Linux 一等公民:从设计之初就把 Linux 作为主要平台,而非事后移植。
- 任意按键手势:可将手势角色绑定到任何物理按键,也可完全关闭手势。
- 纯文本配置:全部配置存放在单个 TOML 文件中,便于跨机器同步与版本管理。
- 可脚本化:在 GUI 之外提供一套完整的命令行工具。
核心功能
通用
- 支持 Logi Bolt 接收器、Unifying 接收器、蓝牙与有线连接,可显示电量百分比与充电状态。
- 通过操作系统输入钩子实现按键重映射:内置动作目录,并支持在 TOML 配置中自定义键盘快捷键。
- 按应用程序自动切换的配置覆盖层(macOS/Windows;Linux 仅在 X11/XWayland 下可用)。
鼠标
- 中键、模式切换键与拇指滚轮的捕获与重映射。
- 任意具备能力按键上的「每方向」手势绑定,支持实时捕获。
- 以光标为中心的八槽动作环(Actions Ring),可按应用配置布局。
- DPI 控制:支持预设档位以及 Cycle / Set-preset 动作(
0x2201)。 - SmartShift 滚轮模式:模式切换、灵敏度调整以及永久棘轮面板(
0x2111)。 - 设备原生的滚动方向反转(
0x2121,仅限支持的设备)。
键盘
- 全局 F 键重映射,复用鼠标的动作目录,并扩展了键入文本、组合键与多步工作流等高级动作(macOS/Windows)。
- 静态 RGB 灯光控制(
0x8070/0x8080,仅限支持的设备)。
摄像头
- 即插即用支持任意罗技 UVC 摄像头(Brio、StreamCam、C920 系列等)。
- 仅在预览期间独占开启摄像头,关闭预览即彻底释放,指示灯熄灭。
- 直接写入 UVC 硬件的图像控制:缩放、对焦、曝光、亮度、对比度、饱和度、锐度、白平衡、色温、抗闪烁、低光补偿,并提供对焦/曝光/白平衡的自动模式开关——设置在 Meet、Zoom、OBS 等任何使用摄像头的应用中即时生效。
- 一键配置:内置默认 / 直播 / 视频通话模式以及自定义快照;配置按摄像头持久化,并在下一次预览时写回硬件。
Linux 上的媒体键动作通过 D-Bus MPRIS 实现;少数 macOS 专属动作在 Linux 上无可对应实现,因此为空操作。Windows 会尽可能映射到原生等价动作。
安装方式
安装前需先退出 Logi Options+,否则两个程序会争抢 HID++ 访问权限,同一时刻只能有一个拥有某个接收器。
macOS(需 13 及以上):从 Release 页面下载已签名公证的 .dmg,将 OpenLogi.app 拖入「应用程序」。或使用 Homebrew:
brew install --cask openlogi
也可显式接入作者维护的 aprilnea/tap 跟踪最新 Release:
brew tap aprilnea/tap
brew install --cask aprilnea/tap/openlogi@latest
注意:openlogi 与 openlogi@latest 二选一,不要同时安装。
Linux:下载对应发行版的包(同时提供 x86_64/amd64 与 arm64/aarch64,需 GLIBC 2.35+,即 Ubuntu 22.04 基线版本):
sudo dpkg -i openlogi_*.deb # Debian / Ubuntu
sudo rpm -i openlogi-*.rpm # Fedora / RHEL
sudo pacman -U openlogi-*.pkg.tar.zst # Arch Linux
NixOS 用户可直接启用仓库自带模块:
{
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
inputs.openlogi = { url = "github:AprilNEA/OpenLogi"; inputs.nixpkgs.follows = "nixpkgs"; };
outputs = { nixpkgs, openlogi, ... }: {
nixosConfigurations.my-host = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [ openlogi.nixosModules.default { programs.openlogi.enable = true; } ];
};
};
}
所有 Linux 包都会自动配置 udev 规则,授予当前用户对 /dev/hidraw*、/dev/uinput 与罗技鼠标 /dev/input/event* 节点的访问权限,无需 sudo。NixOS 模块会自动启动代理;以 .deb、.rpm 或 .pkg.tar.zst 安装后,需手动启用用户级服务:
systemctl --user enable --now openlogi-agent.service
Windows:每个 Release 同时附带已签名便携版 .zip 与每用户安装的 .msi 安装包(x86_64 与 arm64)。两者都包含 GUI(OpenLogi.exe)与负责所有设备 I/O 的后台代理(openlogi-agent.exe)。便携版需保持两个文件位于同一目录;代理驻留系统托盘,提供「显示主窗口 / 退出」入口。如需关闭托盘图标,可在 TOML 的 [app_settings] 中将 show_in_menu_bar 设为 false 并重启代理(此选项目前仅 macOS 提供 GUI 开关)。
使用与配置
CLI 用法详见 docs/USAGE.md,TOML 配置项详见 docs/CONFIGURATION.md,从源码构建与开发流程详见 docs/DEVELOPMENT.md。
许可
仓库代码以 Apache License 2.0 与 MIT 双重许可,用户可任选其一。crates/openlogi-hidpp 是来自 @lus 的 hidpp crate 的 vendored 分支,采用 0BSD 许可。OpenLogi 名称、Logo 与应用图标等品牌资产另见 design/LICENSE,未包含在上述 MIT/Apache 许可范围内,分发或二次开发时需事先获得书面授权。
本项目与 Logitech 无任何隶属关系,「Logitech」「MX Master」「Options+」均为 Logitech International S.A. 的商标。
摘要更新于 2026-08-25 00:30:52
· 原文 10660 字符
· md5 ef9be641a693…