Crawler Summary

android-tv-remote answer-first brief

Control Android/Google TV via ADB over network. Use when: (1) User asks to play something on their TV, (2) Launch a streaming app (Netflix, Max, Disney+, etc.), (3) Control TV playback, volume, or power, (4) Navigate TV UI or search for content, (5) Take screenshots of TV screen. Requires ADB installed and TV with ADB debugging enabled on the same network. --- name: android-tv-remote description: "Control Android/Google TV via ADB over network. Use when: (1) User asks to play something on their TV, (2) Launch a streaming app (Netflix, Max, Disney+, etc.), (3) Control TV playback, volume, or power, (4) Navigate TV UI or search for content, (5) Take screenshots of TV screen. Requires ADB installed and TV with ADB debugging enabled on the same network." --- Android TV Rem Capability contract not published. No trust telemetry is available yet. Last updated 2/25/2026.

Freshness

Last checked 2/25/2026

Best For

android-tv-remote is best for be workflows where OpenClaw compatibility matters.

Not Ideal For

Contract metadata is missing or unavailable for deterministic execution.

Evidence Sources Checked

editorial-content, GITHUB OPENCLEW, runtime-metrics, public facts pack

Claim this agent
Agent DossierGitHubSafety: 89/100

android-tv-remote

Control Android/Google TV via ADB over network. Use when: (1) User asks to play something on their TV, (2) Launch a streaming app (Netflix, Max, Disney+, etc.), (3) Control TV playback, volume, or power, (4) Navigate TV UI or search for content, (5) Take screenshots of TV screen. Requires ADB installed and TV with ADB debugging enabled on the same network. --- name: android-tv-remote description: "Control Android/Google TV via ADB over network. Use when: (1) User asks to play something on their TV, (2) Launch a streaming app (Netflix, Max, Disney+, etc.), (3) Control TV playback, volume, or power, (4) Navigate TV UI or search for content, (5) Take screenshots of TV screen. Requires ADB installed and TV with ADB debugging enabled on the same network." --- Android TV Rem

OpenClawself-declared

Public facts

4

Change events

1

Artifacts

0

Freshness

Feb 25, 2026

Verifiededitorial-contentNo verified compatibility signals

Capability contract not published. No trust telemetry is available yet. Last updated 2/25/2026.

Trust evidence available

Trust score

Unknown

Compatibility

OpenClaw

Freshness

Feb 25, 2026

Vendor

Bronbot

Artifacts

0

Benchmarks

0

Last release

Unpublished

Executive Summary

Key links, install path, and a quick operational read before the deeper crawl record.

Verifiededitorial-content

Summary

Capability contract not published. No trust telemetry is available yet. Last updated 2/25/2026.

Setup snapshot

git clone https://github.com/bronbot/android-tv-remote.git
  1. 1

    Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.

  2. 2

    Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.

Evidence Ledger

Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.

Verifiededitorial-content
Vendor (1)

Vendor

Bronbot

profilemedium
Observed Feb 25, 2026Source linkProvenance
Compatibility (1)

Protocol compatibility

OpenClaw

contractmedium
Observed Feb 25, 2026Source linkProvenance
Security (1)

Handshake status

UNKNOWN

trustmedium
Observed unknownSource linkProvenance
Integration (1)

Crawlable docs

6 indexed pages on the official domain

search_documentmedium
Observed Apr 15, 2026Source linkProvenance

Release & Crawl Timeline

Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.

Self-declaredagent-index

Artifacts Archive

Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.

Self-declaredGITHUB OPENCLEW

Extracted files

0

Examples

4

Snippets

0

Languages

typescript

Parameters

Executable Examples

bash

TV=192.168.0.6  # Set to TV's IP

# Connect
scripts/tv-remote.sh $TV connect

# List installed streaming apps
scripts/tv-remote.sh $TV apps

# Launch an app
scripts/tv-remote.sh $TV launch com.wbd.stream

# Take screenshot (returns file path)
scripts/tv-remote.sh $TV screenshot /tmp/tv.png

# Navigate UI
scripts/tv-remote.sh $TV navigate left up up up enter

