Skip to content

feat: real-time tool call display and faster streaming - #35

Open
twpark wants to merge 1 commit into
kstost:mainfrom
twpark:feature/streaming-ux
Open

feat: real-time tool call display and faster streaming#35
twpark wants to merge 1 commit into
kstost:mainfrom
twpark:feature/streaming-ux

Conversation

@twpark

@twpark twpark commented Apr 20, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Show tool name + elapsed time instead of spinner during AI processing (e.g. ⚙️ Bash... 8s)
  • Add shared_rate_limit_wait_ms() for custom rate limit gaps
  • Use 500ms rate limit during streaming (down from 2500ms)
  • Use 500ms polling interval during streaming
  • Reduce initial placeholder delay from 2500ms to 500ms

Motivation

When AI executes multiple tool calls, the Telegram chat shows only a generic "Processing..." spinner for minutes. Users can't tell if the bot is working or stuck. Terminal logs show tool activity but Telegram doesn't.

With this change, tool calls are visible in real-time with elapsed time, and text responses stream faster.

Test plan

  • cargo check passes
  • Send a message that triggers multiple tool calls — verify tool names + elapsed time appear
  • Verify text responses stream incrementally, not in one batch
  • Verify no Telegram flood control issues with 500ms rate limit

Closes #33

- Show tool name + elapsed time instead of spinner during AI processing
  (e.g. "⚙️ Bash... 8s" instead of "🕘 Processing...")
- Add shared_rate_limit_wait_ms() for custom rate limit gaps
- Use 500ms rate limit during streaming (down from 2500ms default)
- Use 500ms polling interval during streaming for responsive updates
- Reduce initial placeholder delay from 2500ms to 500ms

Closes kstost#33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature Request] AI 처리 중 tool call / reasoning 실시간 표시

1 participant