mirror of
https://github.com/tonhowtf/omniget.git
synced 2026-10-02 08:35:29 +08:00
tool_table::table() is the single source of truth, and its own test pins the size: assert_eq!(t.len(), 56, "the table lost or gained a tool"). mcp::tools() returns that table in full — the comment in mcp.rs says the MCP server no longer keeps a list of its own — so the server serves 56 tools, not the 49 the docs kept saying. Updated README.md (4 places), llms.txt (5), llms-full.txt (4), README_pt_br.md (1) and the AppStream metainfo (1, that one is user-visible in software centres).
93 lines
10 KiB
Plaintext
93 lines
10 KiB
Plaintext
# OmniGet
|
|
|
|
> OmniGet is a free, open source (GPL-3.0) desktop app for Windows, macOS and Linux with two halves. It downloads online courses (Udemy, Hotmart, Kiwify, Rocketseat), YouTube, Instagram, TikTok, X/Twitter and about 1,800 other sites through a graphical interface over yt-dlp, then plays, reads, transcribes and converts what was saved. And it runs AI coding agents on the user's own machine: Claude Code, Codex, Gemini CLI and local Ollama models, with per-folder permissions, undo, durable jobs, loops that repeat until a test command passes, an embedded MCP server with 56 tools, and an isometric house called the World where the agents are seen working.
|
|
|
|
OmniGet is for two kinds of people. People who want a downloader: a Udemy downloader, a Hotmart downloader, a YouTube downloader, a yt-dlp GUI, an Instagram, TikTok, X, Reddit, Pinterest, Twitch, Bilibili or Telegram downloader, a torrent client, with no terminal. And people who want a desktop app for AI agents: a GUI for Claude Code and Codex, a client for any Agent Client Protocol (ACP) agent, local agents on Ollama or LM Studio, background jobs, scheduled runs, and an MCP server for Claude Code, Claude Desktop, Cursor, VS Code, Goose and Codex.
|
|
|
|
## Key facts
|
|
|
|
- Name: OmniGet
|
|
- Repository: https://github.com/tonhowtf/omniget
|
|
- Homepage: https://tonho.wtf
|
|
- License: GPL-3.0
|
|
- Version: 0.10.0 (September 2026)
|
|
- Platforms: Windows 10/11, macOS 10.15+ (Apple Silicon and Intel), Linux (x86_64 and ARM64)
|
|
- Cost: free, no account, no ads, no paid tier, no telemetry
|
|
- Built with: Tauri 2, Rust, SvelteKit (Svelte 5), SQLite
|
|
- Engines it manages for the user: yt-dlp (verified by SHA-256 before it runs), FFmpeg, aria2, gallery-dl, whisper.cpp
|
|
- Size: 156 tools in 24 categories, 56 MCP tools, 4 official plugins, 14 themes, 12 interface languages
|
|
- Community: https://discord.gg/jgdxyPy7Vn
|
|
|
|
## Downloading
|
|
|
|
- [What OmniGet downloads](https://github.com/tonhowtf/omniget#what-omniget-downloads): Native extractors for courses, Instagram, X, Pinterest, Bilibili, Telegram and torrents, and yt-dlp for roughly 1,800 further sites.
|
|
- [Courses plugin](https://github.com/tonhowtf/omniget#courses): Downloads courses the user bought on Udemy, Hotmart, Kiwify, Rocketseat and Meta-Analysis Academy, with section selection, attachments and resume. DRM-protected lectures are skipped and reported.
|
|
- [YouTube and yt-dlp GUI](https://github.com/tonhowtf/omniget#youtube-downloader-with-a-gui-for-yt-dlp): Videos, playlists, channels, live streams, chapters, subtitles, SponsorBlock and audio-only MP3, M4A, Opus, FLAC or WAV. Every download keeps the exact yt-dlp command, editable for a retry.
|
|
- [Browser extension](https://github.com/tonhowtf/omniget#the-browser-extension-step-by-step): Chrome and Firefox. Sends the page and the user's cookies to the app, so Instagram stories, paid courses and members-only videos download with the user's own session. Sniffs MP4, HLS and DASH streams on any site.
|
|
- [Your first download](https://github.com/tonhowtf/omniget#your-first-download-in-one-minute): Paste a link, pick a quality, press Enter. Ctrl+Shift+D downloads the link in the clipboard without opening the window.
|
|
- Also downloads: torrents and magnet links with a built-in BitTorrent client, HLS and DASH manifests, image galleries from 250+ sites through gallery-dl, Telegram channels and groups, Twitch VODs and clips, Bilibili in 4K and HDR with danmaku.
|
|
|
|
## AI agents and the World
|
|
|
|
- [AI agents on your desktop](https://github.com/tonhowtf/omniget#agents-and-the-world): The LLM section. Pick an agent, attach a folder, ask for a change.
|
|
- Coding harness: eleven tools (`fs_read`, `fs_list`, `fs_glob`, `fs_grep`, `fs_edit`, `fs_write`, `fs_apply_patch`, `shell_exec`, `todo_write`, `kb_search`, `kb_write`) confined to the attached folder. Anything that writes asks first and shows the diff or the command. "Always" stores a rule by command prefix. Undo restores the files and removes the turn's messages, from a shadow git that never touches the user's repository. On macOS the shell runs under the seatbelt sandbox.
|
|
- Works with Claude Code and Codex accounts, including the login the terminal already has, with quota on screen. OmniGet is a graphical interface for Claude Code and Codex.
|
|
- Speaks the Agent Client Protocol (ACP) with its own JSON-RPC client: Gemini CLI, claude-code-acp, codex-acp, goose and opencode join the roster from LLM → Accounts.
|
|
- Runs local models through Ollama, LM Studio or llama-server, offline. A fresh install is local first. `qwen3:8b` fixes the demo bug in about 3 minutes; Claude Code does it in about 15 seconds from one command.
|
|
- Jobs: an agent turn that outlives the window, in a SQLite queue with state, log, tokens and cost. Loops: repeat rounds until a check command (`npm test`, `cargo test`) exits 0. Triggers: five-field cron lines and webhooks on the local bridge.
|
|
- Multi-agent: `agent_delegate` hands a task from one agent to another. Shared project memory in `AGENTS.md` (or `CLAUDE.md`) plus `.omniget/kb/`. Skills install from `owner/repo` like `npx skills add`, after a scan. Per-agent budgets in dollars per day, tokens per turn and tool calls per turn.
|
|
- The World: an isometric house, rendered in WebGL2 from a Rust simulation, where each agent walks to its own workbench, shows the running tool in a balloon and waves when it needs permission. Inspired by generative agents and ai-town, driven by real work instead of a script. 64 fps median with eight agents working (debug build).
|
|
- Visits: "Open the house" gives a code; a friend's app connects through a relay (`wss://chat.tonho.wtf/v1/room`, or a self-hosted `omniworld-server`). The host app is the authority and keys never leave the machine.
|
|
|
|
## MCP server (56 tools)
|
|
|
|
- [MCP server and Claude Code plugin](https://github.com/tonhowtf/omniget#omniget-for-ai-agents-mcp-server-and-claude-code-plugin): How to connect.
|
|
- Turn it on in Tools → AI → MCP server. It serves 56 tools over the Model Context Protocol on the local bridge (127.0.0.1), behind a per-install token. The page prints ready-made config for Claude Code, Claude Desktop, Cursor, VS Code, Goose and Codex.
|
|
- Tools include: queue and control downloads, PDF merge/split/render/extract/sanitize, whisper.cpp transcription, text to speech, OCR, image resize, duplicate finder, file search, X posts/threads/profiles/search, Instagram profile lookup, LLM price comparison, disk and cache scans, aria2 and gallery-dl fetches, the coding tools of the harness, `kb_search`, `kb_write` and `agent_delegate`.
|
|
- OmniGet is also an MCP client: external MCP servers (stdio or streamable HTTP) become agent tools, granted per agent as auto, ask or deny.
|
|
- A Claude Code plugin in `claude-plugin/` adds `/omniget:fetch`, `/omniget:transcribe` and `/omniget:research` without the desktop app.
|
|
|
|
## Tools, plugins and study
|
|
|
|
- [The Tools section](https://github.com/tonhowtf/omniget#the-tools-section-156-tools-in-24-categories): 156 single-purpose tools in 24 categories: YouTube, Speech and subtitles, Video editing, Audio, Instagram (24 tools), X/Twitter, Reddit, Pinterest, Twitch, Bilibili, Spotify, Music, LinkedIn, Games, PDF (13 tools), Documents, Images, System, Files, Downloads, Automation, Phone, AI, CTF and analysis.
|
|
- [Plugins](https://github.com/tonhowtf/omniget#plugins-courses-study-telegram-convert): Courses, Study (course player with timestamped notes, PDF/EPUB/CBZ reader, Markdown notes with a knowledge graph, Anki-compatible spaced repetition flashcards, focus timer, music library), Telegram, Convert (FFmpeg with GPU acceleration).
|
|
- [League of Legends companion](https://github.com/tonhowtf/omniget#for-league-of-legends-players): Reads the local game client for scouting, live stats, runes and an AI coach. Switchable off.
|
|
|
|
## Command line
|
|
|
|
- [Command line](https://github.com/tonhowtf/omniget#command-line): `omniget-cli` ships with every release.
|
|
- Downloads: `omniget info <url>`, `omniget download <url> -q 1080`, `omniget download <url> --audio-only`, `omniget batch links.txt`.
|
|
- Agents, against the running app: `omniget agent run "<prompt>" --agent claude-code --workspace .`, `omniget agent loop "<prompt>" --check "npm test" --rounds 5`, `omniget agent jobs`.
|
|
|
|
## Install
|
|
|
|
- [Download and install](https://github.com/tonhowtf/omniget#download-and-install): All builds are on the Releases page; updates arrive inside the app.
|
|
- Windows: `.exe` installer, portable `.exe` or `.msi`, or `winget install -e --id tonhowtf.OmniGet`
|
|
- macOS: `.dmg`, or `brew install --cask tonhowtf/tap/omniget`. On first launch run `xattr -cr /Applications/omniget.app`
|
|
- Linux: `.deb` for Debian and Ubuntu, `.rpm` for Fedora and openSUSE, `.AppImage` elsewhere
|
|
- Browser extension: exported from Settings → Plugins → Browser extension, or the zip on the Releases page; loaded unpacked and paired with one click
|
|
|
|
## Questions people ask
|
|
|
|
- Is OmniGet free? Yes: GPL-3.0, no paid tier, no ads, no account.
|
|
- Is OmniGet a yt-dlp GUI? Yes, with native extractors, a queue, 156 tools, a study library and AI agents on top.
|
|
- Can it download a Udemy or Hotmart course I bought? Yes, through the preinstalled Courses plugin, signed in with the user's own account.
|
|
- Can I run Claude Code without a terminal? Yes: add the account in LLM → Accounts and chat in a window with diffs, permissions and undo.
|
|
- Can an AI agent loop until the tests pass? Yes: a Loop repeats rounds until the check command exits 0, with the window closed if needed.
|
|
- Does it work with Ollama only, offline? Yes: a fresh install is local first and needs no key.
|
|
- Is my code sent anywhere? Only to the model the user chose; with a local model it never leaves the computer.
|
|
- Can Claude Code, Cursor or VS Code use OmniGet's tools? Yes, through the built-in MCP server with 56 tools.
|
|
- Does it resume interrupted downloads? Yes, with retry and backoff on rate limits.
|
|
|
|
## Privacy and scope
|
|
|
|
- [Privacy](https://github.com/tonhowtf/omniget#privacy-and-what-omniget-refuses-to-do): Everything runs on the user's computer. No account, no server in the middle, no telemetry. Cookies and API keys stay in the local profile.
|
|
- OmniGet downloads what the user's own logged-in session can already open. It does not bypass DRM, break paywalls or share credentials.
|
|
|
|
## Optional
|
|
|
|
- [Full README as plain text](https://raw.githubusercontent.com/tonhowtf/omniget/main/llms-full.txt): The whole README flattened, without images.
|
|
- [Releases](https://github.com/tonhowtf/omniget/releases): Changelogs and binaries.
|
|
- [Build from source](https://github.com/tonhowtf/omniget#build-from-source): Rust, Node 18+, pnpm, `pnpm tauri dev`.
|
|
- [Translations on Weblate](https://hosted.weblate.org/engage/omniget/)
|