feat(homepage): Audiobookshelf's own mark, and the voice endpoint in the model block
Audiobookshelf carried the improvised "AB" hex monogram — the fallback for apps with no icon. Simple Icons carries its brand mark, so the card now uses /img/apps/audiobookshelf.svg the way Plex and Jellyfin use theirs; the monogram went to .AGENTTRASH. frank-tts (Qwen3-TTS 1.7 B base talker on the gfx1151 iGPU) was an admin-only status tile, so the household read about five cloned voices in /docs and saw no sign of the door that speaks them. It is now a Model Information card on the user page beside the three chat models, carrying the ask-Frank permission note and a privacy note about cloned voices. miCard grew the shape that requires: art falls back to the card's own `art` when a card has no StarCraft `unit`, the accent falls back to `.mi-tool`, and a `tagline` with no `sfx` renders as text instead of a play button that plays nothing. No audio asset ships with the card on purpose: every pack on that endpoint is a replica of a real person's voice, so a sample clip would put a synthetic person's voice in the repo and on the page. Seams: the model-card contract splits unit cards (equivalence, supervision, playable voice line) from tool cards (permission note), and the voice stack's homepage seam now pins category=user with the reason.
This commit is contained in:
1 parent
e6a85176c4
commit
53e4a777b4
8 files changed
+60
-25
No files matched your search
@@ -317,7 +317,7 @@ flowchart TD
|
||||
**User services** (root page), in section order:
|
||||
- **Web Apps** — SearXNG, Gitea, Copyparty, Marreta.
|
||||
- **Media Library Apps** — Plex, Jellyfin, Audiobookshelf (moved up from the admin page 2026-11-03, once Authentik SSO made it a household app).
|
||||
- **AI** — OpenWebUI, and the three LLM fleet cards (frank-dragoon, frank-archon, frank-zealot — status + docs link, no Open link); their model table renders under this heading.
|
||||
- **AI** — OpenWebUI, the three LLM fleet cards (frank-dragoon, frank-archon, frank-zealot) and `frank-tts`, the cloned-voice endpoint (moved up from the admin page 2026-11-04 so the household sees whether the voice door is up). All four are status + docs link, no Open link; the fused **Model Information** panel renders under this heading.
|
||||
- **Work in progress** — Calibre-Web, RomM, Seerr. WIP badge, no Open link, no household account yet: the ask-Frank door. See the docs page's *Three doors that are not open to the household yet*.
|
||||
|
||||
**Admin services** (`/admin/`), in section order:
|
||||
@@ -443,6 +443,13 @@ agent knowledge base (`~/.pi/agent/docs/caddy/caddyfile.md`).
|
||||
- `method` — `tcp` or `http`. The probe type for this service (Q10).
|
||||
- `wip` — `false`, or `"open"` / `"closed"` / `"down"`. When set, the badge shows
|
||||
**WIP: OPEN** / **WIP: CLOSED** / **WIP: DOWN** and the checker skips the probe.
|
||||
- `model` — present only on Model Information cards. Such a card renders in the
|
||||
fused `renderModelInfo()` panel (`mi-*` styles) instead of the app grid, and its
|
||||
`description` is unused. `unit` is the StarCraft identity: art
|
||||
`/img/unit-<unit>.jpg`, accent `.mi-<unit>`, voice lines from `/sfx/`. A card
|
||||
with no `unit` is a tool (today: `frank-tts`) — art falls back to the card's own
|
||||
`art`, the accent is `.mi-tool`, and a `tagline` with no `sfx` renders as plain
|
||||
text rather than a play button.
|
||||
|
||||
**A card must be probeable from the monitor's host, or it must be `wip`.** The
|
||||
checker runs on Dankclaw, so its reach is: that host's own loopback, its own
|
||||
|
||||
Reference in new issue
Block a user