Everything there is to test on this site, in one place: the chatbots, the labs and their switches, the fixture pages, the pretend servers and the commands. The lists below are built when the page loads, so a chatbot that changes or a page that disappears shows here.
The chatbots
One per provider, each on a different theme. Read from the site as you load this page. The theme opens its popup in the Background Lab.
| ID | Name | Model | Theme |
|---|---|---|---|
default | Default | gpt-6-astra | Glass |
fable | Claude | claude-fable-5 | ChatGPT |
gemini | Gemini | gemini-3.8-flash | Messages |
chatbot-or | OpenRouter | openai/gpt-4.1-mini | Foundation |
OVH | OVH | gpt-oss-20b | Timeless |
Background Lab
Where the chatbot themes get judged by eye.
- Background Lab five themes side by side, on the backgrounds real sites use
- No greeting the empty state with its hint
- Standard window add &bglab_container=standard to any popup
- Full screen popup &bglab_fullscreen=1
- Launcher with its teaser &bglab_teaser=1
- Glass popup macOS window
- ChatGPT popup
- Timeless popup
- Messages popup
- Foundation popup
Design proposals
The Background Lab with one proposal applied on top. Compare with the plain lab in another tab.
- messages-tail-1 a proposal, not applied
- messages-tail-3 a proposal, not applied
- timeless-quiet-timer a proposal, not applied
Chatbot pages
- Idea Lab one chatbot per theme plus a second popup; the capture scripts seed it
- Chatbot Block the chatbot as a Gutenberg block
- Discussions Lab every theme with its discussions list, seeded; POST /wp-json/mwai-test/v1/seed-discussions renews the dates
- Chatbot with Discussions one pair by plain ID, your real discussions once logged in
Uploads and AI Forms
- Multi upload multi_upload with max_uploads 5
- Multi upload, stacked several uploaders on one page
- AI Forms the general forms fixture
- AI Form prefill prefilled fields
Block patterns
Admin (needs a login)
- Chatbots, as tabs
- Chatbots, as a dropdown for this page load only, nothing is saved
- Discussions
- Knowledge
- Content Generator templates: Save, Save as new, Delete
- Images Generator
- Playground
Pretend servers and fixtures
Canned answers, nothing leaves the site, nothing is stored.
- Custom environment models what an OpenAI-compatible server would be tagged with
- Ollama add-on models recent servers say their capabilities, old ones do not
- Ollama, with a site filter a forced name still wins
- Draft 615, a pretend page builder page (its text only exists once the_content has run) and draft 616, a page made of one shortcode. Add
?mwai_test_resolve=1or0to a request to see Resolve Shortcodes on or off without saving it.
From the terminal
Run from the plugin folder. The smoke gate spends real API credit, the rest is free.
# Smoke gate: every provider, functions, images, PDF, RAG, MCP. About two minutes. cd labs/tests node test-smoke.js # One environment (id, name or type), what it would test, or remove what a killed run left. node test-smoke.js openrouter node test-smoke.js list node test-smoke.js clean # Every chatbot theme on the ten WordPress themes real sites use. Ends on Twenty Twenty-Five. zsh notes/chatbot-ideas/tools/host-sweep/sweep.sh # Five themes in eleven states, one sheet per state, in $OUT. OUT=/tmp/battery zsh notes/perfection/tools/battery.sh # One framed shot, or the popup on a phone. zsh notes/theme-polish/tools/shoot.sh glass rich out.png VW=390 VH=780 zsh notes/theme-polish/tools/phone.sh messages out.png