feat(mecatui): surface live LLM stream progress
@jbeda is already working on this.
Since Aug 28, 2026.
- Dominant language
- Go
- Stars
- 152
- Forks
- 16
- Avg merge
- 14h 48m
- Merged PRs (30d)
- 536
Description
Problem
During a long LLM call, mecatui can appear stalled even while the server is receiving meaningful stream output. The LLM idle watchdog is reset by adapter-level chunks, but the UI should make that progress visible rather than leaving users with only an indeterminate wait.
Desired behaviour
While a turn is in progress, render observable progress for every meaningful provider chunk that reaches the client:
- streamed assistant text/tokens;
- reasoning/thinking updates; and
- tool-call progress, including the completed tool call when it becomes available.
The presentation should update incrementally without duplicating final transcript/tool-card content, preserve scrollback usability, and work for both embedded mecatui and mecatui connect sessions.
Acceptance criteria
- A streamed text chunk produces visible incremental assistant progress before turn completion.
- A reasoning/thinking chunk produces visible progress while reasoning is streaming.
- Tool-call progress is visibly represented when the server emits it, without duplicating the final tool card.
- Progress is cleared, finalized, or folded into the normal transcript at terminal turn completion; it must not leave stale in-progress UI behind.
- Add focused UI/client tests covering text, reasoning, tool-call, and terminal cleanup behavior.
Context
The server-side idle watchdog resets when provider adapters yield port.Chunks, not on SSE keepalives. Text and reasoning deltas yield chunks; raw lifecycle events, keepalives, and partial tool-argument fragments may not. Showing the chunks that do arrive gives users evidence of active model progress during long calls.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.