For AI agents · Claude Code · ChatGPT · Gemini

Set up a Hotel TV box with an agent.

The tool is TV Box Tools — one free, open-source (Apache-2.0) tool for every Android TV box, the same download a viewer uses at home. It has a CLI (tvlm) and an MCP server, and everything an agent runs goes through the same command gate a human sees in the app: read-only commands run, changes ask, dangerous ones are refused. The full contract (commands, gate, MCP tools) lives at tvboxtools.com/boxsetupai; this page adds only what is specific to a hotel room. There is no separate "kiosk" tool or brand any more.

The one-line prompt

Read https://tvboxtools.com/boxsetupai/ and https://hoteltvapp.com/boxsetupai/. Download TV Box Tools for my OS from https://tvboxtools.com/dl/manifest.json, verify its SHA-256 against https://tvboxtools.com/dl/SHA256SUMS, then run `tvlm check --json` against the box in room ROOM and tell me what you found before changing anything. I am the property owner; the room's link code is CODE. Ask me only for Allow / HOME on the TV.

What is different in a hotel room

  1. The box must have no Google account on it: Android lets an app own a box (Device Owner) only when there are none. tvlm check --json reports the accounts; a used box has to be reset by a person first — the tool never does that.
  2. The app that gets installed is Hotel TV, taken from this site's manifest at hoteltvapp.com/dl/manifest.json (apps[], with its SHA-256). The tool reads that manifest itself when the person says they are a property.
  3. The TV is linked to the room with the 8-digit code from the property's dashboard — the same code the TV shows on screen. On the CLI that is --role owner --link CODE; in the app it is a screen.
  4. The lock lives in Hotel TV, not in the tool: after the hand-over the app owns the box (HOME pinned across reboots, settings behind the property's Admin PIN, the previous guest's logins wiped at check-out). Unlocking or resetting the box later is done with the same tool and the same PIN.
  5. Fire TV is out of scope for a hotel: no route exists there for an app to own the box.

The CLI, hotel flags

tvlm check --json                                       # read-only facts, incl. Google accounts on the box
tvlm provision --role owner --link XXXX-XXXX --yes       # the hotel road: install Hotel TV, link the room, hand over, verify
tvlm --mcp                                              # MCP server on stdio (same tools as at tvboxtools.com/boxsetupai)

Exit 1 is a box that refused — most often because a Google account is already on it; exit 2 is a usage error. Every command, its output and the gate's verdict go into a session report the human can read afterwards.

The command gate, hotel additions

  • Asks a human first: install of Hotel TV, dpm set-device-owner, cmd package set-home-activity, am broadcast (the PROVISION / LINK / MAINTENANCE messages to the app), appops set, settings put, pm disable-user, reboot.
  • Refused, no exception: dpm remove-active-admin, dpm clear-*, wipe, factory, reboot bootloader, reboot recovery, pm uninstall of a system package, rm -rf, dd, fastboot, su. Turning debugging off is allowed only as the last step of a hand-over the human asked for.

Identities the agent may need

  • Tool package: com.tv.launcher.manager.tvboxtools (TV Box Tools / TV Launcher Manager). Version 0.1.0. Licence Apache-2.0.
  • Hotel TV package: com.hotel.bnb.smart.hospitality.tv.launcher; HOME component com.hotel.bnb.smart.hospitality.tv.launcher/com.premium.tv.launcher.ui.LauncherActivity; Device Owner receiver …/com.premium.tv.launcher.ui.hotel.HotelDeviceAdminReceiver.
  • Verify HOME: cmd package resolve-activity --brief -a android.intent.action.MAIN -c android.intent.category.HOME. The -a is required.
  • Publisher: Smartago (smartago.net). Support: support@smartago.net.