feat: SSML emotional TTS, agent avatars, AgentChat UX overhaul, virtual company enhancements

- SSML TTS with emotional styles (_build_ssml, mstts:express-as) and natural pauses
- Agent avatar support: DB migration, API, frontend emoji/URL rendering
- AgentChat UX: highlight.js code blocks, copy buttons, streaming cursor, char count,
  auto-title, keyboard shortcuts, message feedback (thumbs), undo delete, mobile responsive
- Virtual company: M2 control, tier-3/4 capabilities, per-dept session fix, deliverable
  validator, insight analyzer enhancements
- New services: agent_profiler, deliverable_validator, redis_task_registry
- Android: auth refactor, launcher icons, network security config, update manager
- Frontend: useSpeechQueue composable, Agents/AgentConfig/AgentTest enhancements
- Various backend fixes and expanded test coverage

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-08-01 23:22:38 +08:00
parent 888d6f69cf
commit 1693292bbd
82 changed files with 5677 additions and 681 deletions

View File

@@ -0,0 +1,24 @@
"""add agent avatar column
Revision ID: 028_add_agent_avatar
Revises: d684c9b30c1c
Create Date: 2026-07-31
"""
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = '028_add_agent_avatar'
down_revision = 'd684c9b30c1c'
branch_labels = None
depends_on = None
def upgrade() -> None:
op.add_column('agents', sa.Column('avatar', sa.Text, nullable=True, comment='头像(emoji 或图片URL)'))
def downgrade() -> None:
op.drop_column('agents', 'avatar')