8 Commits

Author SHA1 Message Date
393e26e8de fix: 允许服务端为缺失 sessionId 自动生成会话ID 2026-03-06 07:02:08 +08:00
7cf48246f2 refactor: 重构后端会话状态机并接入 MessagePack 音频解包 2026-03-06 06:54:07 +08:00
96d685fdf2 feat: 添加豆包 ASR 热词功能支持
- 在 config.yaml 中添加 hotwords 配置项,支持本地管理热词列表
- 实现热词解析、格式化和表名生成工具(internal/asr/hotwords.go)
- 在 ASR 连接建立时自动将热词发送给豆包(boosting_table_name 参数)
- 支持热词权重配置(1-10,默认 4),格式:"词|权重" 或 "词"
- 支持配置热重载,修改热词后新连接自动生效
- 为未来动态热词功能预留扩展接口

热词格式示例:
  hotwords:
    - 张三|8
    - VoicePaste|10
    - 人工智能|6
2026-03-02 00:55:37 +08:00
b87fead2fd refactor: 优化代码质量,遵循 KISS 原则
- 移除自签证书回退逻辑,简化为仅使用 AnyIP 证书
- 删除 internal/tls/generate.go(不再需要)
- 重构 main.go:提取初始化逻辑,main() 从 156 行降至 13 行
- 重构 internal/ws/handler.go:提取消息处理,handleConn() 从 131 行降至 25 行
- 重构 internal/config/load.go:使用 map 驱动消除重复代码
- 优化前端 startRecording():使用标准 AbortController API
- 优化前端 showToast():预定义 DOM 元素,代码减少 50%

代码行数减少 90 行,复杂度显著降低,所有构建通过
2026-03-02 00:25:14 +08:00
8c7b9b45fd feat: 启用豆包二遍识别模式以提升实时性和准确率
- 切换到 bigmodel_async endpoint 并启用 enable_nonstream
- 第一遍流式识别提供实时文字预览
- VAD 分句后自动触发第二遍非流式识别提升准确率
- 修改文本处理逻辑从累加改为替换(适配 full 模式)
- 统一配置字段命名:app_key → app_id, access_key → access_token
2026-03-01 21:34:54 +08:00
e4b5841c93 fix: 修复历史记录不保存的问题(final 消息类型被错误覆盖为 partial) 2026-03-01 06:43:59 +08:00
bfaa792760 fix: 修复语音停顿导致提前粘贴的问题(累积文本,松开按钮才粘贴) 2026-03-01 06:34:55 +08:00
39e56e5acc feat: add WebSocket handler with token auth and session management 2026-03-01 03:03:34 +08:00