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 停止投屏.

インストールへ移動

ソース情報

リポジトリ
szsip239/peter-zhou
ソースの最終更新活動
2026年8月24日 06:36
検出された SKILL.md の言語
英語
スター
1
フォーク
0

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
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.
GitHubで見る