From f148ecab4a18f2a010f04122f5beedd7b82ceb49 Mon Sep 17 00:00:00 2001
From: Frank
Date: Thu, 8 Oct 2026 04:00:26 -0700
Subject: [PATCH] homepage: HF source links per model; docs reorder (AI last),
arr stack out of family docs
---
.../Infrastructure/Homepage.md | 12 ++++
shared/homepage/app.js | 5 +-
shared/homepage/docs.html | 66 +++++++++----------
shared/homepage/services.json | 3 +
shared/homepage/style.css | 4 +-
5 files changed, 55 insertions(+), 35 deletions(-)
diff --git a/serverAppConfigs-docs/Infrastructure/Homepage.md b/serverAppConfigs-docs/Infrastructure/Homepage.md
index 5019515..9aef073 100644
--- a/serverAppConfigs-docs/Infrastructure/Homepage.md
+++ b/serverAppConfigs-docs/Infrastructure/Homepage.md
@@ -152,6 +152,18 @@ effect layer is stripped under `data-bare="1"` (the e2e bare page).
Unit: `tests/homepage_config.bats` (referenced art files exist, model
blocks well-formed, deployer ships the `img/` tree).
+**Docs reorder + model source links (2026-10-08, fifth wave):** the docs
+page section order is now getting-in → troubleshooting → media → chat →
+models → api-access (non-AI first, AI last). The *arr stack (Prowlarr,
+Sonarr, Radarr, Lidarr, Readarr, qBittorrent) is out of the family docs
+entirely — admin tooling; Seerr is presented as the front door for
+requests. Each fleet model gained a Hugging Face source link: card field
+`model.hf` rendered as the cyan `model on huggingface ↗` line under the
+role, and the docs `Model:` bullets link the checkpoint names (zealot →
+HauhauCS/Qwen3.5-9B-Uncensored-HauhauCS-Aggressive, dragoon →
+Quat3rnion/halogen-swift1.5-qwen3.8-flash-next-v2-abliterated, archon →
+Qwen/Qwen3.8-Flash-Next-FP8).
+
## Design decision — 2026-08-22
The live up/down check runs server-side. A checker on Dankclaw probes each backend and writes a same-origin `status.json`. The page fetches only that file and renders the badges. The browser never calls a backend directly. The checker runs as a systemd timer every 3 minutes.
diff --git a/shared/homepage/app.js b/shared/homepage/app.js
index 34d8ce8..d14c639 100644
--- a/shared/homepage/app.js
+++ b/shared/homepage/app.js
@@ -83,7 +83,10 @@ function miCard(svc, state) {
'
' +
'' + BADGE_LABEL[state] + '' +
'' + esc(svc.name) + '
' +
- '
' + esc(m.role) + '
',
+ '' + esc(m.role) + '
' +
+ (m.hf ? 'model on huggingface ↗' : '') +
+ '',
voiceBtn(m.tagline, m.sfx)
];
if (m.equiv) parts.push('' + esc(m.equiv) + '
');
diff --git a/shared/homepage/docs.html b/shared/homepage/docs.html
index 5640e2c..e1cd648 100644
--- a/shared/homepage/docs.html
+++ b/shared/homepage/docs.html
@@ -32,6 +32,36 @@
+
+ When something looks broken
+
+ - A status card says DOWN. Reload the page once; the checker
+ re-probes every few minutes. If it stays down, that service really is unhappy — tell Frank.
+ - "status unavailable" on the homepage. The page couldn't read
+ its status file. Hard-reload (Ctrl/Cmd-Shift-R).
+ - Connection timeout on a home device. Nine times out of ten
+ the device isn't using the house DNS (Pi-hole at 192.168.0.143) and resolved
+ our names to the public address, which doesn't answer. Point the device's DNS at
+ 192.168.0.143 and retry.
+ - The bot-check spins forever. Let it finish; heavy JS blocking
+ (privacy extensions) can starve it. Pause the blocker, reload, resume.
+
+
+
+
+
Talking to the AI
The everyday front door is Open WebUI,
@@ -61,7 +91,7 @@
frank-zealot — the fast utility model (api id: frank-secondary)
- - Model: Qwen3.5-9B-Uncensored (Q6_K) on the RTX 3090 — roughly 95 tokens per second.
+ - Model: Qwen3.5-9B-Uncensored (Q6_K) on the RTX 3090 — roughly 95 tokens per second.
- Equivalent: last year's frontier level (2025).
- Capacity: 200k-token context, two submissions at a time; sees images.
- Inputs: text, image.
@@ -73,7 +103,7 @@
frank-dragoon — deep reasoning (api id: frank-large)
- - Model: Qwen3.8-Flash-Next v2 Swift1.5 abliterated (halogen flash-server, ~62 GiB) on the Strix Halo iGPU — an abliterated (censorship-removed) edition that thinks before answering.
+ - Model: Qwen3.8-Flash-Next v2 Swift1.5 abliterated (halogen flash-server, ~62 GiB) on the Strix Halo iGPU — an abliterated (censorship-removed) edition that thinks before answering.
- Equivalent: Claude Sonnet 5 / OpenAI-Luna (Summer 2026 frontier intelligence).
- Capacity: 200k-token context, two submissions at a time; sees images.
- Inputs: text, image.
@@ -83,7 +113,7 @@
frank-archon — the big one (api id: frank-primary)
- - Model: Qwen3.8-Flash-Next at native FP8 precision (radiance, 173 GiB) on twin AMD R9700s with more than 200 GB of system RAM — the biggest brain on the network and the fastest runtime.
+ - Model: Qwen3.8-Flash-Next at native FP8 precision (radiance, 173 GiB) on twin AMD R9700s with more than 200 GB of system RAM — the biggest brain on the network and the fastest runtime.
- Equivalent: Claude Opus 4.8 / OpenAI-Terra (Summer 2026 frontier intelligence).
- Capacity: 200k-token context, two submissions at a time; sees images.
- Inputs: text, image.
@@ -174,36 +204,6 @@
Want a bigger model (frank-archon, frank-dragoon)? Ask Frank to raise your access.
-
-
-
- When something looks broken
-
- - A status card says DOWN. Reload the page once; the checker
- re-probes every few minutes. If it stays down, that service really is unhappy — tell Frank.
- - "status unavailable" on the homepage. The page couldn't read
- its status file. Hard-reload (Ctrl/Cmd-Shift-R).
- - Connection timeout on a home device. Nine times out of ten
- the device isn't using the house DNS (Pi-hole at 192.168.0.143) and resolved
- our names to the public address, which doesn't answer. Point the device's DNS at
- 192.168.0.143 and retry.
- - The bot-check spins forever. Let it finish; heavy JS blocking
- (privacy extensions) can starve it. Pause the blocker, reload, resume.
-
-
-