A3S Code TUI
A3S Code 9.0.0 ships a3s-code-tui: a full-screen terminal UI rebuilt from
first principles on grok-build UI
building blocks, with A3S business logic and turns on a3s-code-core
9.0.0.
Architecture (Hybrid):
- UI: vendored prompt editor and inline helpers from grok-build
(Apache-2.0; see
tui/NOTICE). - Catalog: A3S slash commands, permission modes, ACL launch layers.
- Agent seam: in-process ACP-shaped
CodeAgentAdapter→ fact-logsession.send.
Use an A3S Code SDK when you embed the runtime elsewhere. The TUI is a terminal client over the same core.
Two terminal surfaces
Run
When stdout is not a terminal, the binary prints the product name and model, then exits.
Configuration
Configuration is A3S ACL. Before every turn the TUI merges:
--explicit-configalone when set; otherwise<home>/.a3s/config.acl, then nearest workspace.a3s/config.acl;- Non-empty
A3S_DEFAULT_MODELreplacesdefault_model.
Providers merge by name. The TUI does not read XAI_API_KEY for model
selection. See Providers.
Keys and permission mode
Permission mode is shown in the header and applied on the next session
rebuild (/plan, /ask, /auto, /yolo set it directly).
Slash commands
The menu lists the A3S coding catalog (ported from the CLI TUI). Wired today:
Other catalog entries are forwarded to the core session slash dispatcher
(same path as a typed /compact … prompt). Empty / browse hides advanced
aliases (see SLASH_BROWSE_HIDDEN in source).
How a prompt runs
CodeAgentAdapteropens from merged ACL layers.- Lazy
AgentSession(tui-session) with the current permission → planning / auto-delegation flags. session.send(prompt, None)appends a fact-loguser.messageand runs the coding loop.- Final text (or error) is appended to scrollback.
Sessions share <workspace>/.a3s/effect-log/tui-session.jsonl. /clear only
clears the UI scrollback.
Related
- Crate docs:
tui/docs/ARCHITECTURE.md - Sessions · Commands · Architecture