Dialogue · Console redesign

Console redesign.

The admin console's two config pages — System (a five-job junk drawer) and Models (thin, and mirroring half of System) — regrouped into three single-purpose tabs: Status (read-only health), Models (every model role, in one place), and Settings (everything you change, including the grouped visibility grid). Now shipped — this mirrors the live admin.html. Switch tabs in the rail; the toggles, radios and theme are live.

Console.proposed layout

Status

Server health & config — read-only, nothing to save.

Server
Scheme
https
Python
3.12.4
Prefix cache TTL
1h
Invite codes
3 · manage in Invites
Providers
Anthropic key
present
DeepSeek key
present
Live
Room streams
4
User streams
7
Rooms in memory
12
Parse health since restart
318 turnstool 300text 14salvage 3empty 1json repairs 2heals 0ghosts 0quarantined 0
Storage
Database
app.db · 4.2 MB
Rooms dir
/var/lib/mad/rooms · 18.6 MB

Models

Every place a model runs — grouped by the feature it serves. One hue per vendor.

Chats
Panel the personas' replies · users choose, default pre-selected
Sonnet 4.6Anthropic
DeepSeek V4 ProDeepSeek
reasoning
DeepSeek V4 FlashDeepSeek
reasoning
Panel curator new-chat picker · curates 3 candidate panels · admin
DeepSeek V4 ProDeepSeek
reasoning
DeepSeek V4 FlashDeepSeek
reasoning
Floor producer · opening stages the kickoff · Off = fixed cue · admin
Off
DeepSeek V4 ProDeepSeek
reasoning
DeepSeek V4 FlashDeepSeek
reasoning
Floor producer · mid chat the per-turn director when FP is on · admin
Mechanical deterministic, no LLM · was v0
DeepSeek V4 ProDeepSeek
reasoning
DeepSeek V4 FlashDeepSeek
reasoning
Dispatch @Web Search search & brief · admin
Search engine
Claude web searchAnthropicreads full pages · always Haiku 4.5
Search API + DeepSeek V4 FlashDeepSeeklanguage-routed SERP
Serper EN · $1.00/1k Brave EN backup · $5.00/1k Bocha 中文 · $2.80/1k
EN: Serper→Brave · 中文: Bocha→Serper→Brave
Notes
Seen the insight piece over your chats & notes · admin
writer rank orders the writer suggestions · advisory, fast
DeepSeek V4 ProDeepSeek
reasoning
DeepSeek V4 FlashDeepSeek
reasoning
the writer reads the period, writes the piece in-persona
DeepSeek V4 ProDeepSeek
reasoning
DeepSeek V4 FlashDeepSeek
reasoning
hero image paints the cover · Google Gemini · falls back down the chain
Nano Banana Pro (Gemini 3 Pro Image) 1 of 6

Panel is the only user-facing role — those models fill each user's switcher, the radio sets the default. Every DeepSeek model carries its own reasoning switch. The other roles are admin-only, one model each. Opening's Off retires the opening producer; mid-chat's Mechanical is the deterministic (no-LLM) producer. Claude web search always runs Haiku 4.5.

Settings

Everything you change — defaults, experiments, and who sees what.

Spend caps
Default daily cap
$3.00
Default weekly cap
$15.00
Rooms
Max personas in a room min 1 · max 8 (colour-palette ceiling)
Floor producer — default for new rooms each room can still flip it; which model runs is set in Models
Feedback
Quick check-in survey · every counted per room, per user, since they last rated a turn or took the survey — active raters aren't nagged. 0 = off; per-turn rating still works
turns
Experiments admin only — everyone else gets the default
Inline markdown in chat bubbles
Auto-fire Convene a panel from the landing composer
Fake convene — animations, no LLM call
Show contents in Vibes
Floor producer — limit repeated gestures
Access — who sees what
FeatureAdminTester
Costs
Chat total chat menu
Cache bar chat menu
Cost capsule per turn
Room setting
Panel model switcher new chat
Panel model switcher chat menu
Current model chat-menu readout
Vividness dial new chat → chat menu
Floor producer toggle new chat + chat menu
Floor producer bubbles in chat
Turn stats 3 spk · 157w · max 70 · echo 28% · v1p
Word / 字 length stat cost capsule remove
Feedback module
Rating widget in chat

marks an actual control a user operates (switcher · dial · toggle); the rest are read-only readouts. Unchecked = hidden from that role.

· What changed from the live console
System → 3 tabs
Status takes the read-only diagnostics, Settings takes every writable knob, Models takes all model selection. The old single System page is retired.
read vs write
The old opening card mixed Python / DB size / parse health (look) with the lone Edit caps action (touch). Split: looking lives in Status, changing lives in Settings.
model roles
The floor-producer model arms move off System › Debug into Models, joined by Dispatch and Panel curator — every model the box runs, picked in one place. Opening gains an explicit Off.
cost split
Today's single chat_cost key becomes two visibility rows — Chat total (chat menu) and Cost capsule (per turn) — so they can be shown independently.
turn stats (new)
A new visibility-gated readout (3 spk · 157w · echo 28% · v1p) replaces the per-capsule length number.
word stat removed
The word_stat Word / 字 capsule stat is dropped; its count folds into Turn stats.
parked decision
hero_model (the chat-menu "current model" readout) sits under Room setting — fold it into the switcher row if it's redundant.