omniget
tonhowtf/omniget加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你有没有过这样的经历:刷到一个 Udemy 课程觉得很有用,但第二天发现课程下架了;看到一条 Instagram Reel 想保存,结果试了三个 App 都不行;在 YouTube 上收藏了上百条视频,真正打开看的却没几个——因为找起来太麻烦了。OmniGet 就是来解决这些问题的。
OmniGet 是一款开源跨平台桌面应用(Windows/macOS/Linux),核心理念是:粘贴一个链接,文件自动落入你的文件夹。它基于 yt-dlp 引擎,支持超过 1,800 个网站的视频、音频、课程和文件下载,同时内置了学习管理工具——PDF/EPUB 阅读器、课程播放器、音乐库、笔记系统,全部聚合在一个界面里。

更关键的是,它还支持中文平台生态:哔哩哔哩、抖音、小红书、快手、优酷、腾讯视频、爱奇姿、芒果 TV……这些在大多数西方下载工具里几乎是死穴的平台,OmniGet 全都覆盖了。
对于买课党: 你在 Udemy 花 199 元买了一套课程,但平台随时可能关站或撤课。把课程链接粘贴进 OmniGet,它自动识别并下载全部章节、视频、字幕和附件。之后在 OmniGet 内置的播放器中播放,拖动进度条随时跳转,打标记、做笔记——完全离线,不依赖任何网络连接。

对于 AI 开发者: OmniGet 内置了 MCP(Model Context Protocol)服务器,可以被 Claude Code、OpenAI Codex、Gemini CLI、Ollama 等主流 AI 编程工具直接驱动。它提供了 156 个工具函数(tools),AI Agent 可以像操作命令行一样调用它们:下载文件、查询内容、处理媒体。更厉害的是,这些操作可以循环执行(loops until tests pass),让 AI 真正接管重复性下载/处理任务,而不需要你手动操作。

OmniGet 的技术选型非常务实:后端用 Rust(Tauri 框架)保证性能和安全,前端用 Svelte 实现响应式界面,Python 3.10+ 运行时用于执行 yt-dlp(以 zipapp 方式秒级启动)。整个项目有近 2,800 个文件,代码组织清晰:
| 模块 | 技术 | 说明 |
|---|---|---|
| 桌面框架 | Tauri (Rust) | 轻量级原生应用,比 Electron 小得多 |
| 前端界面 | Svelte + TypeScript | 组件化,热更新快 |
| 核心下载 | yt-dlp + FFmpeg | 自动安装,1800+ 站点支持 |
| 富文本编辑 | TipTap | 内置 Markdown 编辑、表格、任务列表 |
| 图表绘制 | Cytoscape / Mermaid / Markmap | 思维导图、流程图 |
| 视频播放 | vidstack + HLS.js | 直播流和本地视频 |
| 数学公式 | KaTeX | 支持数学公式渲染 |

在这个 App 动不动就要手机号、邮箱、云账户的时代,OmniGet 打出「No account, no ads, no telemetry」的旗号。所有下载文件保存在本地磁盘,不经过任何云端转发。它还内置了文件传输功能:选择一个文件,OmniGet 生成一个 4 位代码,发送给任何人,对方用这个代码就能接收文件——无需注册、无需安装任何 App。

OmniGet 对 AI 开发者的吸引力在于其独特的「Agent Loop」模式:你可以定义一组任务(jobs),AI Agent 会循环执行这些任务,直到测试通过(loops until tests pass)。这解决了传统脚本无法持续自我验证的痛点。MCP 服务器提供了结构化的工具调用接口,AI 可以:

优点: 首次安装后,yt-dlp 和 FFmpeg 自动下载并保持更新,无需配置命令行。安装包即装即用,界面与主流桌面 App 无异,任何人都能上手。
局限: 下载部分平台(尤其是付费课程如 Udemy、Hotmart)需要你在浏览器中登录并导出 cookies,OmniGet 通过浏览器扩展捕获这些会话——这需要一点手动操作,但不是命令行级别的复杂度。另外,这是一个桌面 App,不提供 Web 界面,无法在服务器上部署。
从代码组织来看,OmniGet 的工程化水平相当扎实:TypeScript 前端有完整的类型定义(src/app.d.ts),Rust 后端有 clippy-baseline(代码检查基线),并为三个平台(Darwin/Linux/Win32)分别维护了 clippy 基线文件。前端测试框架使用 Vitest,集成测试和单元测试覆盖了关键路径。国际化支持通过 sveltekit-i18n 实现,目前已有英语、俄语、葡萄牙语、中文(简体)四个语言包,文档也相应翻译了多个语言版本。
不过需要注意的是,该项目采用 GPL-3.0 许可证,这意味着任何基于 OmniGet 修改后再分发的衍生软件也必须开源——这对于商业闭源软件集成是一个法律限制。
OmniGet 的增长曲线值得关注:项目在 GitHub Trending 上榜 6 天,日均增长 258 颗 Star,累计超过 13,900 颗 Star。它代表了一种新兴趋势:下载工具正在演变为 AI Agent 的「触手」——不再只是帮人把视频存到本地,而是成为 AI Agent 与互联网内容之间的标准接口。
这种演进路径很有启发性:工具型 App(下载器、阅读器、笔记软件)通过内置 MCP 协议,变成 AI Agent 的外设——这比让 AI 直接操作浏览器更稳定,比调用 REST API 更灵活。随着 AI Agent 应用场景的扩展,这类「AI 原生工具」可能会成为下一个爆发点。