Skip to main content

peter-zhou-tv-display

Display a validated Peter Zhou Dashboard, wrong-question ExplanationPage, or KnowledgeModule through Home Hub, with the old Peter APK/browser path retained only for explicit rollback. Use for 投到电视, 电视打开首页, 电视显示讲解, 电视显示课程, 投屏状态, or 停止投屏.

Zur Installation springen

Quellinformationen

Repository
szsip239/peter-zhou
Letzte Quellaktivität
24. August 2026 um 06:36
Erkannte Sprache von SKILL.md
Englisch
Sterne
1
Forks
0

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
peter-zhou-tv-display
description
Display a validated Peter Zhou Dashboard, wrong-question ExplanationPage, or KnowledgeModule through Home Hub, with the old Peter APK/browser path retained only for explicit rollback. Use for 投到电视, 电视打开首页, 电视显示讲解, 电视显示课程, 投屏状态, or 停止投屏.
# Peter Zhou TV Display Use this subskill for on-demand learning-page display. It is independent from the transition-only DLNA notice owned by `home-control/`. ## Default Home Hub Flow 1. Resolve the private runtime config with `scripts/runtime_config.py show --json`. 2. For the Dashboard, regenerate it from canonical data before display. 3. Call `show-home-hub` with exactly one validated `asset_kind` and contained `asset_ref`: ```bash python3 scripts/chat_dashboard.py \ --data-dir <data-dir> \ --top-n 5 \ --minecraft-html <data-dir>/dashboard/minecraft/index.html python3 scripts/tv_display.py show-home-hub \ --config <config> \ --asset-kind dashboard \ --asset-ref dashboard/minecraft/index.html \ --hub-url http://<private-hub-ip>:<port> \ --json ``` 4. For a cached wrong-question explanation, use only its script-owned `html_ref`: ```bash python3 scripts/tv_display.py show-home-hub \ --config <config> \ --asset-kind explanation \ --asset-ref <explanation-html-ref> \ --hub-url http://<private-hub-ip>:<port> \ --json ``` 5. For a deep KnowledgeModule, use only a `courseware.html` whose adjacent metadata has `status=rendered_and_validated` and a matching `html_ref`: ```bash python3 scripts/tv_display.py show-home-hub \ --config <config> \ --asset-kind knowledge_courseware \ --asset-ref <validated-courseware-html-ref> \ --hub-url http://<private-hub-ip>:<port> \ --json ``` 6. Omit `--device-id` when exactly one Home Display is online. If more than one is online, select only an identity returned by the Home Hub `devices` command; never accept shell text. 7. Report success only for `status=display_verified` and a rendered Receipt. Do not expose bundle paths, Hub internals, device identity, session identity, or private endpoint details. Use `scripts/tv_display.py status --config <config> --json` for a read-only session check and `scripts/tv_display.py stop --config <config> --json` when the user asks to stop television display. These commands reuse the archived Home Hub Session metadata and never read Peter learning data. `build-home-hub-page` is the deterministic adapter seam. It strips answer submission controls, localizes selected Peter assets, uses bundle-relative URLs, removes server-only MathJax dependencies, and emits a portable page directory without a legacy manifest. The generic Home Hub CLI remains responsible for canonical Bundle compilation and delivery. ## Home Hub Setup An administrator installs Home Hub and the generic `com.openkanban.homedisplay` TV client, then records the private Hub URL outside Git. `home-hub` is resolved from `PETER_ZHOU_HOME_HUB`, `PATH`, or the standard macOS Home Hub installation. The Agent must not install/upgrade the daemon or APK during a student display request. ## Explicit Legacy Rollback Use the old `tv_display.py probe/show` native or browser route only when the administrator explicitly asks to roll back from Home Hub. Do not silently fall back after a Home Hub error. The legacy administrator setup remains: An administrator configures the target once: ```bash python3 scripts/runtime_config.py configure-tv-display \ --host <private-tv-ip> \ --adb-port 5555 \ --adapter native \ --session-seconds 1800 \ --json ``` The administrator installs the old fixed APK from the repository root before switching to `native`. The installer rebuilds the current package, verifies the exact installed version, replaces only the outdated fixed package on affected TCL firmware, and grants that package's full-screen display app-op: ```bash clients/android-tv/install.sh --serial <private-tv-ip:5555> --json ``` The tested TCL firmware may require the administrator-only `--tcl-vendor` option. The Agent must never infer or add that option, install an arbitrary APK, or accept a package, activity, installer service, remote path, or ADB argument from conversation. `native_client_outdated` or `native_display_permission_missing` means the administrator must rerun the fixed installer. `missing_adb` means Android SDK Platform-Tools must be installed or `PETER_ZHOU_ADB` must point to an executable. `authorization_required` means the administrator must approve network debugging on the television. The skill does not auto-install tools or bypass television authorization. ## Safety - Accept only `dashboard/minecraft/index.html`, a generated `explanation-pages/<subject>/explanation-*/index.html`, or validated `knowledge-modules/<subject>/topic-*/courseware.html` inside the configured data directory. - Never accept a raw URL, arbitrary path, browser package, activity, ADB argument, or shell text from the Agent or student. - Home Hub mode records only its own Session routing metadata under `data/tv-display/`. The Hub receives a portable read-only copy, never Peter's mistake bank, mastery data, profile, source path, Prompt, or Agent context. - Native mode publishes one deterministic `tv_content_bundle.v1` ZIP to the fixed app-specific inbox. The APK verifies every file hash before display, serves content from its controlled local HTTPS-style origin, keeps at most eight disposable bundles, and blocks arbitrary external navigation. Browser mode retains the bounded tokenized HTTP session as a compatibility path. - Television projections are read-only. They remove answer inputs, submission JSON, and grading scripts. Native mode replaces external MathJax with the APK's pinned local TeX-to-SVG runtime. Answering remains on the MacBook or phone through the normal grading workflow. - A new display replaces the previous temporary session. Native mode uses a fixed read-only full-screen service so vendor TV-input activities cannot cover the lesson; Back, `stop`, and configured expiry remove it. Browser mode closes its temporary server. Display failure must never alter learning data. - Use DLNA only for the existing short network-state notice or an explicitly labelled static fallback. Never claim a DLNA image is interactive HTML.
Auf GitHub ansehen