TMS (Telegram Media Server) API Skill 评估
核心用法
TMS Skill 为 OpenClaw 代理提供与 Telegram Media Server 后端交互的能力,主要覆盖四大操作场景:
1. 添加下载:支持视频 URL(yt-dlp)、磁力链接(magnet:...)、HTTPS 种子文件地址,或直接提交 Base64 编码的种子文件内容。可选 title 字段覆盖显示名称。
2. 查询状态:获取队列中、下载中、转码中、已完成/失败/已停止的任务列表,包含进度百分比、队列位置及错误信息。
3. 删除任务:彻底移除指定 ID 的任务,包括活跃下载、队列条目、数据库记录、本地文件及 qBittorrent 条目。
4. 种子搜索:通过 Prowlarr 集成搜索种子,返回标题、大小、磁力链接、做种人数等元数据,支持按质量(如 1080p)过滤。
API 采用 RESTful 设计,Base URL 可通过 TMS_API_URL 环境变量配置,默认本地监听 http://127.0.0.1:8080,端点前缀为 /api/v1。认证支持 Authorization: Bearer <TMS_API_KEY> 或 X-API-Key: <TMS_API_KEY> 两种头部方式。
显著优点
- 功能闭环:完整覆盖下载生命周期管理(添加→监控→删除),无需用户手动登录服务器。
- 多源兼容:原生支持 yt-dlp、BitTorrent 及 Prowlarr 索引器,适应主流视频与种子来源。
- 无状态设计:纯 HTTP API 调用,易于集成到自动化工作流或聊天机器人场景。
- OpenAPI 规范内嵌:技能文档自带完整 YAML 规范,减少对外部文档的依赖。
- 可选 Webhook 推送:支持任务完成/失败/停止时向 OpenClaw 网关推送事件,实现异步通知。
潜在缺点与局限性
- Prowlarr 依赖:搜索功能要求 TMS 后端预先配置 Prowlarr,否则返回 503 错误。
- Base64 体积限制:种子文件通过
torrent_base64字段提交时,受限于 JSON body 大小(约 1 MiB),超大种子需改用 HTTPS URL。 - 局域网假设:默认
127.0.0.1配置暗示 TMS 与 OpenClaw 同机部署,跨网络场景需额外配置。 - 无重复检测机制:虽建议调用方在添加前查询列表避免重复,但 API 本身不提供去重逻辑,依赖客户端实现。
- Webhook 交付不可靠:文档明确标注“best-effort”,不保证事件必达,关键场景需配合轮询兜底。
适合人群
- 已部署 TMS 的个人媒体服务器用户,希望通过 Telegram Bot 或聊天界面远程管理下载队列。
- 需要将 yt-dlp/BitTorrent 下载能力集成到 OpenClaw 自动化工作流的技术用户。
- 拥有 Prowlarr 索引器的种子爱好者,追求搜索→添加→监控的一站式体验。
常规风险
- API 密钥泄露:
TMS_API_KEY若配置不当或日志泄露,可能导致未授权下载或资源滥用。 - 本地文件系统暴露:删除操作会级联删除本地文件,误操作
id可能导致数据丢失。 - 版权合规:种子搜索与下载功能涉及版权内容,用户需自行承担合规责任。
- 依赖服务可用性:yt-dlp、qBittorrent、Prowlarr 任一组件故障均会导致对应功能异常。
安全评估说明
技能文档中包含占位性安全认证报告,未实际执行漏洞扫描。建议生产部署前对 TMS 后端进行独立的安全审计,包括认证绕过、路径遍历及命令注入测试。