Skip to content

feat: enable streaming by default in CLI#2340

Merged
teknium1 merged 2 commits intomainfrom
feat/streaming-default
Mar 21, 2026
Merged

feat: enable streaming by default in CLI#2340
teknium1 merged 2 commits intomainfrom
feat/streaming-default

Conversation

@teknium1
Copy link
Copy Markdown
Contributor

Streaming provides a better UX — tokens appear as they arrive instead of waiting for the full response.

  • display.streaming: falsetrue in load_cli_config() defaults
  • cli-config.yaml.example: updated to match
  • show_reasoning remains false — thinking blocks are not streamed
Based on PR #1749 by @erosika (reimplemented on current main).

Extracts three protected methods from run() so wrapper CLIs can extend
the TUI without overriding the entire method:

- _get_extra_tui_widgets(): inject widgets between spacer and status bar
- _register_extra_tui_keybindings(kb, input_area): add keybindings
- _build_tui_layout_children(**widgets): full control over ordering

Default implementations reproduce existing layout exactly. The inline
HSplit in run() now delegates to _build_tui_layout_children().

5 tests covering defaults, widget insertion position, and keybinding
registration.
Streaming provides a better UX — tokens appear as they arrive instead
of waiting for the full response. show_reasoning remains false so
thinking blocks are not streamed to the user.
@teknium1 teknium1 merged commit cc51ffd into main Mar 21, 2026
2 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant