Configuring and customising¶
Configuration file¶
Put options in ./gentui.toml or ~/.config/gentui/config.toml. Flags, GENTUI_URL and GENTUI_TOKEN
override the file. Every option is documented in gentui.example.toml: backend URL, token
and headers, props sent with every run, title, welcome text, theme, splash and logo, reasoning on/off, timestamps,
plugins and widget mapping.
Stateless backends (ones that rebuild context from the message list, like the official
ag-ui-strandsadapter) needsend_history = true. By default only the newest message is sent and the backend is expected to keep history perthreadId.
Command line¶
gentui https://my.host/agent --token sk-... # bearer auth
gentui URL -H "X-Org: acme" --theme nord --dev # extra header, theme, event inspector
Themes¶
theme = "nord" in the config, or /theme <name> while running. The default is gentui (teal and violet);
claude (coral) is also built in.
Your own styling¶
css = "my.tcss" loads a Textual CSS file on top of the defaults and
hot-reloads while the app runs. Useful selectors: .user, .assistant, .thinking, .error, ToolWidget,
#chat, #prompt.
Your own widget for a backend tool¶
Subclass ToolWidget, then map it without any plugin file:
[widgets]
show_map = "my_widgets:MapWidget"
For widgets, commands and event hooks together, write a plugin.