# Type text in search
scripts/tv-remote.sh $TV type "ten year old tom"

# Volume control
scripts/tv-remote.sh $TV volume up 5
scripts/tv-remote.sh $TV volume mute

# Send key
scripts/tv-remote.sh $TV key HOME
scripts/tv-remote.sh $TV key PLAY

# Power on/off
scripts/tv-remote.sh $TV power

bash

# Play a known show (uses learned sequence)
scripts/quick-play.sh $TV play tom

# List everything in the catalog
scripts/quick-play.sh $TV catalog

# Add a new show to the catalog (empty sequence, will learn on first play)
scripts/quick-play.sh $TV add-show "breaking bad" com.netflix.ninja "Breaking Bad" "bb"

# Save a navigation sequence after successfully navigating manually
scripts/quick-play.sh $TV save-sequence "ten year old tom" '[{"action":"launch","package":"com.wbd.stream","waitMs":8000},{"action":"key","key":"ENTER","note":"select profile","waitMs":5000},{"action":"key","key":"ENTER","note":"resume playback","waitMs":2000}]'

# Boost confidence after successful playback
scripts/quick-play.sh $TV boost-confidence "ten year old tom"

# Save a deep link (fastest possible — skips all navigation)
scripts/quick-play.sh $TV deep-link "ten year old tom" "https://play.max.com/show/..."

bash

scripts/quick-play.sh $TV add-show "show name" com.package "Show Name" "alias1" "alias2"
     scripts/quick-play.sh $TV save-sequence "show name" '[steps...]'

markdown

### TV
- IP: 192.168.0.6
- Brand: Sony
- Model: BRAVIA 4K VH2
- Profile: Jorge

Docs & README

Full documentation captured from public sources, including the complete README when available.

Self-declaredGITHUB OPENCLEW

Docs source

GITHUB OPENCLEW

Editorial quality

ready

Control Android/Google TV via ADB over network. Use when: (1) User asks to play something on their TV, (2) Launch a streaming app (Netflix, Max, Disney+, etc.), (3) Control TV playback, volume, or power, (4) Navigate TV UI or search for content, (5) Take screenshots of TV screen. Requires ADB installed and TV with ADB debugging enabled on the same network. --- name: android-tv-remote description: "Control Android/Google TV via ADB over network. Use when: (1) User asks to play something on their TV, (2) Launch a streaming app (Netflix, Max, Disney+, etc.), (3) Control TV playback, volume, or power, (4) Navigate TV UI or search for content, (5) Take screenshots of TV screen. Requires ADB installed and TV with ADB debugging enabled on the same network." --- Android TV Rem

Full README

name: android-tv-remote description: "Control Android/Google TV via ADB over network. Use when: (1) User asks to play something on their TV, (2) Launch a streaming app (Netflix, Max, Disney+, etc.), (3) Control TV playback, volume, or power, (4) Navigate TV UI or search for content, (5) Take screenshots of TV screen. Requires ADB installed and TV with ADB debugging enabled on the same network."

Android TV Remote Control

Control Android/Google TV devices via ADB over the local network. Navigate UIs, launch apps, search for content, and play shows — all through text commands.

Prerequisites

  • adb installed (sudo apt install adb)
  • TV with Developer Options > ADB Debugging enabled
  • TV and agent on same network (or reachable via Tailscale)
  • First connection requires approving the ADB auth popup on the TV

Quick Reference

Helper script at scripts/tv-remote.sh:

TV=192.168.0.6  # Set to TV's IP

# Connect
scripts/tv-remote.sh $TV connect

# List installed streaming apps
scripts/tv-remote.sh $TV apps

# Launch an app
scripts/tv-remote.sh $TV launch com.wbd.stream

# Take screenshot (returns file path)
scripts/tv-remote.sh $TV screenshot /tmp/tv.png

# Navigate UI
scripts/tv-remote.sh $TV navigate left up up up enter

# Type text in search
scripts/tv-remote.sh $TV type "ten year old tom"

# Volume control
scripts/tv-remote.sh $TV volume up 5
scripts/tv-remote.sh $TV volume mute

# Send key
scripts/tv-remote.sh $TV key HOME
scripts/tv-remote.sh $TV key PLAY

