MediaGo

v1.0.0

Download videos from m3u8/HLS streams, Bilibili, and direct URLs using MediaGo. 下载视频、m3u8直播流、B站视频。 Triggers on: download video, 下载视频, 下载这个链接, 帮我下载, m3u8 down...

1· 147·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for caorushizi/mediago.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "MediaGo" (caorushizi/mediago) from ClawHub.
Skill page: https://clawhub.ai/caorushizi/mediago
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install mediago

ClawHub CLI

Package manager switcher

npx clawhub@latest install mediago
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The skill claims to control a MediaGo instance and its instructions only require a MediaGo URL and optional API key plus a local config file; those are coherent and expected for a downloader that proxies requests to a running MediaGo service.
Instruction Scope
Instructions tell the agent to read/write ~/.mediago-skill.json, perform curl calls to the configured BASE_URL (including /api/downloads and /api/config), and poll every 3s for up to 5 minutes. This stays within the downloader's scope, but it will store any provided API key in plaintext and will send user-supplied URLs to the configured server (which could be local or remote).
Install Mechanism
Instruction-only skill with no install steps or code files — minimal surface area and nothing is written to disk by an installer beyond the config file the skill itself manages.
Credentials
The skill does not request environment variables or platform credentials. It does persist an optional API key in ~/.mediago-skill.json; storing secrets in a plaintext home-file is functional but a privacy risk if the key is sensitive or the host is shared.
Persistence & Privilege
always:false and no system-wide modifications. The skill writes and reads only its own config file (~/.mediago-skill.json), which is normal for this use-case.
Assessment
This skill appears to do what it says: it controls a MediaGo server via HTTP and stores a small config in ~/.mediago-skill.json. Before installing, consider: 1) Only point the skill to MediaGo instances you trust — it will send URLs and (optionally) an API key to that host. 2) The API key is stored in a plaintext file in your home directory; if the key is sensitive, limit file permissions or avoid storing it. 3) Verify you downloaded MediaGo from the official repo (SKILL.md cites a GitHub repo) and don't provide credentials to unknown servers. If you want, inspect ~/.mediago-skill.json after configuration and remove stored keys when no longer needed.

Like a lobster shell, security has layers — review code before you run it.

latestvk9741tkgvr5y5e00n0hj7w9g95845vy1
147downloads
1stars
1versions
Updated 3w ago
v1.0.0
MIT-0

MediaGo Video Downloader

Download videos from m3u8/HLS streams, Bilibili, and direct URLs via a running MediaGo instance.

Configuration

Config file: ~/.mediago-skill.json

{
  "url": "http://localhost:8899",
  "apiKey": ""
}

First-time Setup / 首次配置

If ~/.mediago-skill.json does not exist, show the following message (respond in the user's language):

EN: "MediaGo is not configured yet. To use this skill:

1. Install MediaGo (if you haven't already):

2. Initialize — tell me your MediaGo address, for example:

  • Docker: 设置 mediago 地址为 http://localhost:8899
  • Desktop app: 设置 mediago 地址为 http://192.168.x.x:39719"

CN: "MediaGo 还没有配置。要使用此功能:

1. 安装 MediaGo(如果还没装):

2. 初始化配置 — 告诉我你的 MediaGo 地址,例如:

  • Docker:设置 mediago 地址为 http://localhost:8899
  • 桌面客户端:设置 mediago 地址为 http://192.168.x.x:39719"

When the user provides the URL (and optionally an API key), write it to ~/.mediago-skill.json.

Updating Config / 更新配置

Trigger on phrases like:

  • EN: "set mediago url to ...", "mediago api key is ...", "my mediago is at ..."
  • CN: "设置 mediago 地址为 ...", "mediago api key 是 ...", "我的 mediago 跑在 ..."

Read the existing config, update the relevant field, and write it back.

API Reference

All API calls use curl. Read url and apiKey from ~/.mediago-skill.json before each call.

If apiKey is set, add header: -H "X-API-Key: API_KEY"

Health Check

curl -s BASE_URL/healthy

Returns {"success":true,...} if service is running.

Create & Start Download

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 (required): m3u8, bilibili, or direct
  • url (required): video URL
  • name (optional): custom filename

Type detection from URL:

  • Contains bilibili.com or b23.tvbilibili
  • Contains .m3u8m3u8
  • Otherwise → direct

Response data is an array of created tasks. Extract data[0].id as the task ID.

Get Task Status

curl -s BASE_URL/api/downloads/TASK_ID

Response data fields: id, name, status, type, exists, file.

Status values: pending, downloading, success, failed, stopped.

List Downloads

curl -s "BASE_URL/api/downloads?current=1&pageSize=20"

Response: data.total (count) and data.list (array of tasks).

Get Config (download directory etc.)

curl -s BASE_URL/api/config

Returns config including local (download directory path).

Download Workflow / 下载流程

  1. Check config / 检查配置: Read ~/.mediago-skill.json. If missing, run the First-time Setup flow above.
  2. Health check / 健康检查: Verify service is reachable. If not, tell the user MediaGo may not be running and guide them to start it.
  3. Create task / 创建任务: POST to /api/downloads with startDownload: true.
  4. Poll progress / 轮询进度: GET /api/downloads/TASK_ID every 3 seconds. Report status to user.
  5. Report result / 报告结果:
    • success → EN: "Download complete! File: [path]" / CN: "下载完成!文件:[path]"
    • failed → EN: "Download failed." / CN: "下载失败。"
    • If polling exceeds 5 minutes, tell user the download is still in progress.

Important Notes / 注意事项

  • Language / 语言: Always respond in the same language the user is using (Chinese or English).
  • If API returns HTTP 401, tell the user their API key may be wrong and ask them to update it.
  • Always auto-detect the download type from the URL unless the user specifies it.
  • If name is not provided, omit it from the request — the server will auto-generate one.

Comments

Loading comments...