Octa chat — exact editable surface
Verbatim copy of the Odysseus chat CSS (real .msg/.role/.body classes + rendered markdown), n2-preset vars resolved. Tuning here maps 1:1 to odysseus/static/style.css.
01
Message bubbles & roles
→ .msg.msg-user / .msg.msg-ai / .role / .bodyIsiah
How do I switch the default chat model to something lighter?
Octa
Set the default to gpt-5.4-mini — fast and low-token while staying tool-capable. There's no gpt-5.5-mini.
02
Markdown body — kitchen sink
→ .msg .body h1-h6, strong, em, code, pre, blockquote, ul/ol, a, tableOcta
Heading 1
Heading 2
Heading 3
Heading 4
Body with bold, italic, strikethrough, an inline link, and inline code.
async function chat(msg) {
const res = await fetch('/api/chat', {
method: 'POST', body: JSON.stringify({ msg })
});
return res.json(); // → { response }
}A blockquote — for cited or set-apart text.
- Unordered item one
- Unordered item two
- Ordered item one
- Ordered item two
| Model | Speed | Cost |
|---|---|---|
| gpt-5.4-mini | fast | low |
| gpt-5.5 | slow | high |
03
Thinking block
→ .thinking-sectionOcta
Thinking
gpt-5.4-mini fits: fast, low token cost, still tool-capable. Confirm it's on the endpoint first.
04
Agent block
→ .agent-thread / .agent-thread-cmd / .agent-thread-nodeOcta
05
Chat input bar
→ .chat-input-area / .chat-controls-row / .chat-input-formMessage Octa…
06
Welcome screen
→ .welcome-name / .welcome-subOcta
Get more out of real life.