# Power on/off
scripts/tv-remote.sh $TV power

The Screenshot-Navigate Loop

Critical pattern: TV UIs cannot be navigated blind. Always use a screenshot → analyze → navigate → screenshot loop.

  1. Take screenshot: scripts/tv-remote.sh $TV screenshot /tmp/tv.png
  2. Analyze with vision model (image tool) to understand current UI state
  3. Determine navigation steps needed
  4. Execute navigation: scripts/tv-remote.sh $TV navigate <directions>
  5. Screenshot again to confirm result
  6. Repeat until target reached

Play Content Workflow

To play a show/movie on a streaming app:

  1. Connect: scripts/tv-remote.sh $TV connect
  2. Launch app: scripts/tv-remote.sh $TV launch <package> — see references/app-packages.md for package names
  3. Wait + Screenshot: sleep 5 && scripts/tv-remote.sh $TV screenshot /tmp/tv.png
  4. Handle profile picker: If "Who's Watching?" screen, the user's profile is usually pre-selected. Press enter: scripts/tv-remote.sh $TV key ENTER
  5. Wait for home screen: sleep 8 — streaming apps are slow to load
  6. Navigate to search: Use screenshot loop to find and select search icon
  7. Type search query: scripts/tv-remote.sh $TV type "show name"
  8. Wait for results: sleep 3
  9. Screenshot + navigate to result: Use screenshot loop to find and select the show
  10. Select + play: Navigate to play button and press enter

Key Lessons

  • Streaming apps are slow — always wait 5-10 seconds after launching apps or changing screens
  • Profile pickers are persistent — some apps (Max, Netflix) return to profile picker if the app restarts. Avoid force-stopping apps unnecessarily
  • Netflix steals focus — on some TVs, Netflix auto-launches or hijacks foreground. Force-stop it if it interferes: adb -s $TV:5555 shell am force-stop com.netflix.ninja
  • ADB text input — spaces must be %s when using raw adb shell input text. The helper script handles this automatically
  • Screenshots are your eyes — never navigate more than 2-3 steps without taking a screenshot to confirm position
  • HOME is your reset — if lost, press HOME and start the navigation over

Quick Play (Learning System)

The skill gets faster over time. Every successful navigation is saved to data/tv-catalog.json and replayed instantly next time.

How it works

  1. First time playing a show: use the full screenshot-navigate loop. It's slow but reliable.
  2. After success: save the exact navigation sequence to the catalog via quick-play.sh save-sequence
  3. Next time: quick-play.sh play "tom" replays the saved sequence in seconds — no screenshots needed
  4. If it works: boost confidence with quick-play.sh boost-confidence "tom" (caps at 1.0)
  5. If it fails: fall back to screenshot loop, fix the sequence, save again

Quick Play Commands

# Play a known show (uses learned sequence)
scripts/quick-play.sh $TV play tom

# List everything in the catalog
scripts/quick-play.sh $TV catalog

# Add a new show to the catalog (empty sequence, will learn on first play)
scripts/quick-play.sh $TV add-show "breaking bad" com.netflix.ninja "Breaking Bad" "bb"

# Save a navigation sequence after successfully navigating manually
scripts/quick-play.sh $TV save-sequence "ten year old tom" '[{"action":"launch","package":"com.wbd.stream","waitMs":8000},{"action":"key","key":"ENTER","note":"select profile","waitMs":5000},{"action":"key","key":"ENTER","note":"resume playback","waitMs":2000}]'

# Boost confidence after successful playback
scripts/quick-play.sh $TV boost-confidence "ten year old tom"

# Save a deep link (fastest possible — skips all navigation)
scripts/quick-play.sh $TV deep-link "ten year old tom" "https://play.max.com/show/..."

Agent Learning Loop

