diff --git a/shared/homepage/app.js b/shared/homepage/app.js index 90dca98..8ea1246 100644 --- a/shared/homepage/app.js +++ b/shared/homepage/app.js @@ -10,7 +10,7 @@ const CATEGORY = window.location.pathname.indexOf('/admin') !== -1 ? 'admin' : ' // same renderSection()/renderPanel() below. SECTION_ORDER fixes each page's // section order; a section with no services renders nothing. const SECTION_ORDER = { - user: ['AI', 'Web Apps', 'Media Library Apps'], + user: ['Web Apps', 'Media Library Apps', 'AI'], admin: ['Media Library Apps', 'Observability', 'AI', 'Infrastructure'], }; diff --git a/shared/homepage/docs.html b/shared/homepage/docs.html index 812b0fa..93ad59e 100644 --- a/shared/homepage/docs.html +++ b/shared/homepage/docs.html @@ -42,32 +42,29 @@

The running models

-

Three models serve the family, each on its own hardware. The homepage status - cards above show whether each one is up right now.

+

Three models serve the family. The homepage status cards show whether + each one is up right now.

frank-large — the big brain

frank-small — the eyes

frank-medium — the 27B generalist

Which one to pick? Screenshots and photos: frank-small. diff --git a/shared/homepage/services.json b/shared/homepage/services.json index e08941e..ee410f6 100644 --- a/shared/homepage/services.json +++ b/shared/homepage/services.json @@ -255,7 +255,7 @@ "name": "frank-large", "category": "user", "section": "AI", - "description": "The big brain. Qwen3.8-Flash-Next UD-IQ4_XS on unsloth llama.cpp, running on Dankclaw's Strix Halo iGPU. Text-only; one conversation resident at a time.", + "description": "Qwen3.8-Flash-Next (UD-IQ4_XS, 87.3 GiB) — 200k-token context, one conversation at a time. The big brain: long, thoughtful text conversations. Text only; it cannot see images.", "url": "", "docs": "/docs#models", "probe": "127.0.0.1:7770", @@ -267,7 +267,7 @@ "name": "frank-medium", "category": "user", "section": "AI", - "description": "The 27B generalist. Qwen3.8-27B-Uncensored at FP8 on vllm-radiance, one tensor-parallel process across Dankserver's two R9700s with a DFlash2 drafter; 262k-token context shared by up to eight conversations.", + "description": "Qwen3.8-27B-Uncensored (FP8, ~31 GiB) — 262k-token context shared by up to eight conversations. The generalist: chat and reasoning, and it sees images.", "url": "", "docs": "/docs#models", "probe": "192.168.0.235:7770", @@ -279,7 +279,7 @@ "name": "frank-small", "category": "user", "section": "AI", - "description": "The vision path. HauhauCS Gemma4-12B QAT (Balanced, Q4_K_M) with MTP + ngram spec-decode on Dankclaw's RTX 3090. Sees images; 1M-token pool across four conversations.", + "description": "Gemma4-12B QAT (Q4_K_M, 7.4 GiB) — 1M-token pool across four 262k-token conversations. The eyes: screenshots, photos, diagrams; the fastest of the three.", "url": "", "docs": "/docs#models", "probe": "127.0.0.1:7771", diff --git a/tests/homepage_pages.bats b/tests/homepage_pages.bats index 3cd0c80..41b7f73 100644 --- a/tests/homepage_pages.bats +++ b/tests/homepage_pages.bats @@ -41,6 +41,10 @@ setup() { grep -q "repeat(auto-fill" "$BASE/style.css" } +@test "the user page keeps the AI section at the bottom" { + grep -q "user: \['Web Apps', 'Media Library Apps', 'AI'\]" "$BASE/app.js" +} + @test "WIP badges distinguish open from closed work" { grep -q "WIP: OPEN" "$BASE/app.js" grep -q "WIP: CLOSED" "$BASE/app.js"