feat: живой ответ агента (стриминг) + вкладка «Чат» на телефоне #111

Merged
Eleboba merged 1 commits from feat/chat-streaming into dev 2026-10-05 12:55:15 +03:00
Owner

Что меняется

  • Живой ответ агента: SSE-эндпоинт /dialog/{token}/events/stream отдаёт шаги агента («Смотрю вашу карту ЕМИАС…», «Ищу в клинических рекомендациях…»), текст ответа по мере генерации и финальный ответ. В вебе — живой пузырь с шагами и печатающимся текстом; если поток оборвался, отправляется обычный запрос.
  • Мобильная версия: в нижней панели появилась вкладка «Чат».

🤖 Generated with Claude Code

## Что меняется - Живой ответ агента: SSE-эндпоинт `/dialog/{token}/events/stream` отдаёт шаги агента («Смотрю вашу карту ЕМИАС…», «Ищу в клинических рекомендациях…»), текст ответа по мере генерации и финальный ответ. В вебе — живой пузырь с шагами и печатающимся текстом; если поток оборвался, отправляется обычный запрос. - Мобильная версия: в нижней панели появилась вкладка «Чат». 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Eleboba added 1 commit 2026-10-05 12:52:23 +03:00
feat: live agent answers (SSE streaming) + «Чат» tab on phones
CI / ruff · pytest (pull_request) Successful in 2m43s
d1f92407f9
- POST /dialog/{token}/events/stream: Server-Sent Events with the agent's steps («Смотрю вашу карту ЕМИАС…»,
  «Ищу в клинических рекомендациях…»), the answer as the model writes it (OpenRouter stream=true), then the
  final replies (same as /events, incl. the forbidden-output filter and sources). X-Accel-Buffering: no.
- Web: free-text messages use the stream — a live bubble with steps, typing dots and a cursor; falls back to
  the plain request if the stream breaks.
- Phones: the bottom tab bar gets «Чат» (it had no way back to the chat).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Eleboba merged commit b945c839b8 into dev 2026-10-05 12:55:15 +03:00
Eleboba deleted branch feat/chat-streaming 2026-10-05 12:55:16 +03:00
Sign in to join this conversation.