When the user says "play X":

  1. Check catalog: scripts/quick-play.sh $TV play "X"

    • If found with confidence ≥ 0.7 → execute learned sequence, skip screenshots
    • If found with confidence < 0.7 → execute sequence BUT screenshot after to verify
    • If NOT found → fall through to step 2
  2. Screenshot-navigate loop (first time or low confidence):

    • Navigate manually using the screenshot loop
    • Track every action you take (launch, key presses, waits, text input)
    • After success, save the sequence:
      scripts/quick-play.sh $TV add-show "show name" com.package "Show Name" "alias1" "alias2"
      scripts/quick-play.sh $TV save-sequence "show name" '[steps...]'
      
  3. After playback confirmed:

    • scripts/quick-play.sh $TV boost-confidence "show name"
    • Update season/episode: scripts/quick-play.sh $TV update "show name" '{"lastSeason":1,"lastEpisode":11}'
  4. App patterns are also learned:

    • Profile picker behavior, search navigation paths, load times
    • Stored per-app in appPatterns so new shows on the same app start with knowledge

Confidence Levels

| Confidence | Behavior | |-----------|----------| | 0.0 | No learned sequence — full screenshot loop | | 0.1 - 0.4 | Sequence exists but unverified — execute + screenshot to verify | | 0.5 - 0.6 | Used a few times — execute + screenshot only at end | | 0.7 - 0.9 | Reliable — execute blind, screenshot only if user reports failure | | 1.0 | Bulletproof — execute blind, no verification needed |

Catalog Growth

The catalog in data/tv-catalog.json grows automatically:

  • Every new show gets added on first play
  • Navigation sequences get refined with each use
  • Confidence increases with successful plays
  • Deep links (fastest path) can be added when discovered
  • App patterns (profile pickers, search paths, load times) transfer to new shows on the same app

TV Configuration (per-user)

Store TV details in TOOLS.md:

### TV
- IP: 192.168.0.6
- Brand: Sony
- Model: BRAVIA 4K VH2
- Profile: Jorge

Contract & API

Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.

MissingGITHUB OPENCLEW

Contract coverage

Status

missing

Auth

None

Streaming

No

Data region

Unspecified

Protocol support

OpenClaw: self-declared

Requires: none

Forbidden: none

Guardrails

Operational confidence: low

No positive guardrails captured.
Invocation examples
curl -s "https://xpersona.co/api/v1/agents/bronbot-android-tv-remote/snapshot"
curl -s "https://xpersona.co/api/v1/agents/bronbot-android-tv-remote/contract"
curl -s "https://xpersona.co/api/v1/agents/bronbot-android-tv-remote/trust"

Reliability & Benchmarks

Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.

Missingruntime-metrics

Trust signals

Handshake

UNKNOWN

Confidence

unknown

Attempts 30d

unknown

Fallback rate

unknown

Runtime metrics

Observed P50

unknown

Observed P95

unknown

Rate limit

unknown

Estimated cost

unknown

Do not use if

Contract metadata is missing or unavailable for deterministic execution.
No benchmark suites or observed failure patterns are available.

Media & Demo

Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.

Missingno-media
No screenshots, media assets, or demo links are available.

Related Agents

Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.

Self-declaredprotocol-neighbors
GITHUB_REPOSactivepieces

Rank

70

AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents

Traction

No public download signal

Freshness

Updated 2d ago

OPENCLAW
GITHUB_REPOScherry-studio

Rank

70

AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs

Traction

No public download signal

Freshness

Updated 5d ago

MCPOPENCLAW
GITHUB_REPOSAionUi

Rank

70

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

Traction

No public download signal

Freshness

Updated 6d ago

MCPOPENCLAW
GITHUB_REPOSCopilotKit

Rank

70

The Frontend for Agents & Generative UI. React + Angular

Traction

No public download signal

Freshness

Updated 23d ago

OPENCLAW
Machine Appendix

Contract JSON

