尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

OmniGet Claude Code 插件实战指南:让 AI 直接下载媒体、抓取字幕并生成带时间戳的转写文本

OmniGet Claude Code 插件实战指南:让 AI 直接下载媒体、抓取字幕并生成带时间戳的转写文本 OmniGet Claude Code 插件实战指南让 AI 直接下载媒体、抓取字幕并生成带时间戳的转写文本【免费下载链接】omnigetDownload Udemy and Hotmart courses, YouTube videos, music and books — 1,800 sites, no terminal. Free open-source desktop app for Windows, macOS and Linux, with a built-in course player, PDF/EPUB reader and music library. Powered by yt-dlp. Your files stay on your computer.项目地址: https://gitcode.com/GitHub_Trending/om/omniget导读本文以 OmniGet 仓库中的 Claude Code 插件文档claude-plugin/omniget/README.md 与 claude-plugin/omniget/INSTALL.md为核心完整讲解如何把一条视频/音频/社交帖子 URL 粘贴进 Claude Code就能得到媒体文件、帖子文案caption和可直接用于总结、引用与调研的转写文本。你将掌握插件的三步安装、五个斜杠命令、五级转写后端阶梯、环境变量与脚本族的工作方式以及源码级的工具查找与自动登录重试原理。插件定位复用 OmniGet 已有工具把 URL 变成可引用的文本资产OmniGet 是一款基于 yt-dlp 的开源桌面应用Windows / macOS / Linux覆盖 1,800 站点。而omnigetClaude Code 插件把同一套下载与提取能力带进了 Claude Code 会话用户粘贴一个链接并提出请求后插件负责把媒体文件落到磁盘、把平台字幕抓下来、必要时调用本地或云端语音模型转写最终输出可直接阅读的 Markdown 转写稿。关键设计是复用而非重复安装。插件查找工具的优先级与桌面应用自身的 resolver 保持一致见 scripts/resolve-tools.sh 中og_find_tool的实现显式覆盖OMNIGET_TOOL_NAME环境变量指定的路径标记为customOmniGet 托管目录桌面应用数据目录下的bin/标记为omnigetskill 自带缓存~/.cache/omniget-skill/bin标记为skill系统 PATHcommand -v找到的yt-dlp、ffmpeg等标记为system。这意味着插件并不强制要求桌面应用存在——只要 PATH 上有yt-dlp和ffmpeg它就能独立工作如果桌面应用已安装yt-dlp/ffmpeg由应用托管setup 步骤会直接找到它们而无需重复安装。数据目录的跨平台定位og_data_dir同样参考了桌面端omniget-core/src/core/paths.rs的约定macOS 为~/Library/Application Support/wtf.tonho.omnigetLinux 为$XDG_DATA_HOME下的wtf.tonho.omnigetWindows 为%APPDATA%下的同名目录。三步安装从零到可用只需一条确认完整安装指南见 claude-plugin/omniget/INSTALL.md核心依赖关系如下表用途工具是否必需下载 / 元数据 / 平台字幕yt-dlpffmpeg必需Instagram / X / Bilibili / Threads 的可靠抓取omniget-cli预编译二进制推荐本地离线转写whisper-cliwhisper.cpp或mlx_whisper ggml 模型可选云端转写OpenAI或Gemini API Key可选并非所有工具都要装齐只看字幕只需要yt-dlpffmpeg转写只要平台字幕、本地模型、云端 Key三者之一即可。第 1 步安装插件唯一必须的步骤在 Claude Code 会话中执行/plugin marketplace add /path/to/omniget/claude-plugin /plugin install omniget第 2 步一条命令装齐工具/omniget:setupsetup.sh会检测操作系统与包管理器检查yt-dlp和ffmpeg缺什么就在一次确认后自动安装macOS 走 HomebrewWindows 走 winget/scoop并下载当前 OS/arch 对应的预编译omniget-cli——它携带 OmniGet 原生提取器对 Instagram/X/Bilibili/Threads 比裸 yt-dlp 更可靠。可用参数见 scripts/setup.sh 的参数解析参数作用--yes跳过安装确认提示--local额外安装本机 Whisper 引擎并下载默认模型large-v3-turbo-q5_0547 MB--no-cli跳过omniget-cli下载--update刷新yt-dlp与omniget-cli站点失效时使用隐含--yes--check-only只报告状态不安装任何东西对 Claude 安全也可以在终端直接运行bash claude-plugin/omniget/scripts/setup.sh加--yes跳过提示。omniget-cli的资产三元组映射在cli_triple()中aarch64-apple-darwin/x86_64-apple-darwintar.gz、x86_64-pc-windows-msvczip、x86_64-unknown-linux-gnutar.gz不支持的平台如 Linux arm64会提示将用 yt-dlp 处理所有站点。第 3 步添加转写 Key可选字幕与本地 Whisper不需要任何 Key。只有云端转写更准、免下载模型需要 OpenAI 或 Gemini Key且必须在你自己的终端里添加——输入被隐藏Key 永远不会经过 Claudebash claude-plugin/omniget/scripts/keys.sh set bash claude-plugin/omniget/scripts/keys.sh checkkeys.sh set交互式地把OPENAI_API_KEY/GEMINI_API_KEY写入~/.config/ai-keys.env权限 600可用OMNIGET_KEYS_FILE覆盖路径值从 stdin 读取而不是 argv避免出现在进程列表与 shell 历史中scripts/keys.sh 的_upsert_env用 awk 保留其他行、只替换目标变量。keys.sh check则通过真实的 HTTP 探测报告每个 Key 是working/BAD KEY/not setscripts/keys.sh。注意只支持 OpenAI 和 GeminiOpenRouter 没有语音转写端点因此不在支持之列。各系统注意点macOS需要 [Homebrew]。/omniget:setup自动安装yt-dlp、ffmpeg加--local时还会安装whisper-cpp。Windows需要 wingetMicrosoft Store 的 App Installer或 scoop。/omniget:setup安装yt-dlp和ffmpeg。本地转写建议直接用云端 Key或手动安装 whisper.cpp字幕与云端转写开箱即用。Linux/omniget:setup自动探测apt/dnf/pacman/zypper并执行需要sudo所以要在终端里跑探测不到时打印精确命令。发行版自带的yt-dlp往往过旧——setup 在 apt 上使用pipx install yt-dlp以保持最新。本地 Whisper 需要自行安装whisper.cpp并用scripts/get-model.sh拉取模型。五个斜杠命令一览命令作用/omniget:fetch url [--audio] [--quality N]下载媒体到~/Downloads/omniget/omniget:transcribe url\|file [--backend B] [--lang xx] [--summarize]转写可选附带总结/omniget:research url [--backend B]把文案 转写蒸馏成带[mm:ss]时间引用的 Markdown 笔记/omniget:setup安装缺失工具 omniget-cli确认一次检查 API Key--update刷新它们/omniget:doctor报告可用工具、模型、Key 及补齐方法命令的前端逻辑写在 commands/ 目录每个.md文件用 front-matter 声明description、argument-hint与allowed-tools正文告诉 Claude 该调用哪个脚本、输出如何汇报。例如fetch.md要求下载后用一两句话报告保存路径、大小和时长失败时先跑doctor.sh再依据错误表处理。此外两个 skillomniget-fetch、omniget-transcribe见 skills/omniget-fetch/SKILL.md 与 skills/omniget-transcribe/SKILL.md会在用户粘贴媒体 URL 并附带请求时自动触发所以斜杠命令是可选的——直接说帮我下载这个视频也能生效。转写后端阶梯--backend auto的五级降级默认的auto模式按下表顺序尝试取第一个可用的顺序后端前置条件成本说明1captions平台字幕免费、秒级所有 URL 都会先试自动字幕略粗糙但可用2localwhisper-cli ggml 模型免费、离线、私密CPU/Metal默认推荐large-v3-turbo-q5_03mlxmlx_whisperApple Silicon免费、离线、私密在 M 系列 Mac 上比 whisper-cli 更快4geminiGEMINI_API_KEY每小时几美分音频原生适合长录音5openaiOPENAI_API_KEY约 $0.006/分钟whisper-1返回时间戳--model gpt-4o-transcribe更准但纯文本降级逻辑在 scripts/transcribe.shauto模式下按whisper-cli 模型 → mlx_whisper → GEMINI_API_KEY → OPENAI_API_KEY的优先级选定后端全部缺失则退出码 4。每个后端都会先把音频统一转成 16 kHz 单声道本地用 PCM wav、云端用 32k MP3再交给对应引擎。用户有明确偏好时可以强制指定--backend local|mlx|gemini|openai|captions。常见用法最准有 OpenAI Key--backend openai --model gpt-4o-transcribe免费/离线/私密--backend localMac 上可用mlx已知语言给所有后端都传--lang en或pt、es…既提速又提准超过两小时的录音跑云端后端前先向用户确认。转写流程与退出码转写管线URL 场景为research.sh先取标题/平台/时长/文案不下载→transcribe.sh抓字幕或音频并转写 → 用srt_tools.py把 SRT 转成带[mm:ss]时间标记的 Markdown → Claude 读取.md后按要求总结、提取要点、带时间戳引用或翻译。输出文件落在~/Downloads/omniget/transcripts可用--out或OMNIGET_DIR覆盖。命令的具体编排见 commands/transcribe.md 与 commands/research.md。退出码含义处理3指定--backend captions但平台没有字幕改用--backend auto重跑4既无本地引擎也无 Key提供setup.sh确认一次提示用户在终端keys.sh setget-model.sh large-v3-turbo-q5_0拉取 547 MB 本地模型1工具缺失或下载失败阅读脚本打印的- hint限流/登录/DRM 分类跑doctor.sh站点失效则setup.sh --updateMarkdown 转写稿由 scripts/srt_tools.py 生成它基于--行做边界解析不依赖空行分隔兼容部分模型省略空行的输出_merge_line折叠滚动字幕的重复行to_markdown默认每 60 秒分段并在段落前加[mm:ss]标记srt_tools.py。它还提供to-text、concat按偏移拼接多段 SRT、stats子命令.srt与.md会并排保存方便用 OmniGet 桌面应用的 Subtitle Workshop 继续编辑。环境变量变量含义OMNIGET_DIR输出目录默认~/Downloads/omnigetOMNIGET_DATA_DIROmniGet 应用数据目录按 OS 自动探测OMNIGET_TOOL_YT_DLP、OMNIGET_TOOL_FFMPEG、…显式指定二进制路径最高优先级OMNIGET_WHISPER_MODEL本地后端使用的 ggml 模型文件OMNIGET_COOKIES_FROM_BROWSERchrome/firefox/safari/edge用于登录受限媒体OMNIGET_KEYS_FILE替代~/.config/ai-keys.env的 Key 文件这些变量统一在resolve-tools.sh中被读取并贯穿所有脚本。og_find_tool的查找顺序就是显式变量 → OmniGet 托管目录 → skill 缓存 → PATH与桌面应用find_tool_with_source的语义一致。下载实战fetch.sh的内部路径/omniget:fetch最终调用 scripts/fetch.sh参数url [--audio] [--quality N] [--out DIR]成功时输出一行 JSON{file,title,duration,size,platform,engine,id}。对 Instagram/Threads/X/Bilibili 等站点og_prefers_cli判定的主机列表见 resolve-tools.sh若omniget-cli可用走omniget-cli --json download原生提取路径并能复用 OmniGet 的 cookie 账号fetch.sh否则回落到 yt-dlp默认-f bv*ba/b --merge-output-format mp4--audio追加-f bestaudio/best -x --audio-format m4a播客、讲话类内容优先推荐--quality N追加-f bv*[height$N]ba/...封顶视频高度--ffmpeg-location指向解析到的 ffmpeg输出模板为%(title).120B [%(id)s].%(ext)s。下载失败时og_explain_error会把原始 stderr 归类成可执行建议限流empty media response、HTTP 400/429、登录墙Sign in to confirm、HTTP 401/403、Private video、DRMSAMPLE-AES、Widevine、FairPlay、提取器失效Unsupported URL、清晰度不可用Requested format is not available并打印一行- hintresolve-tools.sh。自动登录重试私有与限流内容的处理没有下载器能对 Instagram/X 永远有效——它们按 IP 限流、用登录墙门控内容。当请求被登录墙或限流挡住时og_run_ytdlp会自动用你已登录的浏览器重试一次自动探测 Chrome/Brave/Edge/Firefox/Safari无需任何参数resolve-tools.sh。两个注意点macOS 上首次读取浏览器 cookie 会触发一次性的 Keychain 授权弹窗允许即可或选 Always Allow若浏览器有多个 profile 且默认 profile 未登录可钉选正确的那个OMNIGET_COOKIES_FROM_BROWSERchrome:Profile 3。重试后仍被挡就是硬限流——等几分钟再试。另外在 OmniGet 应用里登录过该站点也有效应用持有的 cookies.txtdata dir/cookies/domain下的最新文件见og_cookie_file会优先于浏览器被复用。该重试逻辑有独立的离线测试覆盖tests/test_retry.sh用 stub yt-dlp 验证了带 cookie 重试成功硬失败不无限循环DRM 错误绝不触发重试三种分支。对于 YouTube、TikTok、Reddit、Vimeo、Twitch 及约 1,800 个 yt-dlp 站点的公开内容无需上述任何操作稳定可靠。故障排查与日常维护/omniget:doctor对应 scripts/doctor.sh输出全部状态omniget-cli、yt-dlp、ffmpeg、ffprobe、whisper-cli、mlx_whisper六个工具各自的来源/缺失情况Whisper 模型、两个云 Key 的状态、桌面应用是否安装、输出目录以及每种缺失的补齐命令--check-keys会附加实时 Key 探测--json输出机器可读结果。yt-dlp not found→ 运行/omniget:setup。某个站点突然失败 →setup.sh --update升级 yt-dlp 并重新下载最新omniget-cli。全部绿色但单个 URL 失败 → 看脚本打印的- hint它区分了限流、需要登录与 DRM 三类原因。卸载用/plugin uninstall omniget下载的工具与模型存放在~/.cache/omniget-skill/以及 brew/winget 的系统位置需要时可手动清理回收空间。边界与安全设计插件遵循明确的范围约束见 README 的 Scope 一节与 skill 的 Rules只下载用户明确索要的媒体仅粘贴 URL 并询问内容属于转写请求而非下载请求绝不绕过 DRM 或付费墙只使用用户已有的会话OmniGet cookie 账号或--cookies-from-browser;文案覆盖帖子描述评论不在范围内cookie 文件与 API Key永不打印、复制或提交Claude 不得运行keys.sh setKey 必须由用户在自有终端输入避免经过会话。keys.sh的写入语义保留无关行、替换目标变量、chmod 600由tests/test_keys.sh用隔离的临时 Key 文件验证SRT 解析与 Markdown 生成的正确性由tests/test_srt_tools.py滚动字幕去重、时间标记间隔、小时级时长和tests/test_gemini_norm.py时间戳规范化覆盖。运行全部测试python3 -m unittest discover -s tests与bash tests/test_keys.sh。整体来看omniget插件把 OmniGet 桌面端的下载内核yt-dlp ffmpeg omniget-cli 原生提取器 cookie 会话无缝复用到 Claude Code 中再叠加一条从平台字幕 → 本地 Whisper → Apple Silicon MLX → Gemini → OpenAI的完整转写阶梯让粘贴链接 → 拿到可引用的带时间戳笔记成为一条真正的一键流水线。【免费下载链接】omnigetDownload Udemy and Hotmart courses, YouTube videos, music and books — 1,800 sites, no terminal. Free open-source desktop app for Windows, macOS and Linux, with a built-in course player, PDF/EPUB reader and music library. Powered by yt-dlp. Your files stay on your computer.项目地址: https://gitcode.com/GitHub_Trending/om/omniget创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表