hailin
|
dfc541b571
|
feat: add Markdown rendering and phone-call voice entry to chat UI
Chat message rendering:
- MessageBubble: replace plain SelectableText with MarkdownBody for
assistant messages, with full dark-theme stylesheet (headers, code
blocks, tables, blockquotes, list bullets)
- StreamTextWidget: render completed messages as MarkdownBody, keep
plain-text + blinking cursor for actively streaming messages
Voice interaction redesign:
- Remove all long-press-to-record code (~100 lines): AudioRecorder,
SpeechEnhancer, mic pulse animation, voice indicator bar,
SingleTickerProviderStateMixin
- Add phone-call button in AppBar (Icons.call) that navigates to the
existing AgentCallPage for full-duplex voice conversation
- Add prominent "语音通话" entry button on empty chat state
- AgentCallPage was already fully implemented (ringing → connecting →
active → ended, dual-direction WebSocket audio, GTCRN denoise,
Kokoro TTS playback, waveform visualization) but previously unused
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-23 07:31:40 -08:00 |
hailin
|
00f8801d51
|
Initial commit: IT0 AI-powered server cluster operations platform
Full-stack monorepo with DDD + Clean Architecture:
- Backend: 7 NestJS microservices + 5 shared libraries (TypeScript)
- Mobile: Flutter app with Riverpod (Dart)
- Web Admin: Next.js dashboard with Zustand + React Query
- Voice: Python voice service (STT/TTS/VAD)
- Infra: Docker Compose, K8s manifests, Turborepo build
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-08 22:54:37 -08:00 |