新闻详情

新闻详情

首页 / 资讯中心 / 详情

OpenLess的Linux之路:为什么抛弃Tauri与WebKitGTK,用egui打造原生UI

发布时间:2026/9/27 6:59:01来源:尧图网络
OpenLess的Linux之路:为什么抛弃Tauri与WebKitGTK,用egui打造原生UI
OpenLess的Linux之路为什么抛弃Tauri与WebKitGTK用egui打造原生UI【免费下载链接】openlessHold a key, speak, release — AI-polished text appears at your cursor in any app. Open-source voice input for macOS Windows. (按住快捷键说话松开即得润色后的文字)项目地址: https://gitcode.com/gh_mirrors/op/openlessOpenLess 是一款开源 AI 语音输入工具按住快捷键说话松开即得润色后的文字光标在哪就能插入到哪。在 2.0 版本中团队为 Linux 放弃了 TauriWebKitGTK方案改用 Rust 的 egui 重构了整套原生 UI。本文讲清楚为什么不做“一份代码三端跑”以及 egui 原生方案是如何落地的。️一、先认识 OpenLess按住说话松开落字OpenLess 的核心体验非常直接全局热键触发按住快捷键开始录音松开结束AI 润色语音经 ASR 转写后由 LLM 按你选择的“风格包”清理口语、调整语气光标处插入处理完成自动把文字写入当前任意应用的输入框支持选区润色、追问QA、本地模型离线识别等进阶能力。在 2.0 架构中各平台分工明确见架构文档平台界面层原生宿主层Windows / macOS / AndroidReact Taurisrc-tauri/LinuxeguiRust 原生 UIlinux-egui/crateopenless-linux-egui全平台—共享业务核心crates/openless-core关键点业务逻辑只有一份全部位于openless-core界面层无论 React 还是 egui都只是“壳 原生能力适配器”。二、为什么 Linux 不直接用 TauriTauri 是“前端写 ReactRust 写后端”的桌面框架Windows 和 macOS 上体验很好。但它在 Linux 上的路径是WebView 渲染也就是必须依赖系统安装的 WebKitGTKwebkit2gtk依赖重且不可控发行版之间 WebKitGTK 版本差异大打包者要为不同 distro 处理一堆系统依赖版本升级还可能随时改变渲染行为双进程 IPC 的额外开销UI 跑在 WebView 里与 Rust 后端之间要走序列化的 command/event 通道。对语音输入这种对“按下—松开—落字”延迟敏感的应用多一跳就多一分延迟原生集成绕不开OpenLess 需要全局热键边沿事件、前台焦点/工作区感知、fcitx5 输入法插件、系统钥匙环……这些能力无论哪种 UI 框架都得写原生代码WebView 方案省不掉却还要再背一层渲染栈。所以团队做了一个干净的切分Linux 端 UI 与后端同进程直接走类型化的 Rust 接口不经 IPC数据流说明egui UI → LinuxHostsnapshot / subscribe / drain_events→ 共享 Coreegui 正是为这种场景而生的 Rust 即时模式 GUI 框架编译进二进制、零 Web 依赖、与后端同进程调用一个 ELF 可执行文件 deb/rpm/AppImage 就能交付。三、egui 原生 UI 是怎么搭起来的1. 一份共享核心两端各自注入Core 通过注入接口openless-core/src/ports.rs声明它需要什么平台能力AudioRecorder录音、TextInserter文本插入、CredentialStore凭据、LinuxHostActions系统动作等。Linux 端在 backend.rs 用LinuxBackendBuilder::from_shared_providers(...)组装运行时注入 CPAL 录音、Secret Service 凭据、fcitx5 输入等原生实现。纪律是业务规则缺失修 Core平台能力缺失修 HostUI 层不复制业务规则。2. 用合同锁定行为跨端一致性靠 contract/backend-2.0.json 这份机器可读合同启动快照结构、语义事件清单、顺序与重放规则都由它定义。UI 必须先消费启动快照再渲染事件经 LinuxHost 的drain_events批量取走交给界面状态机——这套约定见Linux 后端契约。3. 页面一一对应不另起炉灶egui 侧不是“另做一个 Linux 版”而是把 Windows/macOS 的 React 页面逐项复刻概览、历史、词汇、风格、市场、翻译、QA 面板、设置弹窗、录音胶囊浮窗甚至 Less Computer 的独立原生 viewport都在 2.0 交付记录 中有明确的“React 来源 → egui 实现”对照表。深浅主题、八种界面语言也保持一致。四、原生 UI 真正的难点系统集成UI 框架只是冰山一角Linux 上真正费功夫的是原生集成模块清单全局热键X11 走 x11rb/XInput2/RandRGNOME 用 Shell 扩展KDE 用 KWin 脚本 KGlobalAccel 服务冲突检测与重启恢复都有专门处理hotkeys.rs文本插入与选区通过 fcitx5 插件 捕获目标、选区与周边上下文写前校验焦点密码字段拒读文本凭据安全密钥存入 Secret Service 系统钥匙环credentials.rs不进状态文件与诊断日志分发打包脚本 产出 deb / rpm / AppImage 与桌面组件包AppImage 自动更新需通过 SHA-256 与 minisign 签名校验失败自动回滚旧版本。五、质量保障957 项 Core 测试 宿主契约放弃 WebView 不等于放松验收。交付记录中08 章检查结果cargo test -p openless-core957 项通过cargo test -p openless-linux-egui --lib --test host_contract125 项库测试 4 项宿主契约通过fcitx5 插件 CTest目标失效、焦点恢复、密码字段拒绝契约通过打包校验SHA-256、ELF 依赖、桌面元数据全部通过并配有 GNOME 42/46 × Plasma 5.27/6、X11/Wayland 共 8 格的人工验收矩阵——因为自动测试无法替代真实桌面行为证据。六、在 Linux 上体验 OpenLess构建入口在openless-all/app/目录WSL Ubuntu 22.04 验证通过核心步骤完整命令见安装和构建git clone https://gitcode.com/gh_mirrors/op/openless cd openless/all/app npm ci npm run build cargo build --locked --release -p openless-linux-egui OPENLESS_LINUX_VERSION2.0.0-Beta.1 bash scripts/package-linux-egui.sh sudo apt install ./OpenLess-Linux-egui-2.0.0-Beta.1-x86_64.deb安装后在“设置 → 关于与更新”中启用 GNOME/KDE 桌面组件即可获得全局热键、托盘与浮窗能力。结语OpenLess 的 Linux 之路给跨平台桌面项目一个务实的启示“跨平台”不等于“同一套渲染技术”。把业务核心抽成一份 Rust 库平台差异留给各端原生宿主Linux 用 egui 拿到零 Web 依赖、低延迟、易打包的原生体验Windows/macOS 继续用 Tauri 的生态红利——各司其职才是 2.0 架构真正想表达的设计。【免费下载链接】openlessHold a key, speak, release — AI-polished text appears at your cursor in any app. Open-source voice input for macOS Windows. (按住快捷键说话松开即得润色后的文字)项目地址: https://gitcode.com/gh_mirrors/op/openless创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

