核心用法
jellyfin-control 是一个命令行工具,用于远程管理 Jellyfin 自托管媒体服务器。主要功能包括:
- 智能续播:自动查找剧集的下一未播放集,或从电影上次位置恢复播放
- 设备发现:自动检测局域网内活跃播放会话(电视、手机、网页端)
- 远程遥控:完整播放控制(播放/暂停/停止/上下集/音量/静音)
- 内容搜索:快速查找媒体库中的影视内容
- 库管理:查看统计信息、触发自定义扫描刷新
典型工作流
# 智能播放:搜索→找下一集→投放到电视 node cli.js resume "Breaking Bad" --device "LG TV" # 遥控当前播放 node cli.js control pause node cli.js control vol 75
显著优点
1. 零配置设备发现:无需预注册设备,自动扫描活跃会话
2. LG/Tizen 兼容:针对 WebOS 电视提供 Seek 回退机制,解决部分设备的进度同步问题
3. 权限最小化:推荐仅使用 API 密钥认证,避免密码泄露风险
4. 优雅降级:非管理员密钥调用 admin 接口时返回清晰错误,不崩溃
潜在局限
- 依赖局域网环境:需确保运行环境能访问 Jellyfin 服务器的
JF_URL - 会话状态敏感:若目标设备未在播放(无活跃 session),遥控命令会失败
- 用户 ID 解析:非管理员场景下需手动配置
JF_USER_ID或提供密码解析 - 无播放状态反馈:CLI 为单向控制,不实时同步播放进度回显
适合人群
- 自托管 Jellyfin/Plex 替代方案的用户
- 希望通过语音/自动化脚本控制客厅电视的智能家居玩家
- 需要批量管理媒体库的管理员(扫描、统计、审计日志)
常规风险
| 风险点 | 说明 | 缓解措施 |
|--------|------|----------|
| API 密钥泄露 | 密钥拥有媒体库完全访问权限 | 严格限制 `openclaw.json` 文件权限;定期轮换密钥 |
| 明文密码 | 可选的 `JF_PASS` 环境变量 | 优先使用 `JF_USER_ID` 直接配置,完全避免密码 |
| 中间人攻击 | HTTP 明文传输(常见内网部署) | 建议配合 VPN/HTTPS 反向代理使用 |
| 误操作覆盖播放 | `resume` 会直接抢占当前播放 | 确认 `--device` 参数准确性,或使用 `control` 先查询状态 |
---
> 版本:v1.1.0 | 作者:Titunito | 开源协议:未明示(建议确认)