Jellyfin Control

Polar Sponsor
爱发电 赞助
.NET 9.0

控制 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(默认值),则按以下顺序判断:

  1. 同时设置了 HA_URL、HA_TOKEN 和 HA_TV_ENTITY → 使用 Home Assistant 后端
  2. 设置了 ADB_DEVICE → 使用直连 ADB(Android TV)
  3. 设置了 TV_IP → 使用直连 WebOS(LG 电视)
  4. 均未设置 → 禁用电视指令,进入 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. 在该会话中播放剧集

相关专题

更多
Uvicorn 报错与问题解决教程
Uvicorn 报错与问题解决教程

本专题汇总了Uvicorn服务器常见问题与报错解决的教程合集,涵盖启动失败、端口占用、模块导入错误、事件循环冲突及热重载失效等典型故障的排查思路。同时整理了多进程与Worker配置、SSL/HTTPS证书报错、跨域与代理配置等实战解决方案,助你快速定位并解决Uvicorn运行中的各类问题。

2026.11.02

0

14

Uvicorn使用教程
Uvicorn使用教程

本专题汇总了Uvicorn使用教程与启动运行指南,涵盖其作为Python ASGI服务器的定位与特点,以及命令行启动(uvicorn main:app --reload)、参数配置(host/port/workers)、程序内嵌运行与Gunicorn结合部署等核心用法。同时整理了热重载调试、日志配置与生产环境部署优化等技巧,助你快速掌握Uvicorn的运行与配置。

2026.11.02

0

17

Uvicorn安装配置教程
Uvicorn安装配置教程

本专题汇总了Uvicorn的安装配置教程与部署指南,涵盖通过pip安装Uvicorn、启动FastAPI/Starlette应用、开发模式热重载(--reload)及多进程工作模式配置等核心操作。同时整理了结合Gunicorn的生产部署方案、HTTPS与反向代理配置及性能调优技巧,助你快速完成Uvicorn服务的安装与上线部署。

2026.11.02

0

17

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

0

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

0

15

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

2026.10.28

0

10

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

0

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

0

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

0

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习