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

资讯详情

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

在 goose 中接入 YouTube Transcript MCP 扩展:安装配置、抓取视频字幕并让 Agent 处理全文

在 goose 中接入 YouTube Transcript MCP 扩展:安装配置、抓取视频字幕并让 Agent 处理全文 在 goose 中接入 YouTube Transcript MCP 扩展安装配置、抓取视频字幕并让 Agent 处理全文【免费下载链接】goosean open source, extensible AI agent that goes beyond code suggestions - install, execute, edit, and test with any LLM项目地址: https://gitcode.com/GitHub_Trending/goose3/gooseYouTube Transcript 是面向 goose 的一款第三方 MCP 扩展它把mcp-youtube-transcript基于uvx运行的标准 I/O 型 MCP Server注册为 goose 的扩展使 goose 可以根据一条 YouTube 链接或视频 ID 拉取视频的字幕文本并在此基础上执行翻译、总结、问答、关键词提取等后续任务。本文将以 youtube-transcript-mcp.md 官方教程为骨架先给出 Desktop 与 CLI 两条安装路径再补充 deeplink、交互式配置与配置文件config.yaml三种底层写法并结合 extension.rs 的扩展配置结构说明每个字段的含义。读完后你可以独立把任意视频的字幕接入 goose 会话并写出可复用的指令。goose 扩展与 YouTube Transcript 的定位goose 是一个基于 Model Context ProtocolMCP 的可扩展 AI Agent所有外部能力都被抽象为“扩展Extension”。开发者版Developer、Computer Controller、Memory 等属于内建扩展而任意第三方 MCP Server——包括本文要装的mcp-youtube-transcript——都可以作为外部扩展注册进 goose。从 goose 的角度看一个外部扩展就是一个被 goose 拉起并持续通过 stdin/stdout 通信的子进程MCP stdio 传输。goose 会把该进程暴露出的“工具”映射为 Agent 可调用的能力。接入 YouTube Transcript 后goose 相当于获得了一组与 YouTube 字幕相关的工具可以自主完成“读取视频 ID → 拉取字幕 → 处理文本”的整条链路而不再需要你手动去第三方网站复制粘贴。前置条件已安装 gooseDesktop 应用或 CLI 均可。本文以 CLI 命令为例Desktop 对应操作会在对应小节注明。安装 uv。原因是启动命令基于uvx——它是 uv 提供的“在隔离环境中运行 Python 应用”的工具uvx --from git... pkg的写法会先从指定 Git 源解析并缓存包再执行其中的可执行入口。目标视频链接或视频 ID。以https://www.youtube.com/watch?vdQw4w9WgXcQ为例dQw4w9WgXcQ即为该扩展需要的 video ID。字幕是否可用取决于视频本身是否提供YouTube 自动生成字幕也算可用来源。快速安装一行命令完成注册官方教程提供了 Quick Install 快捷入口Desktop 与 CLI 各有一条路径goose Desktop深链接一键安装点击 启动安装器 即可触发 goose Desktop 的扩展安装对话框。这条goose://extension?…是 goose 的深链接协议Desktop 收到后会自动解析其中的命令与参数填入扩展信息表单ID、显示名、描述、启动命令供你确认。goose CLI手工注册uvx --from githttps://github.com/jkawamoto/mcp-youtube-transcript mcp-youtube-transcript这条命令本身即扩展的完整启动命令command args两种安装界面最终落到 goose 配置里的都是它uvx作为命令--from githttps://github.com/jkawamoto/mcp-youtube-transcript与mcp-youtube-transcript作为参数。完整配置两种界面 两种底层写法官方文档把安装拆成“Desktop 图形表单”和“CLI 配置向导”两条交互路径二者只是配置入口不同产物相同。方式一goose Desktop点击左上角侧边栏按钮打开侧边栏进入Extensions。点击Add custom extension打开添加表单。按下表填写后点击Add字段填写值说明TypeStandard IOstdio 类型goose 启动命令并以标准输入/输出与进程通信IDyoutube-transcript-mcp扩展唯一标识将用作配置 map 的键可自定NameYouTube Transcript会话中的展示名DescriptionAccess YouTube video transcripts功能描述帮助 goose 判断何时启用此扩展Commanduvx启动程序Arguments--from githttps://github.com/jkawamoto/mcp-youtube-transcript、mcp-youtube-transcript传给命令的完整参数列表Timeout如300goose 等待该扩展单次工具调用返回的最大秒数方式二goose CLI 配置向导goose configure在交互菜单中依次选择Add Extension扩展类型选择Command-Line Extension本地以命令方式运行的扩展对应配置结构中的 stdio 类型Built-In Extension与Remote Extension (Streamable HTTP)分别是内建扩展与远程 HTTP 扩展本场景不适用。类型选择逻辑可在 configure.rs 中看到配置器会基于所选类型分发到configure_stdio_extension等实现提示What would you like to call this extension?时输入名称如YouTube Transcript提示What command should be run?时粘贴完整命令uvx --from githttps://github.com/jkawamoto/mcp-youtube-transcript mcp-youtube-transcript按提示设置超时单位秒并确认是否添加环境变量本扩展无需 API Key选择No即可确认后配置器返回Added … extension扩展即注册完成。配置完成后重启会话即可在 goose 的扩展工具列表里看到该扩展暴露的字幕相关工具。配置文件里的最终形态两种交互方式最终都写入 goose 的配置文件~/.config/goose/config.yaml。对于“懂配置”的进阶用户可以直接编辑该文件添加扩展。结合 extension.rs 中ExtensionConfig::Stdio的定义name、description、cmd、args、envs/env_keys、timeout、cwd等字段本扩展对应的一段配置如下extensions: youtube-transcript-mcp: name: YouTube Transcript description: Access YouTube video transcripts cmd: uvx args: - --from - githttps://github.com/jkawamoto/mcp-youtube-transcript - mcp-youtube-transcript enabled: true type: stdio timeout: 300各字段的含义如下extensions下的顶层键这里是youtube-transcript-mcp即扩展 ID与 Desktop 表单里的 ID 对应name展示名会出现在 goose 对话的工具调用与权限提示中description扩展功能说明。goose 在判定“当前任务是否需要该扩展的工具”时会参考这段描述因此应写得具体cmd/args完整启动命令的拆分。注意--from与后面的 Git 源是两个独立参数要分别写入args不能合并成一个带空格的字符串type: stdio扩展传输类型。源码中ExtensionConfig通过#[serde(tag type)]区分stdio、builtin、platform、streamable_http四类本扩展属于stdiotimeoutgoose 等待扩展单次工具调用返回的最长秒数若字幕文本很大或网络较慢可适当调大enabled是否默认启用。置为false时扩展处于已安装但禁用状态可稍后在会话内再开启。Deep Link 参数速查可选理解一键安装的原理Desktop 的“一键安装”本质是 goose 的 deeplink 协议。URL 格式为goose://extension?cmdcommandargargumentididnamenamedescriptiondescriptioncmd基础命令允许取值包括jbang、npx、uvx、goosed、dockerarg命令参数可重复拼接arg…arg…表示多个参数所有参数都必须 URL 编码空格为%20为%40:为%3A/为%2B视场景而定文档统一要求 URL-encodetimeout单次工具调用的等待超时秒id/name/description与上文表单字段一一对应。对照上文的一键链接可以还原出实际参数cmduvxarg--fromarggithttps://github.com/jkawamoto/mcp-youtube-transcript被编码为%2Bargmcp-youtube-transcript再加上id、name空格编码为%20与description。也就是说它与 CLI 版启动命令是同一条命令的参数化表达。使用示例安装完成后goose 便具备了抓取 YouTube 字幕的能力。你唯一需要提供的是目标视频的链接或视频 ID——goose 会自行解析 ID、调用字幕工具并返回结果。goose Prompt在会话中直接输入Get me the transcript for this YouTube video: https://www.youtube.com/watch?vdQw4w9WgXcQgoose 会从 URL 中识别出视频 IDdQw4w9WgXcQ确认后调用 YouTube Transcript 扩展提供的工具拉取字幕。goose Output示意Ill help you get the transcript for that video. The video ID is dQw4w9WgXcQ. Let me fetch the transcript for you. Heres the transcript: [Transcript content would appear here with timestamps and text] Ive retrieved the transcript for Rick Astleys Never Gonna Give You Up music video. The transcript shows the lyrics of the song, though there are some minor transcription errors due to the automated nature of the system. The transcript includes the iconic chorus and verses of this famous 1987 song, which has become one of the most well-known internet memes, often used for rickrolling. Would you like me to help you with anything else regarding the video or its transcript?需要注意两点事实约束字幕由 YouTube 自动生成时可能含转写错误专有名词、歌词连读等尤为明显。上述输出中 goose 也明确提示“minor transcription errors due to the automated nature of the system”。用于总结、检索原文时可接受但需要逐字引用或人工校对时请以视频内的字幕原文为准或检查视频是否提供人工上传的准确字幕。返回文本通常带时间戳与分段文本可继续用于生成带时间点的纪要或交给 goose 进行翻译、要点提炼与问答。进阶追问示例拿到转录文本后可以继续在同一会话里追加指令例如Summarize this transcript in 3 bullet points.Translate the first two paragraphs of this transcript into Chinese.由于扩展工具返回的文本已进入会话上下文goose 会基于这段内容执行后续的总结、翻译、关键词抽取等文本任务无需再次联网。在会话内临时启用不写入配置的方式如果不想永久注册该扩展可以用/extension斜杠命令在当前会话内临时加载此方式不会修改默认配置也不影响后续新会话/extension uvx --from githttps://github.com/jkawamoto/mcp-youtube-transcript mcp-youtube-transcript同样地也可以不进入交互式会话直接在启动新会话时附带扩展goose session --with-extension uvx --from githttps://github.com/jkawamoto/mcp-youtube-transcript mcp-youtube-transcript此类“一次性启用”适用于临时性、偶发性的字幕抓取需求。若希望每次会话默认具备该能力应使用上文“完整配置”中的持久化方式并在config.yaml中将enabled置为true。安装后的管理与排障启用/停用运行goose configure选择Toggle Extensions用空格键在扩展列表中勾选或取消youtube-transcript-mcp实心为启用该操作决定新会话的默认加载状态。会话中途如需切换可在 Desktop 底部扩展面板或 CLI 中执行/extension指令。修改属性Desktop 的扩展设置齿轮按钮可改名称、超时、参数等CLI 用户直接编辑~/.config/goose/config.yaml对应段落即可。若改动args请保持--from与其 Git 源为相邻的两个数组元素。移除先经Toggle Extensions停用只有禁用状态的扩展可被删除再在goose configure中选择Remove Extension勾选后回车删除或在配置文件中删除对应键。首次启动较慢uvx --from git…首次运行需要从 Git 源解析并安装包存在明显网络与安装耗时这是正常现象缓存完成后再次启动会明显变快。若在受限网络环境中可参照 goose 文档中关于 Airgapped/离线环境扩展无法激活的说明处理。字幕获取失败请先确认视频确实存在字幕含 YouTube 自动字幕私有视频、区域限制视频或未提供任何字幕轨的视频会导致拉取失败此时需更换目标视频或手动提供文本。小结YouTube Transcript 扩展的接入过程可以归结为一个模式凡是可用单条命令在本地拉起、通过 stdio 与 MCP 通信的外部服务都可以像本教程一样注册为 goose 扩展。本次实践的核心是理解uvx启动命令的写法与 goose 扩展配置的三要素——扩展 ID、启动命令cmdargs、超时设置三者既可以通过 Desktop 表单与 CLI 向导交互填写也可以直接写入~/.config/goose/config.yaml。而配置文件背后的字段语义均可在 extension.rs 的ExtensionConfig定义中一一对应验证。完成安装后goose 即可把 YouTube 字幕作为上下文的一部分用于总结、翻译、问答等下游任务。更系统的扩展管理方法内置扩展、权限模式、MCP Roots、容器内运行等可继续阅读 using-extensions.md 与同目录下 mcp 系列扩展教程。【免费下载链接】goosean open source, extensible AI agent that goes beyond code suggestions - install, execute, edit, and test with any LLM项目地址: https://gitcode.com/GitHub_Trending/goose3/goose创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表