OmniGet 桌面智能体与下载工具箱
在桌面端安全运行编程智能体,并下载、转换和管理本地媒体。
按维度查看评分与理由
README 对工作区路径限制、写入前展示命令或差异并请求许可、逐段校验持久规则、取消待批准请求、外部目录单次授权、回合级影子 Git 检查点和撤销机制有具体说明,因此用户确认、外部影响和回滚证据较强。密钥测试验证保留既有变量及文件权限为 0600,网络使用、远程裁判和房屋中继也有一定披露。扣分原因是 macOS 以外的 shell 沙箱保障不清楚,产品仍可运行任意 shell、webhook 和远程服务;隐私与令牌处理主要是 README 声明及一个局部测试;依赖使用大量宽松版本范围,未见漏洞扫描、依赖审计或供应链策略;作者、第三方组件和维护主体的归属证据有限。
README、package 元数据和 CI 对版本、平台、测试命令及主要定位基本一致。CI 覆盖三平台 Rust 测试、前端检查、单元测试、国际化一致性、Debian 兼容和 Windows/Linux 启动冒烟;局部测试还覆盖密钥更新和下载器重试错误路径。扣分原因是大量代理、队列、恢复、ACP、MCP 和性能声明没有对应实现文件或专项测试作为本次证据,macOS 缺少启动冒烟测试,自动安装和更新的失败恢复也未充分展示。
材料清楚区分下载、编码代理、本地模型、CLI/ACP、任务、循环、定时器、webhook、MCP 和访客等用户场景,并给出多平台与本地优先路径。能力边界包括单工作区、预算、并发数、权限级别、循环停止条件、访客只读行为和部分功能的 beta 标记。扣分原因是触发规则主要是产品说明,未提供解析或路由实现;Windows/Linux/macOS 的权限与沙箱能力并不完全对等,远程提供商、外部 CLI 和系统工具的具体兼容边界也不完整。
README 有清晰目录、任务导向表格、稳定的 LLM/Jobs/Loops/World 等命名、命令示例和 FAQ/安装/构建入口;package 版本为 0.10.0,并提供版本脚本与基于发布事件的 Homebrew 流程。GPL-3.0 在元数据、徽章和完整 LICENSE 中一致,许可证据充分。扣分原因是所给片段没有展示实际安装、FAQ、构建或变更日志正文;限制多为散落说明,未形成完整清单;发布者身份未验证,且没有清楚的维护者、支持承诺或安全联系信息。
GUI、差异审查、单击撤销、持久任务、循环、日志、成本记录、本地模型和跨平台打包可形成可直接使用的工作流;把下载器、媒体工具和代理控制面整合在一起,边际功能价值明显。扣分原因是本次静态材料没有呈现实际输出样例、完整交互结果或用户验收证据;156 个工具和广泛集成会增加安装体积、攻击面和认知成本,性能与节省时间的说法仅有作者描述。
不少声明附有具体机制、状态名、工具名、命令、版本和 CI 步骤,package 与工作流对版本、平台和测试入口提供了交叉印证,局部测试也对应密钥权限及重试行为。扣分原因是最重要的安全、隐私、撤销、崩溃恢复、性能、工具数量和协议兼容声明多数只出现在 README,缺少相应源码或测试证据;宣传性事实、作者测量和已验证事实之间没有始终明确分层。
- 这是低置信度静态审查;未运行应用、测试、代理、下载器或更新流程。
- 在非 macOS 平台启用 shell、持久化“始终允许”规则、webhook、外部 MCP 或远程模型前,应单独验证沙箱和授权边界。
- “无遥测”“文件留在本机”“撤销整个回合”和崩溃后自动恢复等关键声明需要源码审计或可复现实验确认。
- 依赖面很大且多用宽松版本范围;部署前应检查锁文件、Rust 依赖、二进制自动下载、更新签名和漏洞扫描结果。
- 课程和媒体下载可能受平台条款、版权及技术保护规则约束,用户需自行确认授权。
这个 Agent 能做什么,适合哪些场景?
OmniGet 是一款面向 Windows、macOS 和 Linux 的 GPL-3.0 桌面应用,将 AI 编程智能体、下载管理器和本地媒体工具箱整合在同一界面中。它可以把 Claude Code、Codex、Gemini CLI、ACP 智能体以及 Ollama、LM Studio、llama-server 等本地模型接入统一名单,并为文件修改和命令执行提供权限确认、差异预览、沙箱与整轮撤销。任务可进入持久化 SQLite 队列,也可通过 Loop 反复运行,直到指定测试命令通过或达到轮次、时间限制。它还提供双向 MCP 集成:外部 MCP 服务可成为智能体工具,OmniGet 自己也能向 Claude Code、Cursor、VS Code、Goose 和 Codex 暴露 49 项工具。除开发功能外,它也是 yt-dlp 图形界面、课程下载器和媒体工具箱,可处理购买的课程、1,800 多个站点、PDF、字幕、音视频及图片,结果保存在用户自己的电脑上。
用户先选择智能体并挂载一个工作目录;内置执行框架随后可调用 fs_read、fs_list、fs_glob、fs_grep、fs_edit、fs_write、fs_apply_patch、shell_exec、todo_write、kb_search 和 kb_write。写入前会展示命令或差异并请求 Allow、Deny 或 Always;首次写入前,系统用不接触项目仓库的影子 Git 创建检查点,以便 Undo 恢复整个回合。Jobs 将提示词、日志、状态、模型、令牌和成本记录在 SQLite 队列中;Loops 在每轮后运行 npm test、cargo test 等用户指定的检查命令,直到通过或触及限制。agent_delegate 可把子任务交给名单中的另一名智能体,共享记忆来自项目内的 AGENTS.md 或 CLAUDE.md 以及 .omniget/kb/ Markdown 文件。下载侧接收 URL、磁力链接或 torrent,使用原生提取器或 yt-dlp 获取内容,并由 FFmpeg、whisper.cpp、aria2、gallery-dl 等已说明的组件完成转换、转写或传输;内置播放器、阅读器和课程播放器消费生成的本地文件。
- 不想在终端中操作 Claude Code、Codex 或 Gemini CLI 的开发者,可在图形界面中查看差异、批准写入并撤销整个回合。
- 需要让修复任务在离开电脑后继续运行的团队,可创建持久化 Job,或让 Loop 重复修改并执行测试,直到检查通过。
- 希望代码和模型都尽量留在本机的个人开发者,可连接 Ollama、LM Studio 或 llama-server,并使用同一套文件、命令、权限和撤销工具。
- 同时使用多个模型或 CLI 的用户,可让本地协调智能体通过 agent_delegate 把困难子任务交给 Claude Code等名单成员。
- 使用 Claude Code、Cursor、VS Code、Goose 或 Codex 的用户,可通过内置 MCP 服务调用 OmniGet 的下载、PDF、转写、图像和受限编程工具。
- 需要离线保存已购买课程或公开视频资料的用户,可下载 Udemy、Hotmart、Kiwify、Rocketseat 内容及 yt-dlp 支持的站点,并在应用内播放、转写或整理。
这个 Agent 有哪些优点和局限?
- 把 Claude Code、Codex、Gemini CLI、ACP 客户端、本地模型和 API 模型放入同一名单,并支持 agent_delegate,而非绑定单一模型供应商。
- 写操作具有差异预览、逐次或持久权限规则、工作目录边界和整回合 Undo;macOS 的 shell_exec 还明确使用 seatbelt 禁止网络并限制写入范围。
- SQLite Jobs、测试 Loop、cron 与本地 webhook 让智能体工作可以持久化、定时或由其他程序触发。
- 内置 MCP 客户端和含 49 项工具的 MCP 服务,使同一套能力既能消费外部工具,也能提供给其他开发环境。
- 除编码外还整合 yt-dlp、课程下载、转写、PDF 和媒体处理,适合需要从资料获取一直做到本地整理的工作流。
- 产品范围非常宽,包含智能体、下载器、媒体播放器和 156 项工具;只需要轻量编程客户端的团队需要承担更大的安装面和界面复杂度。
- 远程模型、Claude Code、Codex、部分社交平台及下载流程仍依赖网络、第三方账户、API 密钥、配额或站点行为;仅本地模型路径可离线运行。
- 沙箱能力并非所有平台都被同等说明:来源明确描述了 macOS seatbelt,但没有给出 Windows 和 Linux 等价隔离机制的细节。
- 应用没有付费代码签名证书,Windows SmartScreen 和 macOS Gatekeeper 可能阻止首次启动,macOS 用户还可能需要手动运行 xattr 和 codesign。
- Linux AppImage 可能需要 FUSE 2 和额外 GStreamer 插件;缺少插件时播放器可能黑屏、静音或导致 WebKitGTK Web 进程退出。
如何安装或部署这个 Agent?
Windows 10/11 可从 Releases 下载 x64 安装程序、便携版或 MSI,也可执行 winget install -e --id tonhowtf.OmniGet。macOS 10.15+ 可下载 Apple Silicon 或 Intel DMG,或执行 brew install --cask tonhowtf/tap/omniget;由于应用未使用付费代码签名证书,首次安装后可能需要执行 xattr -cr /Applications/omniget.app 和 codesign --force --deep --sign - /Applications/omniget.app。Linux 提供 amd64/arm64 的 DEB、RPM 和 AppImage;较新的 Debian/Ubuntu 使用 AppImage 时可能需要 sudo apt install libfuse2。首次启动选择语言和主题,并让应用安装及校验 yt-dlp 和 FFmpeg。AI 功能还需任选一种执行来源:已登录的 Claude Code、Codex 或兼容 ACP CLI,本地 Ollama、LM Studio、llama-server,或者在设置中配置 OpenAI、Anthropic 或兼容端点的 API 密钥。
如何使用这个 Agent?
图形界面中进入 LLM → Accounts 添加 Claude Code、Codex、Gemini CLI 或其他 ACP 命令;本地模型在 LLM → Models 中连接。进入 LLM → Chat,选择智能体、挂载工作目录并描述修改;遇到写入或命令时查看差异并选择 Allow、Always 或 Deny,需要回退时使用 Undo。长任务在 LLM → Jobs 中创建;Loop 还需填写检查命令和轮次或时间限制。应用运行时也可在终端执行 omniget agent run "Fix the failing test in src/cart.js" --agent claude-code --workspace .,或执行 omniget agent loop "Make the tests pass" --agent omni --workspace . --check "npm test" --rounds 5。要向外部客户端提供工具,在 Tools → AI → MCP server 开启服务,再复制页面为 Claude Code、Cursor、VS Code、Goose 或 Codex 生成的配置片段。下载内容时,在首页粘贴 URL、磁力链接或 torrent,选择质量后开始任务。
这个 Agent 与同类方案有什么区别?
与单独使用 yt-dlp 相比,OmniGet 提供图形化质量选择、队列、断点续传、登录 Cookie、播放器和后处理工具,但安装的是范围更大的桌面应用。与单站网页下载器相比,它同时覆盖原生课程和社交平台提取器、torrent、直接文件及 yt-dlp 支持的约 1,800 个站点,并把文件保存在本机。与付费课程下载器相比,它以 GPL-3.0 免费发布并支持多种课程平台,但登录内容仍须使用用户自己的有效会话。其智能体侧则定位为 Claude Code、Codex、Gemini CLI、ACP 与本地模型的统一桌面执行框架,而不是替代这些底层智能体或模型。