OpenLogi 日志系统

AprilNEA/OpenLogi 访问 GitHub ↗
🔤 Rust ★ 15855 ⑂ 0 daily #8 (+1097) 抓取 2026-08-25

一句话简介

基于 Rust 编写的高性能开源日志收集与分析系统,专注于实时数据处理与可扩展的日志管理方案。

标签

  • 日志系统
  • 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

注意:openlogiopenlogi@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 是来自 @lushidpp 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…