@deepseek-ai/dsh-cli-ui
August 14, 2026 · View on GitHub
English | 中文
The dsh interactive terminal renderer. An ink application over the REPL view store: a scroll region, a bottom input bar, tool cards, a status bar, and the terminal-side approval / user-question providers. It owns the terminal view contract (CliViewItem / CliViewState) so the driver in @deepseek-ai/dsh-cli depends on the renderer's contract, not the reverse.
The renderer is a pure projection of the view store to terminal frames: the driver writes session/event folds into the store and the ink tree subscribes with useSyncExternalStore. The renderer itself holds no agent or session handles; it renders whatever the store exposes and forwards input lines to the driver.
Model Experience
None, as the renderer never reaches the model; it renders the view store and answers approvals through the interaction seams.
KV Cache effect
None.
Known Limitations and Deferred Work
- Terminal-only — the TUI needs a terminal; use
dsh cli --no-interactivefor plain output in CI. - Ink requires a tty for raw mode — non-tty stdout falls back to the driver's plain io.