ClawShorts
/install clawshorts
ClawShorts
YouTube Shorts limiter for Fire TV. Monitors watch time per device and auto-blocks when daily limit is reached.
Invocation
Primary entry point:
~/.openclaw/workspace/skills/clawshorts/scripts/clawshorts.sh \x3Ccommand>
Commands
| Command | When to use |
|---|---|
status |
Check today's usage, remaining quota, daemon health |
reset [IP] |
Reset today's counter (all devices or specific IP) |
start |
Start the daemon if not running |
stop |
Stop the daemon |
history [days] |
Show watch history (default 30 days) |
logs [N] |
Show last N daemon log lines (default 50) |
list |
List all configured devices with per-device config |
setup \x3CIP> [NAME] |
First-time setup for a new device |
add \x3CIP> [NAME] |
Add another Fire TV |
connect \x3CIP> |
Connect ADB to device + auto-detect screen |
enable \x3CIP> / disable \x3CIP> |
Enable/disable a device |
config [show|get|set|reset] |
View/set global or per-device config |
detect \x3CIP> |
Re-detect screen resolution via ADB, update DB |
Detection Logic
Detection requires both conditions to be true simultaneously:
- Player width \x3C 30% of screen width (configurable per-device)
- Aspect ratio \x3C 1.3 (portrait — distinguishes Shorts from 16:9 landscape previews)
- Poll interval: 3 seconds via ADB
- Shorts: ~32% screen width, 9:16 portrait (ar ~0.56)
- Regular video: ~100% screen width, 16:9 landscape (ar ~1.78)
- Home/browse: no video active
- Only actual Shorts playback counts toward limit
Configuration
All detection parameters are stored in SQLite with global defaults and per-device overrides.
Global defaults (shorts config):
| key | default | description |
|---|---|---|
shorts_width_threshold |
0.30 | player width must be \x3C this ratio of screen width |
shorts_max_aspect_ratio |
1.3 | portrait if ar \x3C this value |
shorts_fallback_height_ratio |
0.4 | fallback: player height must exceed this ratio of screen height |
shorts_delta_cap |
300 | max seconds accumulated per poll |
default_screen_width |
1920 | fallback assumed screen width |
default_screen_height |
1080 | fallback assumed screen height |
Per-device overrides — any of the above can be set per-device in the devices table. NULL = use global default.
Config commands:
shorts config # show all global defaults
shorts config get \x3Ckey> # get a specific value
shorts config set \x3Ckey> \x3Cvalue> # set global default
shorts config set \x3CIP> \x3Ccol> \x3Cvalue> # set per-device override
shorts config reset \x3CIP> # clear per-device overrides
shorts detect \x3CIP> # re-detect screen via ADB
Data Locations
- Database:
~/.clawshorts/clawshorts.db(SQLite)config— global detection defaultsdevices— per-device settings (IP, name, limit, screen size, thresholds)daily_usage— daily watch time per device
- Daemon log:
~/.clawshorts/daemon.log - LaunchAgent:
~/Library/LaunchAgents/com.fink.clawshorts.plist
Requirements
adb(Android platform tools)- Python 3
- Fire TV with ADB debugging enabled
shortssymlink at/opt/homebrew/bin/shorts(optional)
⚠️ Security Notes
ADB has no built-in authentication. Only enable ADB Debugging on a trusted, password-protected home network. Never on public WiFi. Anyone on the same network with ADB enabled can connect to your Fire TV.
This tool only accepts private IP addresses (10.x.x.x, 172.16–31.x.x, 192.168.x.x). Public IPs are rejected to prevent accidental targeting of unrelated hosts.
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install clawshorts - 安装完成后,直接呼叫该 Skill 的名称或使用
/clawshorts触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
ClawShorts 是什么?
Block YouTube Shorts on Fire TV. Use when asked to check, manage, or configure YouTube Shorts limiting on Buck's Fire TV devices. Triggers on requests like "... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 203 次。
如何安装 ClawShorts?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install clawshorts」即可一键安装,无需额外配置。
ClawShorts 是免费的吗?
是的,ClawShorts 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
ClawShorts 支持哪些平台?
ClawShorts 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 ClawShorts?
由 cindulasai(@cindulasai)开发并维护,当前版本 v1.3.2。