Commit Graph

29 Commits

Author SHA1 Message Date
9596c52ea2 修复toekn权限和语音聊天功能 2026-06-11 15:05:12 +08:00
ec876e1362 修复扣费失败无条件终止语音会话:仅余额不足时才终止
原逻辑 if True: 导致数据库瞬时错误也终止整个语音事件循环,
AI 回复被中途截断。改为仅当 reason == insufficient_tokens 时
才终止,其他扣费错误(如 DB 超时)不中断会话。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-10 15:42:31 +08:00
dc5648fbb8 修复 admin 分类 token 查询的 label 运算符优先级
.label("tokens") 只绑到了 sum(output) 而非 input+output 整体,
导致后台显示的分类 token 值偏低。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-09 21:01:04 +08:00
b8769d8d54 修复 token 统计不一致:统一扣费来源并支持分类查询
- chat_service: 文字聊天 ChatLog 改用独立会话保存,避免路由会话
  生命周期干扰导致记录丢失
- token_service: 分类查询改用 mode 字段精确匹配替代 conversation_id
  模糊匹配;总消耗直接读钱包数据与后台管理一致
- admin_router: 用户列表和详情新增文字/语音/通话分类 token 消耗

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-09 20:44:53 +08:00
ab618f2e4b 修复语音/通话只保存最后一轮对话:改为逐轮创建 ChatLog 记录
原来 _append_voice_log_chunk 对同一个 conversation_id 只维护一条 ChatLog,
多轮对话的 user_msg 和 ai_msg 被反复覆盖,最终只剩最后一轮。

修改为:
- 每次新用户消息(asr_result)都创建新的 ChatLog 记录,ID 存入 session_state
- AI 回复(chat_response)通过 current_log_id 找到当前轮次的记录并更新
- 会话结束时 _persist_voice_session_history 也通过 current_log_id 更新最后一轮

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-07 15:16:31 +08:00
a649712fdb 修复语音/通话聊天记录无法显示在历史面板的问题
根因:chatStore 的 currentBackgroundId 从 localStorage('selectedBackground') 读取,
但前端从未写入该 key,导致语音/通话会话的 bg_id 始终为默认值 1,
与历史面板查询的实际 backgroundId 不匹配。

修复:
- ChatView 新增 cacheSelectedBackground(),在初始化和加载背景时同步到 localStorage
- chatStore voice/call 初始化函数支持 config.background_id 显式覆盖
- ChatView 中 callConfig 补充 background_id 字段
- 后端 _persist_voice_session_history 异常日志升级为 error + traceback

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-07 14:30:04 +08:00
f8e70e3fd5 修复token余额不足时仍能继续使用功能的问题
根因:后端扣费用的是 fallback_amount=200(最低消费),用户剩14个token
时 14<200 导致扣费失败,但原有逻辑只在 remaining<=0 时才终止会话和
通知前端,remaining=14>0 时扣费失败被静默忽略。

修复:
- 后端 voice_chat_router.py:扣费失败时(charge 返回 success=false)
  始终终止事件循环并发送 error 事件,不再只判断 remaining<=0
- 后端 chat_router.py:文字聊天扣费失败时也发送 error 事件通知前端
- 前端 chatStore.js:token_update 消息带 warning 字段时(扣费失败),
  标记 _realtimeTokenExhausted=true,断开 WebSocket,阻止继续使用

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-07 14:05:21 +08:00
1d21d8b236 新增 token 余额前置检查,余额不足时阻止使用功能
问题:用户 token 余额为 0 时仍能正常使用文字聊天、语音聊天、实时
通话。根因是前端没有任何前置检查,完全依赖后端"先用后扣"模式,而
后端扣费失败仅记日志不阻断响应。

修复措施:
- 后端新增 GET /user/balance 轻量接口,返回 available_tokens
- 前端 chatStore 新增 fetchUserBalance(),页面初始化时查询余额并
  设置 _tokenExhausted / _realtimeTokenExhausted 标记
- sendTextMessage、toggleCallMode、toggleVoiceInput 入口处增加
  isTokenExhausted() 前置检查
- canSend 计算属性加入 token 检查,余额不足时发送按钮置灰

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-07 11:41:20 +08:00
038a1ee95f 修复toekn权限和语音聊天功能 2026-06-07 10:22:37 +08:00
60931d408c 修复toekn权限和语音聊天功能 2026-05-26 13:12:09 +08:00
41371b8c47 修复token无法统计功能1.0 2026-05-26 09:56:45 +08:00
7924b9744d 修复大部分功能 2026-05-25 15:51:16 +08:00
f915a46558 修复测试一版 2026-05-25 10:48:02 +08:00
21bd6d0a57 修复语音聊天和实时聊天token统计 2026-05-24 15:44:51 +08:00
43f17dcdae 修复一版 2026-05-24 10:39:56 +08:00
5ae69d78a0 后端持久化
已在 backend/api/voice_chat_router.py 里加了语音/实时通话的会话状态收集
现在会在会话结束后,把本轮语音/实时通话内容写入 t_chat_log
这样历史记录接口就能查到语音聊天和实时通话的记录,不只是前端临时缓存
同时保留了 token 统计入口,避免这两种模式只“说了但不落库”
手机端历史弹窗
继续强化了小屏适配,尤其是更窄的手机宽度
日期范围选择器在 480px 以下会:
输入区换行
开始/结束日期更容易看清
面板宽度贴近屏幕
日期格子尺寸更适合窄屏
历史列表和分页也做了更紧凑的处理
2026-05-23 16:21:26 +08:00
62bdcc42c2 主要修复点
文字聊天、语音聊天、实时通话现在都统一走 token 校验
语音聊天/实时通话在开始前会先检查 token,余额为 0 时直接拒绝
语音和实时通话在成功扣费后,会额外写入聊天记录,保证前端“使用统计”能看到消耗
实时/语音的使用统计不再只是扣钱包余额,而是同步落到 ChatLog
修改位置
2026-05-23 15:50:48 +08:00
6fb74ba13f 修复语音聊天BUG 2026-04-15 23:33:02 +08:00
e78e8feea9 视频背景上传增加封面功能 2026-04-15 22:33:30 +08:00
7ab19ef4fa 优化一下视频背景上传功能 2026-04-15 22:04:48 +08:00
2c8aa22548 修复token验证逻辑 2026-04-12 20:26:24 +08:00
4c80143d90 优化后台页面数据展示功能以及登录注册功能 2026-04-12 18:41:43 +08:00
f049822503 修改管理员可以看到的智能体音色模板 2026-04-12 17:55:41 +08:00
4a4553eb48 优化智能体设置,可以实际引用 2026-04-12 17:21:41 +08:00
71479e2ad1 更新用户在线时间设置 2026-04-12 17:08:07 +08:00
adc6b757ce 修复聊天历史BUG 2026-04-12 15:53:44 +08:00
47fc227d59 修复主角回复聊天气泡问题,加入聊天轮数引用机制 2026-04-12 15:46:30 +08:00
dfa3b369df 更新背景权限管理 2026-04-12 14:57:18 +08:00
e07c0046b0 第一次提交 2026-04-12 11:32:37 +08:00