fh TUI
The TUI is ready to use. Keys and layouts may still change before 1.0.
fh tui [--cluster ID] [--context NAME]
A full-screen live view of the current context's deployment, fed by the same
WebSocket as the web UI. It authenticates the way the CLI does: the
fh auth login token, or the configured username and password.
The web UI remains the flagship and the TUI will not carry every feature. It covers what you reach for from a terminal: cluster health, lag, connector state, a quick look at data. Tell us what else you would use.
The TUI needs Kpow 96.5 or later with the API enabled; see Requirements.
Views
1-9 jumps to the first nine, ⇧← / ⇧→ steps through all of them, and
:<name> opens any by name (:flink).
| # | View | Shows |
|---|---|---|
| 1 | Overview | Cluster health, throughput, signals summary |
| 2 | Signals | Health signals and open issues |
| 3 | Inspect | Data inspector: sample a topic |
| 4 | Topics | Topics by size and write rate, config, reassignment, ACLs |
| 5 | Groups | Consumer groups, lag, members, offset reset |
| 6 | Streams | Kafka Streams applications and topologies |
| 7 | Schema | Registries, subjects, versions |
| 8 | Brokers | Per-broker load, disk, config, KRaft quorum, ACLs |
| 9 | Connect | Connect clusters, connectors, tasks |
| 10 | Flink | Flink clusters, jobs, job topologies |
Keys
? lists the keys for the view you are on. The footer shows only ?, /,
: and q.
| Key | Action |
|---|---|
enter | Open the selected row |
esc | Back |
[ / ] | Previous / next tab within a view |
< / > | Sort by the previous / next column |
I | Invert the sort |
p | Pin the selected topic or group; other views narrow to it |
P | Clear the pin |
i | Inspect data for the selected topic |
/ | Filter the list |
: | Command line |
? | Keys for this view |
q | Quit |
Lists take the arrow keys, j / k, g / G, PgUp / PgDn and
⇧↑ / ⇧↓ for half a page. Lists start sorted by their first column; the
panel title shows any other sort, for example Topics [82] by size ▼.
The pinned row starts with ●, and the header shows it as
Focus: topic orders on every view.
On Topics:
| Key | Action |
|---|---|
n | New topic: name, partitions, replication factor |
+ | Add partitions to the selected topic |
ctrl+d | Delete the selected topic; type its name to confirm |
If Kpow stages the change for approval, the footer says so and nothing changes until an approver accepts it in Kpow.
On Inspect, tab moves between the query form and the results, ← / →
scroll the result columns, [ / ] switch between result sets, c fetches
the next page and x stops the stream.
On Groups, enter shows members and assignments. On the Assignments tab, o
or a opens the offset-reset editor; nothing changes until you confirm.
Sessions
The TUI signs in with the token from fh auth login. When the access token
expires, the TUI refreshes it and reconnects within a few seconds. If the
refresh fails, the header shows SESSION EXPIRED; run fh auth login and
restart fh tui.
Commands
| Command | Action |
|---|---|
:ctx [name] | Switch context (deployment) for this session; pick from a list or name one |
:t | Switch tenant |
:c | Switch cluster |
:theme [name] | Pick a colour theme or set one directly |
:<view> | Open a view by name |
:q | Quit |
Themes: fh-dark (default), fh-light, catppuccin-latte, catppuccin-frappe,
catppuccin-macchiato, catppuccin-mocha. The choice is saved to the config
file; :ctx is not.
Debugging
fh tui --debug
Adds two views, 11 Snapshots (the snapshot domains the client holds and their
update counts) and 12 WS Log (the last WebSocket events), and writes a
session log to ~/.fh/logs/tui-<timestamp>.log: every WebSocket event, every
REST request with status and duration, and reconnect and refusal notices. The
path is printed on exit. FH_WS_LOG=/path/to/file chooses the file instead,
with or without --debug. Attach the log when reporting a problem.