阿里云服务器 篇一:申请和初始化 2026/9/27 6:58:58

阿里云服务器 篇一:申请和初始化

文章目录 样例网站 系列文章 推荐版本 CPU、内存、硬盘视活动而定,一般活动价99元一年 注意带宽 云服务器具体设置建议 系统推荐CentOS 7.9 本地系统推荐MacOS+iTerm2 本地系统推荐Win11+Linux子系统 推荐开发环境Nginx+Python+MySQL 机器和系统基本状况 测试网速 常用的bashr…

阅读更多 →
【中台·业务篇】订单中心与支付中心:通用业务能力沉淀与复用 2026/9/27 6:58:45

【中台·业务篇】订单中心与支付中心:通用业务能力沉淀与复用

前言 用户中心解决了"你是谁"的问题,订单中心解决的是"你买了什么"的问题,支付中心解决的是"钱怎么收"的问题。这三者构成业务中台最核心的交易闭环。上一篇详解了用户中心,本文将深入订单中心和支付中心的架构…

阅读更多 →
计算机毕业设计选题推荐:基于spring boot的水产品管理系统、毕业设计选题、计算机毕设、选题推荐、毕设指导、项目定制、源码、高质量项目 2026/9/27 6:58:45

计算机毕业设计选题推荐:基于spring boot的水产品管理系统、毕业设计选题、计算机毕设、选题推荐、毕设指导、项目定制、源码、高质量项目

💖💖作者:计算机编程小咖 💙💙个人简介:曾长期从事计算机专业培训教学,本人也热爱上课教学,语言擅长Java、微信小程序、Python、Golang、安卓Android等,开发项目包括大数…

阅读更多 →
Strands Evals v1.2.0 发布解读:OpenInference 多框架追踪支持与技能级评估器实战指南 2026/9/27 6:58:45

Strands Evals v1.2.0 发布解读:OpenInference 多框架追踪支持与技能级评估器实战指南

人工智能大模型AI AgentAgent 框架多智能体工具调用MCP 服务 【免费下载链接】harness-sdk Build an agent harness and control it end-to-end. Open-source SDK for production AI agents in Python & TypeScript - any model, any cloud. 项目地址: https://…

阅读更多 →
AI Engineering 学习路线:Chip Huyen 四级能力阶梯,从单条提示词到生产部署 2026/9/27 6:58:38

AI Engineering 学习路线:Chip Huyen 四级能力阶梯,从单条提示词到生产部署

AI Engineering 学习路线:Chip Huyen 四级能力阶梯,从单条提示词到生产部署 【免费下载链接】aie-book [WIP] Resources for AI engineers. Also contains supporting materials for the book AI Engineering (Chip Huyen, 2025) 项目地址: https://gi…

阅读更多 →
strands-agents Python SDK v1.31.0 技术解读:A2A 上下文传递、Graph 执行优化与 OpenAI 模型层修复 2026/9/27 6:58:32

strands-agents Python SDK v1.31.0 技术解读:A2A 上下文传递、Graph 执行优化与 OpenAI 模型层修复

人工智能大模型AI AgentAgent 框架多智能体工具调用MCP 服务 【免费下载链接】harness-sdk Build an agent harness and control it end-to-end. Open-source SDK for production AI agents in Python & TypeScript - any model, any cloud. 项目地址: https://…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