OmniGet 用 Rust、Tauri 和 Svelte 组织桌面下载流程,将媒体下载、FFmpeg 转换和本地学习库放在同一个应用中。对使用者来说,下载后的文件可以继续播放、阅读和做笔记;对开发者来说,可以研究下载引擎、桌面界面与插件之间怎样分工。项目覆盖 Windows、macOS 和 Linux,源码采用 GPL-3.0 许可。
截至 2026 年 10 月 6 日核对,当前项目 README 指向 OpenSelena/omniget,源码中的版本为 0.10.5;本页早期收录的 v0.9.2 与当前分支应分别看。旧 tonhowtf/omniget 地址本次无法访问,获取源码和发行包请使用下文的当前项目入口。

从一个媒体链接,到可用的本地文件
下载流程先解析来源,取得可用标题、缩略图和格式,再进入队列。项目结合原生提取器与 yt-dlp 处理来源,下载和转换则可能调用不同引擎;列表里显示进度、阶段和预计时间,有助于区分“还在下载”和“正在合并或转码”。
某个站点能被识别,并不表示每条内容都有相同格式。账号权限、地区、来源接口和 DRM 都会影响结果,最终分辨率与音轨取决于实际可取得的媒体。不能从一个格式下拉框推导为所有来源都能下载高清或原始文件。
- 先让应用解析一条自己有权保存的内容,查看可用格式与保存位置。
- 选择需要的视频或音频方案,再加入队列;观察下载、合并与转换分别进行到哪一步。
- 完成后打开实际文件,确认音轨和格式,再决定是否继续批量处理。
README 介绍了重试、退避与恢复机制,但不同来源、协议和临时链接的条件各异。旧链接失效或权限变化时,重新点击重试不一定能接着下载。视频与音频合并、格式转换还需要 FFmpeg 等组件,应用安装流程提供对应引擎的准备方式。
Study 引用原文件,笔记也能接着留下来
Study 学习库可以索引本地课程目录,引用原来的媒体文件,而不必把整套课程再复制一遍。这样可以省去重复占用的空间;原目录改名、移动,或所在存储断开后,索引仍在,也可能找不到文件。整理课程前先确定长期保存位置。
- 视频播放可以继续上次位置,并为时间点添加笔记;当前说明用
N键建立时间戳笔记,适合记下需要回看的讲解。 - PDF、EPUB 阅读与 Markdown 笔记提供另一种学习入口,资料和自己的理解可以留在同一工作流程中。
- 闪卡用于复习已经整理的内容;把文件放进学习库,不会自动替代对课程和资料的阅读。
例如把一章课程的视频、讲义和自己的笔记放在固定目录,先看视频并记录疑问,再回到讲义核对,最后整理复习材料。这是基于学习库能力的用法示例,不是完成过的课程体验记录。

转换、转录与云端 AI,处理位置不同
FFmpeg 转换主要围绕本地媒体,硬件加速是否可用要看显卡、驱动、构建和输出编码。拥有 GPU 不等于每一种格式都会加速,耗时也受文件和机器条件影响。
本地转录使用 whisper.cpp 等组件,需要先取得对应模型。模型准备好后可以在本地运行;选择云端 AI 功能时,相关内容会按所用功能发送给配置的服务商,不能把整个应用统称为所有处理都离线。
课程与 Telegram 等入口还涉及自己的登录会话和来源权限。项目说明不绕过 DRM;购买课程也不自动获得再分发权。是否能取得文件、是否获准保存以及之后能怎样使用,需要按具体内容判断。
读源码时,留意桌面壳与插件的接口
前端界面、Rust 核心和 CLI
Svelte 界面通过 Tauri 接入 Rust 后端,Rust 工作区包含主应用、omniget-core、omniget-plugin-sdk 和 omniget-cli 等部分。修改进度显示与队列逻辑时,需要追踪后端任务状态怎样到达界面;修改来源提取时,则重点看相应引擎或插件。
学习库集成在应用流程中,其他能力有各自模块与插件安排,不能把界面上每个功能都当作独立动态插件。SQLite 等本地数据也与前端页面分工不同;重新构建界面,不会自动重建已有学习记录。
Rust 动态插件需要匹配工具链
插件与宿主通过动态库交换 Rust 类型,Rust 不保证跨编译器版本的 ABI 稳定。当前 rust-toolchain.toml 固定 1.97.0,宿主与插件构建必须遵守相应匹配条件。只看到插件文件扩展名正确,不能判断它与当前应用兼容。
准备源码运行时,从当前仓库取得成套文件,按它锁定的 pnpm 与 Rust 工具链安装依赖,并准备本机的 Tauri 系统依赖。以下命令展示开发入口,Linux 的 WebKitGTK 等原生组件、其他系统的构建条件另按官方说明处理:
git clone https://github.com/OpenSelena/omniget.git
cd omniget
pnpm install
pnpm tauri dev
这里运行的是开发模式,不是生成可分发安装包。需要发行时还要处理 Tauri 打包、签名与更新配置,不能把维护者的签名条件直接当成自己的可用配置。本文没有编译应用或验证各来源的下载兼容性。
便携模式保存的不只是程序设置
Windows 便携模式通过可执行文件旁的 portable.txt 或 .portable 标记启用。便携数据包含配置、数据库、插件、引擎及会话等材料,迁移时要保留所需数据,分享文件夹时也要留意 Cookie 和凭据是否在其中。
GPL-3.0 覆盖相应源码,依赖和媒体内容有自己的条件。项目 README 还对 Loop 原始品牌素材作了单独说明;重新分发修改版时,代码许可与品牌使用应分别核对。若只是研究下载器架构,可以先沿着“解析来源—任务队列—引擎执行—本地文件”阅读,再按需要深入学习库或插件。
- 当前项目与使用说明:
https://github.com/OpenSelena/omniget - 当前发行包入口:
https://github.com/OpenSelena/omniget/releases - 收录版本 v0.9.2 的说明:
https://github.com/OpenSelena/omniget/blob/v0.9.2/README.md - Rust 工具链约束:
https://github.com/OpenSelena/omniget/blob/main/rust-toolchain.toml - 源码许可:
https://github.com/OpenSelena/omniget/blob/main/LICENSE














暂无评论内容