核心用法
TMS Skill 是一个面向 Telegram Media Server 的 API 客户端能力,用于远程管理下载任务。该 skill 不提供独立命令,而是通过 HTTP 请求与 TMS 后端交互。核心操作包括:健康检查 (GET /health)、获取下载列表 (GET /downloads)、添加下载任务 (POST /downloads)、删除任务 (DELETE /downloads/{id}) 以及种子搜索 (GET /search)。
支持的下载类型涵盖 yt-dlp 兼容的视频 URL、磁力链接 (magnet:?) 及 .torrent 文件链接。配置灵活,可通过 TMS_API_URL 环境变量指定服务端点,默认回退到 http://127.0.0.1:8080(同主机部署场景)。认证方面,同主机请求免密钥;跨主机或需强认证时,通过 TMS_API_KEY 以 Authorization: Bearer 或 X-API-Key 头部传递。
显著优点
- 协议覆盖全面:单接口支持视频直链、磁力、种子三种主流下载协议,降低多工具切换成本
- 零配置快速启动:同主机部署时默认本地地址 + 免认证,开箱即用
- 实时状态追踪:提供细粒度状态(queued/downloading/converting/completed/failed/stopped)、进度百分比及队列位置
- 集成搜索能力:若 TMS 后端配置 Prowlarr,可直接搜索种子并获取磁力/种子链接一键添加
- Webhook 回调支持:可选配置完成/失败/停止事件通知,便于自动化流程集成
潜在缺点与局限性
- 依赖外部服务:种子搜索功能必须预先配置 Prowlarr,否则不可用
- 无持久化队列保证:"Snapshot is best-effort" 提示状态数据非强一致性,极端情况下可能丢失实时状态
- Webhook 可靠性问题:明确标注 "best-effort (no guaranteed delivery)",关键业务需额外兜底机制
- 网络可达性要求:需确保 OpenClaw 与 TMS 网络互通,跨 NAT/容器网络需手动配置端点
- 无内置重试机制:API 调用失败需调用方自行处理重试逻辑
适合人群
- 自建媒体服务器用户,需通过聊天界面远程管理 aria2/transmission 等后端
- 希望统一视频下载与 BT 下载入口的技术爱好者
- 已部署 TMS 并寻求 OpenClaw 集成的进阶用户
常规风险
- 未授权访问风险:同主机免认证设计便利但危险,若 TMS 监听
0.0.0.0且主机有其他租户,存在横向移动风险 - API 密钥泄露:
TMS_API_KEY通过环境变量或头部传输,需确保 OpenClaw 环境安全,避免日志泄露 - 任意 URL 下载:
POST /downloads接受任意 URL,若未对用户输入校验,可能导致 SSRF 或下载恶意文件 - Webhook 伪造:若
TMS_WEBHOOK_TOKEN未设置或泄露,攻击者可伪造完成事件触发下游动作