控制 Jellyfin 媒体服务器和电视。搜索内容、恢复播放、管理会话、控制电视开关及应用程序。支持 Home Assistant 和直接 WebOS 控制。
控制机,通过CLI控制机的功能 控制机的功能
功能概述
控制机,通过CLI控制机的功能 控制机的功能是一项面向实际任务的技能。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
核心要点
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
- 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
- 执行完成后建议检查结果是否符合预期,并保留必要记录。
使用与执行
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
结果检查与注意事项
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
Jellyfin 控制
一个功能强大的技能,可通过 CLI 控制 Jellyfin 播放及电视电源。
特性
- 🎯 一键播放:
tv play "Breaking Bad"—— 开启电视、启动 Jellyfin、查找下一集并开始播放。 - 智能续播: 自动为剧集查找尚未播放的下一集。
- 精准续播位置: 精确恢复电影/剧集上次中断的位置(LG WebOS/Tizen 设备上使用
Seek作为后备方案)。 - 设备发现: 自动检测可控制的会话(电视、手机、网页端)。
- 远程控制: 完整的播放控制功能(播放、暂停、停止、下一集、上一集、音量调节、静音)。
- 电视电源与应用管理: 开关电视、启动应用 —— 支持在有无 Home Assistant 的环境下工作。
- 双电视后端支持: 可选 Home Assistant 集成或直连 WebOS(适用于 LG 电视,无需 HA)。
- Android TV 支持: 提供直连 ADB 后端,兼容搭载 Google TV 的 Chromecast、Nvidia Shield、Fire TV、Mi Box —— 无需 Home Assistant。
- 三种连接模式: Home Assistant(任意品牌电视)、直连 WebOS(LG 电视)、直连 ADB(Android TV / Fire TV)。
快速入门
最小化配置(仅 Jellyfin,不控制电视)
{
"skills": {
"entries": {
"jellyfin-control": {
"env": {
"JF_URL": "http://YOUR_IP:8096",
"JF_API_KEY": "your-api-key-here",
"JF_USER": "your-username"
}
}
}
}
}
配合 Home Assistant(推荐用于电视控制)
{
"skills": {
"entries": {
"jellyfin-control": {
"env": {
"JF_URL": "http://192.168.1.50:8096",
"JF_API_KEY": "your-jellyfin-api-key",
"JF_USER": "victor",
"HA_URL": "http://192.168.1.138:8123",
"HA_TOKEN": "your-ha-long-lived-token",
"HA_TV_ENTITY": "media_player.lg_webos_tv_oled48c34la",
"TV_MAC": "AA:BB:CC:DD:EE:FF"
}
}
}
}
}
直连 WebOS(LG 电视,无需 Home Assistant)
{
"skills": {
"entries": {
"jellyfin-control": {
"env": {
"JF_URL": "http://192.168.1.50:8096",
"JF_API_KEY": "your-jellyfin-api-key",
"JF_USER": "victor",
"TV_IP": "192.168.1.100",
"TV_MAC": "AA:BB:CC:DD:EE:FF"
}
}
}
}
}
首次使用 WebOS 直连: 电视将显示配对提示。请确认配对,并保存技能输出的
TV_CLIENT_KEY—— 将其加入环境变量后,下次即可跳过该提示。
直连 ADB(Android TV / Fire TV / 搭载 Google TV 的 Chromecast,无需 Home Assistant)
{
"skills": {
"entries": {
"jellyfin-control": {
"env": {
"JF_URL": "http://192.168.1.50:8096",
"JF_API_KEY": "your-jellyfin-api-key",
"JF_USER": "victor",
"ADB_DEVICE": "192.168.1.100:5555",
"TV_MAC": "AA:BB:CC:DD:EE:FF"
}
}
}
}
}
首次使用 ADB: 在电视上启用开发者选项(设置 → 关于 → 连续点击“版本号”7 次),然后启用网络/USB 调试。首次连接时电视将弹出“是否允许调试?”提示,请确认。要求 OpenClaw 主机已安装
adb(sudo apt install adb)。
环境变量
Jellyfin(必需)
| 变量 | 必需 | 说明 |
|---|---|---|
JF_URL |
是 | 你的 Jellyfin 服务器基础 URL,例如:http://192.168.1.50:8096 |
JF_API_KEY |
是 | 来自 Jellyfin 控制台 → 高级 → API Keys 的 API 密钥 |
JF_USER |
否 | 用户名 —— 用于解析用户 ID,以调用用户专属接口 |
JF_USER_ID |
否 | 直接指定用户 ID —— 可避免调用 /Users 接口 |
JF_PASS |
否 | 密码 —— 仅在通过用户会话认证时需要 |
电视控制(可选 —— 任选一种后端)
| 变量 | 后端 | 说明 |
|---|---|---|
TV_BACKEND |
全部 | 强制指定后端:homeassistant、webos、androidtv 或 auto |
TV_PLATFORM |
HA | 强制指定平台:webos 或 androidtv(默认从实体自动识别) |
HA_URL |
HA | Home Assistant 地址,例如:http://192.168.1.138:8123 |
HA_TOKEN |
HA | Home Assistant 长期有效访问令牌(个人资料 → 长期访问令牌) |
HA_TV_ENTITY |
HA | 电视实体 ID,例如:media_player.lg_webos_tv_oled48c34la |
TV_IP |
WebOS | LG 电视 IP 地址,用于直连 WebOS SSAP 协议 |
TV_CLIENT_KEY |
WebOS | 配对密钥(首次连接时打印,请务必保存!) |
ADB_DEVICE |
AndroidTV | ADB 设备地址,例如:192.168.1.100:5555 |
TV_MAC |
全部 | 电视 MAC 地址,用于 Wake-on-LAN(开启电视所必需) |
TV_JELLYFIN_APP |
全部 | 覆盖默认 Jellyfin 应用 ID(自动检测:WebOS 为 org.jellyfin.webos,Android TV 为 org.jellyfin.androidtv) |
TV_BOOT_DELAY |
全部 | 电视唤醒后等待秒数(默认:10) |
TV_APP_DELAY |
全部 | 启动 Jellyfin 应用后等待秒数(默认:8) |
自动检测逻辑: 若 TV_BACKEND 为 auto(默认值),则按以下顺序判断:
- 同时设置了
HA_URL、HA_TOKEN和HA_TV_ENTITY→ 使用 Home Assistant 后端 - 设置了
ADB_DEVICE→ 使用直连 ADB(Android TV) - 设置了
TV_IP→ 使用直连 WebOS(LG 电视) - 均未设置 → 禁用电视指令,进入 Jellyfin 独立运行模式
使用方法
🎯 一键播放(核心功能)
开启电视 → 启动 Jellyfin → 查找下一集 → 播放。全部操作仅需一条命令:
node skills/jellyfin-control/cli.js tv play "Breaking Bad" node skills/jellyfin-control/cli.js tv play "The Matrix"
该技能会在开启电视前验证内容是否存在(快速失败机制)。
续播 / 智能播放
若电视和 Jellyfin 已处于运行状态:
node skills/jellyfin-control/cli.js resume "Breaking Bad" node skills/jellyfin-control/cli.js resume "Matrix" --device "Chromecast"
电视控制
node skills/jellyfin-control/cli.js tv on # 开启电视(Wake-on-LAN) node skills/jellyfin-control/cli.js tv off # 关闭电视 node skills/jellyfin-control/cli.js tv launch # 启动 Jellyfin 应用 node skills/jellyfin-control/cli.js tv launch com.webos.app.hdmi1 # 启动指定应用 node skills/jellyfin-control/cli.js tv apps # 列出已安装应用
远程控制
node skills/jellyfin-control/cli.js control pause node skills/jellyfin-control/cli.js control play node skills/jellyfin-control/cli.js control next node skills/jellyfin-control/cli.js control vol 50
搜索内容
node skills/jellyfin-control/cli.js search "Star Wars"
媒体库统计与扫描
node skills/jellyfin-control/cli.js stats node skills/jellyfin-control/cli.js scan # 需管理员权限 API 密钥
用户历史记录(需管理员权限 API 密钥)
node skills/jellyfin-control/cli.js history node skills/jellyfin-control/cli.js history jorge --days 7
电视后端选择指南
| 特性 | Home Assistant | 直连 WebOS | 直连 ADB(Android TV) | 无后端 |
|---|---|---|---|---|
| 支持电视品牌 | 任意(通过 HA) | 仅 LG | Android TV、Fire TV、CCwGTV | — |
| 开机(WoL) | ✅ | ✅ | ✅(WoL 或 ADB 唤醒) | — |
| 关机 | ✅ | ✅ | ✅ | — |
| 启动应用 | ✅ | ✅ | ✅ | — |
| 列出已安装应用 | ✅(通过 HA 日志) | ✅(直连输出) | ✅(直连输出) | — |
| 额外依赖 | 无 | npm install ws |
apt install adb |
无 |
| 配置复杂度 | 中等(需部署 HA) | 低(仅需电视 IP + MAC) | 低(需在电视启用 ADB) | 无 |
| Jellyfin 播放控制 | ✅ | ✅ | ✅ | ✅ |
推荐方案:
- 已部署 Home Assistant?→ 使用 HA 后端(最通用,兼容任意品牌电视)
- 使用 LG WebOS 电视且未部署 HA?→ 使用直连 WebOS 后端
- 使用 Android TV / Fire TV / 搭载 Google TV 的 Chromecast 且未部署 HA?→ 使用直连 ADB 后端
- 无需智能电视控制?→ 跳过电视配置;只要 Jellyfin 应用已打开,
resume命令仍可正常工作
安全须知
- API 密钥仅允许置于
openclaw.json的 env 字段中 —— 切勿写入 workspace 文件、.env文件或 Markdown 文档。 - HA Token 具有长期有效性且权限极高。如可能,请创建专用 HA 用户并限制其权限。
- TV_CLIENT_KEY(WebOS)属于敏感信息 —— 它可完全控制你的电视,请视同密码妥善保管。
- ADB 访问权限 可完全控制系统级行为。请确保你的网络环境安全 —— 若启用了调试模式,同一局域网内任何人均可通过 ADB 连接你的 Android TV。
- 管理员操作(如
history、scan)需使用具备管理员权限的 Jellyfin API 密钥;若权限不足,将返回 403 错误并优雅降级。
架构设计
lib/jellyfin.js—— Jellyfin REST API 封装(认证、搜索、会话管理、播放控制)lib/tv.js—— 电视控制抽象层(HA 后端、WebOS 后端、Wake-on-LAN)cli.js—— 面向用户的命令行接口,涵盖全部功能指令
工作流示例:Agent 发出指令 “在电视上播放 Star Trek”
Agent → cli.js tv play "Star Trek"
│
├── 1. 在 Jellyfin 中搜索 "Star Trek"(快速失败)
├── 2. 查找尚未播放的下一集
├── 3. 发送 Wake-on-LAN 指令 → 电视开机
├── 4. 等待 10 秒完成系统启动
├── 5. 启动 Jellyfin 应用(通过 HA 或 WebOS)
├── 6. 等待 8 秒完成会话注册
├── 7. 查找 Jellyfin 会话(最多重试 3 次)
└── 8. 在该会话中播放剧集
热门AI工具
相关专题
用 Tailwind CSS 制作导航栏和卡片,可先搭建语义化结构,再组合 Flex、Grid、间距、圆角与阴影类。这里整理横向导航、移动端菜单、卡片网格及悬停效果的相关文章,帮助你把常见页面组件做得清晰且适配不同屏幕。
0
2026.11.03
Tailwind CSS 响应式布局通常从移动端样式写起,再用 sm、md、lg 等前缀调整不同屏幕宽度下的网格、间距和导航。本专题整理断点配置、Grid 与 Flex 自适应布局及常见溢出问题,帮助你逐步完成多设备适配。
0
2026.11.03
Tailwind CSS 类名很多,先按布局、间距、文字、颜色和状态分组记忆,再通过官方文档检索具体写法。本专题结合类名排序、动态拼接失效、自定义实用类等问题,帮助你建立常用类名的速查方法。
0
2026.11.03
本专题汇总了码上飞(CodeFlying)的官方入口地址合集,涵盖官网主站及网页版在线使用入口,支持注册登录后直接在线体验零代码AI应用生成。同时整理了APP端下载渠道与小程序入口,助你快速访问平台,通过自然语言描述需求即可生成应用、小程序或网站。
0
2026.11.03
本专题汇总了Uvicorn服务器常见问题与报错解决的教程合集,涵盖启动失败、端口占用、模块导入错误、事件循环冲突及热重载失效等典型故障的排查思路。同时整理了多进程与Worker配置、SSL/HTTPS证书报错、跨域与代理配置等实战解决方案,助你快速定位并解决Uvicorn运行中的各类问题。
0
2026.11.02
本专题汇总了Uvicorn使用教程与启动运行指南,涵盖其作为Python ASGI服务器的定位与特点,以及命令行启动(uvicorn main:app --reload)、参数配置(host/port/workers)、程序内嵌运行与Gunicorn结合部署等核心用法。同时整理了热重载调试、日志配置与生产环境部署优化等技巧,助你快速掌握Uvicorn的运行与配置。
0
2026.11.02
本专题汇总了Uvicorn的安装配置教程与部署指南,涵盖通过pip安装Uvicorn、启动FastAPI/Starlette应用、开发模式热重载(--reload)及多进程工作模式配置等核心操作。同时整理了结合Gunicorn的生产部署方案、HTTPS与反向代理配置及性能调优技巧,助你快速完成Uvicorn服务的安装与上线部署。
0
2026.11.02
Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。
0
2026.10.28
Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。
0
2026.10.28
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.7万人学习
共6课时 | 54.7万人学习
最新文章