{
  "contractStatus": "missing",
  "authModes": [],
  "requires": [],
  "forbidden": [],
  "supportsMcp": false,
  "supportsA2a": false,
  "supportsStreaming": false,
  "inputSchemaRef": null,
  "outputSchemaRef": null,
  "dataRegion": null,
  "contractUpdatedAt": null,
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Invocation Guide

{
  "preferredApi": {
    "snapshotUrl": "https://xpersona.co/api/v1/agents/bronbot-android-tv-remote/snapshot",
    "contractUrl": "https://xpersona.co/api/v1/agents/bronbot-android-tv-remote/contract",
    "trustUrl": "https://xpersona.co/api/v1/agents/bronbot-android-tv-remote/trust"
  },
  "curlExamples": [
    "curl -s \"https://xpersona.co/api/v1/agents/bronbot-android-tv-remote/snapshot\"",
    "curl -s \"https://xpersona.co/api/v1/agents/bronbot-android-tv-remote/contract\"",
    "curl -s \"https://xpersona.co/api/v1/agents/bronbot-android-tv-remote/trust\""
  ],
  "jsonRequestTemplate": {
    "query": "summarize this repo",
    "constraints": {
      "maxLatencyMs": 2000,
      "protocolPreference": [
        "OPENCLEW"
      ]
    }
  },
  "jsonResponseTemplate": {
    "ok": true,
    "result": {
      "summary": "...",
      "confidence": 0.9
    },
    "meta": {
      "source": "GITHUB_OPENCLEW",
      "generatedAt": "2026-04-16T23:29:40.815Z"
    }
  },
  "retryPolicy": {
    "maxAttempts": 3,
    "backoffMs": [
      500,
      1500,
      3500
    ],
    "retryableConditions": [
      "HTTP_429",
      "HTTP_503",
      "NETWORK_TIMEOUT"
    ]
  }
}

Trust JSON

{
  "status": "unavailable",
  "handshakeStatus": "UNKNOWN",
  "verificationFreshnessHours": null,
  "reputationScore": null,
  "p95LatencyMs": null,
  "successRate30d": null,
  "fallbackRate": null,
  "attempts30d": null,
  "trustUpdatedAt": null,
  "trustConfidence": "unknown",
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Capability Matrix

{
  "rows": [
    {
      "key": "OPENCLEW",
      "type": "protocol",
      "support": "unknown",
      "confidenceSource": "profile",
      "notes": "Listed on profile"
    },
    {
      "key": "be",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    }
  ],
  "flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:be|supported|profile"
}

Facts JSON

[
  {
    "factKey": "docs_crawl",
    "category": "integration",
    "label": "Crawlable docs",
    "value": "6 indexed pages on the official domain",
    "href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceType": "search_document",
    "confidence": "medium",
    "observedAt": "2026-04-15T05:03:46.393Z",
    "isPublic": true
  },
  {
    "factKey": "vendor",
    "category": "vendor",
    "label": "Vendor",
    "value": "Bronbot",
    "href": "https://github.com/bronbot/android-tv-remote",
    "sourceUrl": "https://github.com/bronbot/android-tv-remote",
    "sourceType": "profile",
    "confidence": "medium",
    "observedAt": "2026-02-25T02:23:41.957Z",
    "isPublic": true
  },
  {
    "factKey": "protocols",
    "category": "compatibility",
    "label": "Protocol compatibility",
    "value": "OpenClaw",
    "href": "https://xpersona.co/api/v1/agents/bronbot-android-tv-remote/contract",
    "sourceUrl": "https://xpersona.co/api/v1/agents/bronbot-android-tv-remote/contract",
    "sourceType": "contract",
    "confidence": "medium",
    "observedAt": "2026-02-25T02:23:41.957Z",
    "isPublic": true
  },
  {
    "factKey": "handshake_status",
    "category": "security",
    "label": "Handshake status",
    "value": "UNKNOWN",
    "href": "https://xpersona.co/api/v1/agents/bronbot-android-tv-remote/trust",
    "sourceUrl": "https://xpersona.co/api/v1/agents/bronbot-android-tv-remote/trust",
    "sourceType": "trust",
    "confidence": "medium",
    "observedAt": null,
    "isPublic": true
  }
]

Change Events JSON

[
  {
    "eventType": "docs_update",
    "title": "Docs refreshed: Sign in to GitHub · GitHub",
    "description": "Fresh crawlable documentation was indexed for the official domain.",
    "href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceType": "search_document",
    "confidence": "medium",
    "observedAt": "2026-04-15T05:03:46.393Z",
    "isPublic": true
  }
]

Sponsored

Ads related to android-tv-remote and adjacent AI workflows.