> 核心功能: 本技能提供中文交互等能力。
> 核心功能: 本技能提供结构化的工作流程和配置指引等能力。
投屏控制免费版
总览
投屏控制免费版是一款面向个人用户的轻量级Chromecast投屏控制工具,基于catt命令行工具实现。支持设备发现、视频投屏、播放控制、状态查询等核心功能,帮助用户将在线视频或本地文件轻松投屏到电视上观看.
能力介绍
| 能力 | 说明 |
|---|---|
| 设备发现 | 扫描局域网内的Chromecast设备 |
| 视频投屏 | 投屏在线视频URL或本地文件 |
| 播放控制 | 播放、暂停、停止、快进快退 |
| 音量控制 | 调整电视音量 |
| 状态查询 | 查看当前播放状态与设备信息 |
| 网站投屏 | 将网页内容投屏到电视 |
技术实现要点:核心能力基于input_params参数与output_format配置实现,支持创建/查询/修改/删除等操作模式,通过config_options进行运行时配置. |
|
| ### 核心功能执行 | |
用input_params参数进行配置. |
|
| 处理: 解析核心功能执行的输入参数,完成核心逻辑,返回格式化结果. | |
| 输出: 返回核心功能执行的响应数据,附带状态标识与运行日志. | |
- 调用时传入input_params参数,支持创建/查询/导出操作 |
|
| ### 参数配置与调用 | |
用config_options参数进行配置. |
|
| 处理: 解析参数配置与调用的输入参数,完成核心逻辑,返回格式化结果. | |
| 输出: 返回参数配置与调用的响应数据,附带状态标识与运行日志. | |
- 执行此能力时使用config_options参数,支持修改/重置/导入操作 |
|
| ### 结果处理与输出 | |
用output_format参数进行配置. |
|
| 处理: 解析结果处理与输出的输入参数,完成核心逻辑,返回格式化结果. | |
| 输出: 返回结果处理与输出的响应数据,附带状态标识与运行日志. | |
- 执行此能力时使用output_format参数,支持导出/保存/转换操作 |
|
| 能力覆盖范围:支持的场景关键词如下:catt、工具控制、支持设备发现、视频投屏与基础播、投屏控制免费版、面向个人用户的轻、投屏控制工具、将在线视频或本地、文件投屏到电视、调整音量等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持. | |
| ## 场景介绍 | |
| ### 场景一:投屏在线视频 | |
| 将在线视频投屏到电视上观看. |
# 发现设备
catt scan
# ...
# 投屏YouTube视频
catt cast "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
# ...
# 指定设备投屏
catt -d "Living Room" cast "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
场景二:投屏本地文件
将本地视频或音频文件投屏到电视.
# 投屏本地视频文件
catt cast "./movie.mp4"
# ...
# 投屏本地音频文件
catt cast "./music.mp3"
# ...
# 投屏本地图片
catt cast "./photo.jpg"
场景三:播放控制
控制当前投屏内容的播放.
# 暂停播放
catt pause
# ...
# 继续播放
catt play
# ...
# 停止播放
catt stop
# ...
# 快进30秒
catt seek 30
# ...
# 快退30秒
catt seek -30
# ...
# 跳转到指定位置(秒)
catt seek 120
# ...
# 调整音量(0-100)
catt volume 50
# ...
# 音量增加
catt volumeup
# ...
# 音量减小
catt volumedown
# ...
# 静音
catt volumemute
适用边界说明
以下场景投屏控制免费版不适合处理:
- 数据库架构设计决策
- NoSQL选型
- 数据仓库ETL设计
启动时机
需要数据库操作、SQL查询、数据存储管理时使用。不适用于非本工具能力范围的需求.
配置示例
常用命令一览
| 命令 | 说明 | 示例 |
|---|---|---|
scan |
发现设备 | catt scan |
cast |
投屏内容 | catt cast "URL" |
pause |
暂停播放 | catt pause |
play |
继续播放 | catt play |
stop |
停止播放 | catt stop |
seek |
跳转进度 | catt seek 30 |
volume |
设置音量 | catt volume 50 |
status |
查看状态 | catt status |
info |
设备信息 | catt info |
| ### 设备指定方式 | ||
| 方式 | 说明 | 示例 |
| ---: | ---: | ---: |
| 设备名称 | 易读 | -d "Living Room" |
| IP地址 | 精确 | -d 192.168.1.100 |
| ### 支持的投屏内容 | ||
| 内容类型 | 格式 | 说明 |
| :---: | :---: | :---: |
| 在线视频 | URL | YouTube、Bilibili等 |
| 本地视频 | mp4, mkv, avi | 需启动本地服务器 |
| 本地音频 | mp3, wav, flac | 音乐播放 |
| 本地图片 | jpg, png | 图片展示 |
| 网页 | URL | 网站内容投屏 |
| ## 推荐做法 | ||
| 1. 同一网络:确保控制设备与Chromecast在同一局域网 | ||
| 2. 设备名称:使用易读的设备名称,便于多设备区分 | ||
| 3. 视频格式:推荐使用MP4格式,兼容性优秀 | ||
| 4. 音量控制:使用相对音量调整(volumeup/volumedown),避免突然过大 | ||
| 5. 网络稳定:投屏大文件时确保网络稳定,避免卡顿 | ||
| 6. 及时停止:使用完毕后执行stop命令,释放设备 | ||
| ## 疑问解答 | ||
| ### Q1: 使用本技能需要什么前置条件? | ||
| A: 需要配置对应API Key并确保运行环境满足依赖说明中的要求。首次使用请参考快速开始章节。 |
Q2: 遇到API调用失败怎么办?
A: 检查API Key是否正确配置、网络连接是否正常。如遇429限流,等待2秒后重试,最多3次。
Q3: 支持哪些输入格式?
A: 支持文本输入和JSON格式参数。具体格式参考输入格式章节的参数说明表。
Q4: 如何处理超时或无响应?
A: 默认超时30秒。超时后检查网络连接和API服务状态,确认服务正常后重试。
Q5: 输出结果不完整怎么办?
A: 检查输入参数是否完整,确认prompt描述清晰具体。对于长文本输入,尝试分段处理。
运行环境
运行环境
- Agent平台: 支持SKILL.md的任意AI Agent( Code / Cursor / Codex / CLI等)
- 操作系统: Windows / macOS / Linux
- 网络环境: 与Chromecast设备在同一局域网
- Python版本: 3.7及以上
第三方依赖
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent内置LLM提供 |
| Python 3 | 运行时 | 必需 | python.org 下载安装 |
| catt | Python工具 | 必需 | pip install catt |
| Chromecast设备 | 硬件 | 必需 | 购买Chromecast硬件 |
| ### API Key 配置 | |||
| - 免费版无需任何API Key | |||
| - 所有功能通过局域网内catt命令行工具实现,无需云端认证 | |||
| ### 可用性分类 | |||
| - 分类: MD+EXEC(纯Markdown指令,核心功能需要exec命令行执行能力) | |||
| - 说明: 基于Markdown的AI Skill,通过自然语言指令驱动Agent执行Chromecast投屏控制任务。核心功能通过catt命令行工具在局域网内实现,无需云端API. | |||
| ## 异常应对 | |||
| 错误场景 | 原因 | 处理方式 | |
| ---: | :--- | ---: | |
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 | |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 | |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 | |
| ## 边界与约束 | |||
| ### 输入限制 | |||
| - 设备发现:技能仅支持在同一局域网内的Chromecast设备发现,不支持跨网络或远程设备。 | |||
| - 视频格式:对于本地视频投屏,技能仅支持MP4、MKV、AVI等常见视频格式,不支持其他格式如MOV、WMV等。 | |||
| - 文件大小:对于本地文件投屏,单个文件大小限制取决于Chromecast设备的存储空间和网络带宽。 | |||
| - URL限制:在线视频投屏支持YouTube、Bilibili等主流视频网站,但对于某些需要额外配置或代理的网站可能不支持。 | |||
| ### 性能边界 | |||
| - 并发控制:技能不支持同时控制多个Chromecast设备,每次操作只能针对一个设备。 | |||
| - 响应时间:技能的响应时间受限于网络延迟和Chromecast设备的处理速度,对于复杂的操作可能需要较长时间。 | |||
| ### 兼容性约束 | |||
| - 操作系统:技能在Windows、macOS和Linux操作系统上运行,但不支持其他操作系统。 | |||
| - Python版本:技能要求Python版本为3.7及以上,不支持更早的版本。 | |||
| - Chromecast设备:技能支持所有版本的Chromecast设备,但某些功能可能因设备型号而有所不同。 | |||
| ### 其他限制 | |||
| - 免费版功能限制:免费版不支持播放队列、高级音频编解码与均衡器调节等功能。 | |||
| - 网络稳定性:技能对网络稳定性要求较高,网络不稳定可能导致操作失败或延迟。 | |||
| ## 功能详解与边界条件 | |||
| ### 核心功能详解 | |||
| # | |||
| ### 设备发现 | |||
| - 输入参数: 无特殊参数,使用默认扫描命令。 | |||
| - 处理逻辑: 通过局域网内的mDNS协议发现Chromecast设备。 | |||
| - 输出结果: 返回设备列表,包括设备IP地址和名称。 | |||
| # | |||
| ### 视频投屏 | |||
- 输入参数: cast命令,包含视频URL或本地文件路径。 |
|||
| - 处理逻辑: 将视频内容发送至Chromecast设备进行播放。 | |||
| - 输出结果: 返回操作结果,包括成功或失败信息。 | |||
| # | |||
| ### 播放控制 | |||
- 输入参数: play, pause, stop, seek, volume, volumeup, volumedown, volumemute等命令。 |
|||
| - 处理逻辑: 根据命令执行对应的播放控制操作。 | |||
| # | |||
| ### 音量控制 | |||
- 输入参数: volume命令,包含音量值(0-100)。 |
|||
| - 处理逻辑: 调整Chromecast设备的音量。 | |||
| # | |||
| ### 状态查询 | |||
- 输入参数: status命令。 |
|||
| - 处理逻辑: 查询Chromecast设备的当前播放状态。 | |||
| - 输出结果: 返回设备当前播放状态,包括播放、暂停、停止等信息。 | |||
| # | |||
| ### 网站投屏 | |||
- 输入参数: cast命令,包含网页URL。 |
|||
| - 处理逻辑: 将网页内容发送至Chromecast设备进行播放。 | |||
| ### 边界条件 | |||
| 1. 设备发现: 仅支持在同一局域网内的Chromecast设备发现。 | |||
| 2. 视频格式: 支持MP4、MKV、AVI等常见视频格式,不支持MOV、WMV等格式。 | |||
| 3. 文件大小: 单个本地视频文件大小限制取决于Chromecast设备的存储空间和网络带宽。 | |||
| 4. URL限制: 支持YouTube、Bilibili等主流视频网站,部分网站可能需要额外配置。 | |||
| 5. 并发控制: 不支持同时控制多个Chromecast设备,每次操作只能针对一个设备。 | |||
| 6. 网络稳定性: 对网络稳定性要求较高,网络不稳定可能导致操作失败或延迟。 | |||
| 7. 字符编码: 支持UTF-8编码的URL和本地文件路径。 | |||
| 8. 操作系统: 仅支持Windows、macOS和Linux操作系统。 | |||
| ### 错误处理 | |||
| 1. 设备未发现: 检查网络连接和Chromecast设备是否开机。 | |||
| 2. 文件格式不支持: 改用支持的格式或转换视频格式。 | |||
| 3. 网络连接问题: 检查网络连接,确保网络稳定。 | |||
| 4. 权限问题: 确保运行catt命令的用户具有必要的权限。 | |||
| 5. 设备不在线: 检查Chromecast设备是否连接到同一WiFi网络。 | |||
| 6. 操作超时: 等待一段时间后再次尝试操作。 | |||
| 7. 参数错误: 检查输入参数是否正确,包括大小写、空格等。 | |||
| 8. 无响应: 重启Chromecast设备或尝试其他设备。 | |||
| ### 性能指标 | |||
| 1. 响应时间: 受限于网络延迟和Chromecast设备的处理速度,对于复杂的操作可能需要较长时间。 | |||
| 2. 并发操作: 不支持同时控制多个Chromecast设备,每次操作只能针对一个设备。 | |||
| 3. 网络带宽: 对于大文件投屏,网络带宽会影响操作速度和稳定性。 | |||
| 4. 设备存储空间: 本地视频文件大小限制取决于Chromecast设备的存储空间。 | |||
| ## 差异化优势 | |||
| ### 与同类方案对比 | |||
| 1. 手动操作:与手动操作相比,本技能提供了自动化控制Chromecast设备的解决方案,用户无需手动操作遥控器或手机应用,大大简化了投屏过程。手动操作通常需要多个步骤,如打开手机应用、选择设备、选择视频等,而本技能只需一行命令即可完成。 | |||
| 2. 其他工具:与其他Chromecast控制工具相比,本技能具有以下优势: | |||
| - 轻量级:本技能基于catt命令行工具实现,无需安装额外的应用程序或服务,占用系统资源少。 | |||
| - 跨平台:本技能支持Windows、macOS和Linux操作系统,方便用户在不同平台上使用。 | |||
| - 易于集成:本技能可以通过脚本或自动化工具进行集成,方便用户实现自动化控制。 | |||
| ### 独特功能 | |||
| 1. 设备发现:本技能支持自动发现局域网内的Chromecast设备,无需手动输入设备IP地址。 | |||
| 2. 视频格式支持:本技能支持多种视频格式,包括MP4、MKV、AVI等,满足用户不同的需求。 | |||
| 3. 网站投屏:本技能支持将网页内容投屏到电视,方便用户观看在线视频或浏览网页。 | |||
| 4. 播放控制:本技能提供丰富的播放控制功能,如播放、暂停、停止、快进快退、音量控制等,满足用户对播放过程的个性化需求。 | |||
| 5. 状态查询:本技能可以查询Chromecast设备的当前播放状态,方便用户了解播放进度。 | |||
| ### 效率提升 | |||
| 使用本技能可以节省大量时间,以下是一些具体的效率提升示例: | |||
| - 节省时间:将在线视频或本地文件投屏到电视,只需一行命令即可完成,相比手动操作节省了数个步骤。 | |||
| - 减少步骤:通过自动化控制,用户无需频繁切换应用或设备,减少了操作步骤。 | |||
| ### 应用场景创新 | |||
| 1. 家庭影院:将本技能集成到家庭影院系统中,实现一键投屏,提升观影体验。 | |||
| 2. 远程教育:教师可以将教学视频或课件投屏到教室的电视上,方便学生观看。 | |||
| 3. 远程会议:将会议内容投屏到会议室的电视上,方便参会者观看。 | |||
| <!-- keyword-enriched --> | |||
| ## 质量增强补充 | |||
| ### 可靠性增强(Reliability Enhancement) | |||
| 已实现以下异常处理与可靠性保障: | |||
| - - 降级策略与默认值(fallback/default value)处理 | |||
| - 重试机制(retry with backoff) | |||
| ### 有效性增强(Effectiveness Enhancement) | |||
| - - 输出格式(output format)定义 | |||
| # | |||
| ### 输出格式示例 |
{
"status": "success",
"data": {},
"metadata": {"timestamp": "2026-01-01T00:00:00Z"}
}
安全承诺
| 风险类型 | 防范措施 |
|---|---|
| API密钥泄露 | 配置于环境变量中,密钥不得固化于代码 |
| 命令执行风险 | 只运行安全清单内命令,禁止拼接用户输入 |
| 网络通信安全 | 强制HTTPS传输并验证SSL证书 |
| 敏感数据暴露 | 结果中排除密钥类数据 |
| 使用前请确认已阅读依赖说明章节,确保运行环境满足安全要求。 | |
| ## 性能评估 | |
| 操作场景 | 手动耗时 |
| ---------- | --------- |
| 文件解析与提取 | 5-10分钟/个 |
| 批量文件处理(100个) | 8-16小时 |
| API调用与响应解析 | 2-3分钟/次 |
| 多接口数据聚合 | 15-30分钟 |
| 命令执行与结果收集 | 3-5分钟/次 |
| 重复任务批量执行 | 因任务而异 |
| 错误排查与修复 | 10-30分钟 |
| ## 特色对比 | |
| 对比维度 | 投屏控制免费版 |
| --------- | ------------ |
| 自动化程度 | 全流程自动 |
| 错误处理 | 内置错误恢复 |
| 可复用性 | 参数化配置 |
| 安全合规 | 内置安全检查 |
| 适用场景 | 使用catt工具控制Chromecast设备,支持设备发现、视频投屏与基础播放控 |
| 威胁场景 | 影响等级 | 防护机制 | 确认方法 |
|---|---|---|---|
| 未授权访问 | 严重 | 多因素认证,IP白名单 | 渗透测试报告 |
| 配置错误暴露 | 高 | 配置中心化管理,变更审计 | 配置合规扫描 |
| 服务降级 | 中 | 熔断限流,健康检查 | 压力测试验证 |
| 依赖供应链风险 | 中 | 依赖锁定,完整性校验 | SCA工具扫描 |
前置条件
- 已安装所需运行环境(参考依赖说明)
- 已获取必要的API密钥或访问凭证(如适用)
- 输入数据已准备就绪
错误管理机制
针对投屏控制免费版使用中可能遇到的常见问题,提供以下排查方案:
| 错误类型 | 原因分析 | 解决方案 |
|---|---|---|
| API认证失败(401) | API密钥错误或过期 | 检查密钥配置,重新生成token |
| 接口限流(429) | 请求频率超出限制 | 降低调用频率,启用重试退避策略 |
| 响应超时(504) | 网络延迟或服务端负载过高 | 增加超时阈值,检查网络连接 |
| 文件不存在 | 路径错误或文件未创建 | 检查路径拼写,确认文件已生成 |
| 文件格式不支持 | 扩展名不在支持列表中 | 转换为支持的格式后重试 |
| 权限不足 | 当前用户无读写权限 | 检查文件权限,以管理员身份运行 |
| 命令执行失败 | 参数错误或环境依赖缺失 | 检查命令语法,确认依赖已安装 |
| 进程超时 | 命令执行时间过长 | 增加超时设置,优化命令参数 |
| 网络连接失败 | DNS解析失败或防火墙拦截 | 检查网络配置,确认代理设置 |
投屏控制免费版通用排查步骤
- 检查输入参数: 确认所有必填参数已提供且格式正确
- 查看日志输出: 定位具体错误行和异常类型
- 验证环境配置: 确认依赖库版本和运行环境满足要求
- 逐步调试: 缩小问题范围,隔离故障模块
异常处理架构
针对投屏控制免费版使用中可能遇到的常见问题,提供以下排查方案:
| 错误类型 | 原因分析 | 解决方案 |
|---|---|---|
| API认证失败(401) | API密钥错误或过期 | 检查密钥配置,重新生成token |
| 接口限流(429) | 请求频率超出限制 | 降低调用频率,启用重试退避策略 |
| 响应超时(504) | 网络延迟或服务端负载过高 | 增加超时阈值,检查网络连接 |
| 文件不存在 | 路径错误或文件未创建 | 检查路径拼写,确认文件已生成 |
| 文件格式不支持 | 扩展名不在支持列表中 | 转换为支持的格式后重试 |
| 权限不足 | 当前用户无读写权限 | 检查文件权限,以管理员身份运行 |
| 命令执行失败 | 参数错误或环境依赖缺失 | 检查命令语法,确认依赖已安装 |
| 进程超时 | 命令执行时间过长 | 增加超时设置,优化命令参数 |
| 网络连接失败 | DNS解析失败或防火墙拦截 | 检查网络配置,确认代理设置 |
依赖说明
- LLM/API Key: 需要配置相应的API密钥
- 网络连接: 需要访问外部服务
- 文件系统: 需要读写文件权限
- 运行时环境: 需要相应的命令行工具