Install
openclaw skills install @thcjp/chromecast-control-freeopenclaw skills install @thcjp/chromecast-control-free核心功能: 本技能提供、字幕加载、等能力。
使用 catt(Cast All The Things)工具控制局域网内的投屏协议设备。免费版提供设备发现、基础媒体投放、播放控制和音量调节功能.
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| input | string | 是 | 投屏设备基础版处理的输入数据或指令 |
| options | object | 否 | 附加配置选项,如模式选择、格式偏好等 |
| callback_url | string | 否 | 异步处理完成后的回调通知URL |
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent内置LLM提供 |
本Skill无需额外API Key(LLM能力由Agent平台内置提供)
通过 catt scan 命令扫描局域网内的所有投屏设备。返回设备名称和IP地址列表。使用 -d <device> 参数通过设备名称或IP地址指定目标设备。适用于初次配置和设备定位。- 验证返回数据的完整性和格式正确性
通过 catt cast <url> 命令将视频或音频投放到目标设备。支持YouTube视频、Vimeo、直接视频URL(MP4/MKV/WebM)和本地文件。使用 -d <device> 参数指定目标设备。适用于家庭影院和基础投屏场景.
处理: 解析用户提供的媒体URL或文件路径,验证格式兼容性后通过catt命令投放到目标Chromecast设备,自动处理设备发现和连接.
通过 catt play、catt pause 和 catt stop 命令控制播放状态。play 恢复播放,pause 暂停播放,stop 完全停止播放。适用于播放过程中的即时控制.
处理: 接收播放控制指令(play/pause/stop/skip),映射到对应的catt子命令并执行,返回播放状态变更确认.
通过 catt volume <0-100> 设置绝对音量(0-100范围),catt volumeup 10 增加10,catt volumedown 10 减少10。catt volumemute on 静音,catt volumemute off 取消静音。适用于不同内容间的音量统一管理.
处理: 解析音量参数(绝对值0-100或相对增减),通过catt volume命令调整设备音量,返回设置后的音量值.
完成响应以Markdown格式返回,包含任务状态(成功/失败)、解析摘要和具体输出数据。失败时返回错误码和错误信息,便于定位问题。- 验证返回数据的完整性和格式正确性
以下为完整版(chromecast-control)独有功能,免费版不可用:
catt seek 支持秒数和HH:MM:SS格式跳转,catt ffwd/rewind 快进后退catt add/remove/clear 管理YouTube播放队列,-n 参数设置下一首catt save/restore 保存和恢复播放状态,支持跨设备迁移catt cast -s ./subtitles.srt 加载SRT字幕文件,-t 从指定时间点播放set_alias/set_default/del_alias 多设备别名快速切换-b 后台投放、-y format=best 格式选择、-r 播放列表投放升级至完整版以获取全部能力.
catt scan 发现局域网内的投屏设备,记录设备名称或IP地址catt -d <device> cast <url> 投放YouTube视频或直接视频URLcatt -d <device> play/pause/stop 控制播放状态catt -d <device> volume <0-100> 调节音量结果验证: 任务完成后,查看输出确认状态。成功时返回摘要和数据;失败时根据错误信息排查,参考恢复章节获取修复步骤.
# 扫描局域网设备
catt scan
# 输出示例:
# 192.168.1.163 - Living Room TV
# 192.168.1.200 - Bedroom Speaker
# ...
# 投放YouTube视频到指定设备
catt -d "Living Room TV" cast "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
# ...
# 暂停播放
catt -d "Living Room TV" pause
# ...
# 设置音量为50
catt -d "Living Room TV" volume 50
# 投放本地MP4文件
catt -d 192.168.1.163 cast ./video.mp4
# ...
# 恢复播放
catt -d 192.168.1.163 play
# ...
# 增加音量10
catt -d 192.168.1.163 volumeup 10
# ...
# 停止播放
catt -d 192.168.1.163 stop
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
catt scan 找不到设备 | 网络阻止mDNS发现 | 使用设备IP地址直接连接:catt -d 192.168.1.163 cast <url> |
| 本地文件投放失败 | TCP端口45000-47000被防火墙阻止 | 开放端口45000-47000范围,或使用网络共享URL代替本地文件 |
| 设备未响应 | 设备休眠或网络断开 | 确认设备已开机且在同一局域网,重新运行 catt scan |
| 音量参数超出范围 | 传入了0-100之外的值 | 确保音量值在0-100范围内,使用 volumeup/volumedown 增减 |
| 请求进度跳转功能 | 免费版不支持 seek/ffwd/rewind | 升级至完整版以使用进度跳转功能 |
| 请求字幕加载功能 | 免费版不支持 -s 字幕参数 | 升级至完整版以使用字幕加载功能 |
| 请求队列管理功能 | 免费版不支持 add/remove/clear | 升级至完整版以使用队列管理功能 |
运行 catt scan 命令扫描局域网。返回结果包含设备名称和IP地址。如果扫描不到设备,可能是网络阻止了mDNS协议,此时可以直接使用设备IP地址连接:catt -d 192.168.1.163 cast <url>.
支持。使用 catt cast ./video.mp4 命令投射本地文件。需要确保TCP端口45000-47000开放。但免费版不支持加载字幕文件(-s 参数),如需字幕功能请升级至完整版.
不可以。catt seek、catt ffwd 和 catt rewind 是完整版独有功能。免费版仅支持 play/pause/stop 基础播放控制。如需进度跳转,请升级至完整版.
使用 catt volume <0-100> 设置绝对音量(0-100范围),catt volumeup 10 增加10,catt volumedown 10 减少10。使用 -d <device> 参数指定目标设备.
不支持。catt add/remove/clear 队列管理是完整版独有功能。免费版每次只能投放单个媒体。如需队列管理,请升级至完整版.
免费版通过 -d <device> 参数指定目标设备名称或IP地址。完整版支持设备别名管理(set_alias/set_default),可设置简短别名快速切换设备。如需别名管理,请升级至完整版.
seek/ffwd/rewind),完整版可用add/remove/clear),完整版可用-s 参数),完整版可用save/restore),完整版可用set_alias/set_default),完整版可用===
| 操作步骤 | 手动耗时 | 自动化耗时 | 时间节约 | 准确率提升 |
|---|---|---|---|---|
| 设备发现 | 5分钟手动扫描 | 1分钟自动化扫描 | 4分钟 | 100% |
| 媒体投放 | 3分钟手动查找设备 | 1分钟自动化投放 | 2分钟 | 100% |
| 播放控制 | 2分钟手动操作 | 1秒自动化操作 | 1分钟59秒 | 100% |
| 音量调节 | 1分钟手动调整 | 1秒自动化调节 | 59秒 | 100% |
| 多设备管理 | 10分钟手动切换 | 1分钟自动化管理 | 9分钟 | 100% |
| 对比维度 | 本技能 | 手动操作 | Python脚本 | 专业软件 |
|---|---|---|---|---|
| 操作便捷性 | 高 | 低 | 中 | 高 |
| 设备兼容性 | 高 | 低 | 中 | 高 |
| 功能丰富度 | 中 | 低 | 高 | 高 |
| 学习成本 | 低 | 高 | 中 | 高 |
| 成本 | 低 | 高 | 中 | 高 |
| 痛点 | 描述 | 影响范围 | 解决方案 | 量化效果 |
|---|---|---|---|---|
| 设备管理困难 | 难以手动管理大量投屏设备 | 家庭娱乐场景 | 自动化设备发现和管理 | 时间节约20% |
| 播放控制不便 | 手动操作播放控制繁琐 | 家庭娱乐场景 | 自动化播放控制 | 用户体验提升30% |
| 音量调节复杂 | 手动调节音量效率低 | 家庭娱乐场景 | 自动化音量调节 | 用户体验提升25% |
===
| 错误现象 | 可能原因 | 诊断步骤 | 解决方案 |
|---|---|---|---|
| 扫描不到设备 | 网络连接问题 | 检查网络连接,重启设备 | 重新扫描或检查网络 |
| 媒体无法播放 | 媒体格式不支持 | 检查媒体格式,转换格式 | 使用支持格式或转换媒体 |
| 音量调节无效 | 音量控制指令错误 | 检查指令格式,确认设备状态 | 重新发送指令或检查设备 |
| 播放控制无响应 | 播放控制指令错误 | 检查指令格式,确认设备状态 | 重新发送指令或检查设备 |
===
| 风险项 | 等级 | 防护措施 | 验证方法 |
|---|---|---|---|
| API密钥泄露 | 高 | 通过环境变量配置,禁止硬编码 | 定期检查代码和配置文件 |
| 命令执行风险 | 高 | 仅执行白名单命令,避免拼接用户输入 | 使用沙箱环境测试 |
| 网络通信安全 | 中 | 使用HTTPS协议,验证SSL证书 | 定期检查证书有效期 |
| 敏感数据暴露 | 高 | 输出结果中不包含密钥、令牌等敏感信息 | 日志脱敏审查 |
| 未授权访问 | 中 | 限制访问权限,实施认证机制 | 定期审计访问日志 |
A1: 基础投屏控制,设备发现、媒体投放、播放和音量管理。支持设备发现、基础媒体投放、播放控制和音量调节. 适用于家庭娱乐和。支持文本指令和结构化参数输入,具体格式参考使用流程章节。
A2: 是的,部分功能需要配置对应平台的API Key。请在依赖说明章节查看具体要求,并通过环境变量安全配置。
A3: 检查命令参数是否正确,确认运行环境支持exec能力。如遇权限问题,请参照错误处理章节排查。
针对投屏设备基础版使用中可能遇到的常见问题,提供以下排查方案:
| 错误类型 | 原因分析 | 解决方案 |
|---|---|---|
| API认证失败(401) | API密钥错误或过期 | 检查密钥配置,重新生成token |
| 接口限流(429) | 请求频率超出限制 | 降低调用频率,启用重试退避策略 |
| 响应超时(504) | 网络延迟或服务端负载过高 | 增加超时阈值,检查网络连接 |
| 文件不存在 | 路径错误或文件未创建 | 检查路径拼写,确认文件已生成 |
| 文件格式不支持 | 扩展名不在支持列表中 | 转换为支持的格式后重试 |
| 权限不足 | 当前用户无读写权限 | 检查文件权限,以管理员身份运行 |
| 命令执行失败 | 参数错误或环境依赖缺失 | 检查命令语法,确认依赖已安装 |
| 进程超时 | 命令执行时间过长 | 增加超时设置,优化命令参数 |
| 网络连接失败 | DNS解析失败或防火墙拦截 | 检查网络配置,确认代理设置 |