使用MediaGo下载m3u8/HLS直播流、B站视频及直接链接的视频。触发词:downloadvideo、下载视频、下载这个链接、帮我下载、m3u8 down...
MediaGo视频下载器是一项面向实际任务的技能,主要用于下載來自 m3u8/HLS 流,bilibili的影片, 并通过运行中的MediaGo实例直接使用 URL.;Config 文件: ~/.mediago-skill.json.;
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
通过正在运行的 MediaGo 实例,下载来自 m3u8/HLS 流、Bilibili 以及直接 URL 的视频。
配置文件:~/.mediago-skill.json
{
"url": "http://localhost:8899",
"apiKey": ""
}
如果 ~/.mediago-skill.json 文件不存在,则显示以下提示信息(响应语言需与用户当前语言一致):
EN: "MediaGo 尚未配置。要使用此功能:
1. 安装 MediaGo(如尚未安装):
- 桌面客户端:从 https://github.com/caorushizi/mediago/releases 下载安装
- Docker 部署:
docker run -d --name mediago -p 8899:8899 -v /path/to/mediago:/app/mediago ghcr.io/caorushizi/mediago:latest2. 初始化配置 — 告诉我你的 MediaGo 地址,例如:
- Docker:
设置 mediago 地址为 http://localhost:8899- 桌面客户端:
设置 mediago 地址为 http://192.168.x.x:39719"CN: "MediaGo 还没有配置。要使用此功能:
1. 安装 MediaGo(如果还没装):
- 桌面客户端:从 https://github.com/caorushizi/mediago/releases 下载安装
- Docker 部署:
docker run -d --name mediago -p 8899:8899 -v /path/to/mediago:/app/mediago ghcr.io/caorushizi/mediago:latest2. 初始化配置 — 告诉我你的 MediaGo 地址,例如:
- Docker:
设置 mediago 地址为 http://localhost:8899- 桌面客户端:
设置 mediago 地址为 http://192.168.x.x:39719"
当用户提供 URL(及可选的 API 密钥)后,将其写入 ~/.mediago-skill.json 文件。
在识别到以下任一表述时触发配置更新流程:
读取现有配置,更新对应字段,并将修改后的内容写回文件。
所有 API 调用均使用 curl。每次调用前,需从 ~/.mediago-skill.json 中读取 url 和 apiKey 字段。
若已设置 apiKey,则需添加请求头:-H "X-API-Key: API_KEY"
curl -s BASE_URL/healthy
服务正常运行时返回 {"success":true,...}。
curl -s -X POST BASE_URL/api/downloads
-H "Content-Type: application/json"
-d '{"tasks":[{"type":"TYPE","url":"VIDEO_URL","name":"NAME"}],"startDownload":true}'
type(必需):取值为 m3u8、bilibili 或 directurl(必需):视频 URLname(可选):自定义文件名基于 URL 自动识别类型:
bilibili.com 或 b23.tv → 类型为 bilibili.m3u8 → 类型为 m3u8direct响应体中 data 字段为已创建任务数组,从中提取 data[0].id 即为任务 ID。
curl -s BASE_URL/api/downloads/TASK_ID
响应体中 data 字段包含:id、name、status、type、exists、file。
可能的 status 值:pending、downloading、success、failed、stopped。
curl -s "BASE_URL/api/downloads?current=1&pageSize=20"
响应体包含:data.total(总数量)和 data.list(任务数组)。
curl -s BASE_URL/api/config
返回完整配置,其中 local 字段表示本地下载目录路径。
~/.mediago-skill.json。若文件缺失,则执行上述“首次配置”流程。/api/downloads 发起 POST 请求,且请求体中指定 startDownload: true。/api/downloads/TASK_ID,并将当前状态实时反馈给用户。success → EN: "Download complete! File: [path]" / CN: "下载完成!文件:[path]"failed → EN: "Download failed." / CN: "下载失败。"name,则不在请求中包含该字段 —— 服务端将自动生成文件名。相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134万人学习
共49课时 | 82.5万人学习