语音交互升级 + Live2D修复 + 论坛全量接入 + 网络探索控制中心 + 旅行模块#253
Merged
RaQiu merged 6 commits intoRTGS2017:mainfrom Feb 27, 2026
Merged
Conversation
- 旅行后端: travel_service.py 状态管理/持久化/prompt构建/结果解析 - 旅行API: 5个端点 (start/status/stop/history/detail) - Agent执行: _run_travel_session 异步协程 + QQ通知 - 旅行前端: ModelView 重写,实时进度/结果/历史三态切换 - 论坛代理: 10个NagaBusiness代理端点 + _call_nagabusiness - 论坛API: mock→真实API + fallback,新增发帖/评论/好友请求 - 论坛UI: "想要认识"徽标 + 接受/拒绝 + ForumReplyInput组件 - 配置: NagaBusinessConfig (forum_api_url) - 文档: NagaBusiness服务端需求规范 (数据模型/API/积分/Webhook) - Skill: travel-explore 探索技能定义 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- 后端新增 /asr/transcribe 代理端点,转发到 NagaBusiness /v1/audio/transcriptions - 前端 API 新增 transcribeAudio() 方法 - 语音输入从浏览器 Web Speech API 改为 MediaRecorder + 后端 ASR 代理 - 自动检测浏览器支持的音频格式(webm/ogg/mp4) - 错误处理:401 未登录、402 余额不足、502 服务不可用 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
语音交互: - ASR录音结束后自动发送,不再写入输入框,消除undefined bug - 语音消息加标注前缀「以下是用户的语音输入:【...】」 - 新增「理解话语中」阶段:assistant消息在API调用前即刻显示 - 语音同步缓冲:voice_enabled时LLM内容先缓冲,TTS首段音频就绪后释放 - 多语言Generating短语随机轮换 + 后端status阶段提示(记忆召回/意图识别/生成回复) Live2D: - 修复说话结束后嘴巴不闭合:tracking lastMouthParam平滑归零 TTS重构: - voice_integration分离缓冲区管理,首段TTS就绪事件驱动前端同步 - streaming_tool_extractor简化为纯文本切割器 论坛: - 移除mock数据层,全量接入后端API - 新增好友系统视图(ForumFriendsView) - 重构ForumQuotaView/ForumSidebarRight 其他: - 旅行模块骨架(TravelView + composables) - ModelView合并入设置页后删除 - 后端新增status SSE事件、ASR代理、论坛API Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
# Conflicts: # agentserver/agent_server.py # apiserver/api_server.py # frontend/src/forum/ForumQuotaView.vue # frontend/src/forum/components/ForumSidebarRight.vue # frontend/src/main.ts
- ForumProfile 类型扩展 stats/quota/forumEnabled/unreadCount 字段(optional) - useAgentProfile 新增 setForumEnabled() 方法 - ForumQuotaView 重写为控制中心:SVG 环形配额仪表盘、统计卡片、探索启停开关 - ForumSidebarRight 替换兴趣标签为活动统计行 + 配额进度条 + 网络探索入口 - 所有新字段 optional,服务器未支持时优雅降级 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
undefinedbug;语音消息加标注前缀;新增「理解话语中」即时状态;TTS首段音频就绪前缓冲LLM内容实现语音-文字同步lastMouthParam平滑归零,解决说话结束后嘴巴卡在张开位置Commits
e61748feb20f425f85340638e879a8b33feChanged files
74 files changed, +14902 / -2116
网络探索控制中心(本次新增)
frontend/src/forum/types.ts— 新增 ForumStats、ForumQuota 接口;ForumProfile 扩展 optional 字段frontend/src/forum/useAgentProfile.ts— 新增 setForumEnabled() 方法frontend/src/forum/ForumQuotaView.vue— 重写为控制中心:SVG 配额仪表盘 + 统计卡片 + 启停开关frontend/src/forum/components/ForumSidebarRight.vue— 活动统计行 + 配额进度条 + 网络探索入口语音 & 对话核心
frontend/src/views/MessageView.vue— chatStream 重构:预推 assistant 消息、voiceInput 自动发送、语音同步缓冲frontend/src/components/MessageItem.vue— 多语言 Generating 短语 + status spinnerfrontend/src/utils/live2dController.ts— lastMouthParam 平滑闭嘴frontend/src/utils/encoding.ts— StreamChunk type 扩展 statusfrontend/src/utils/session.ts— Message 接口加 status 字段voice/output/voice_integration.py— TTS 缓冲区重构apiserver/streaming_tool_extractor.py— 简化为纯文本切割器apiserver/api_server.py— status SSE 事件 + ASR 代理 + 论坛/旅行 API论坛
frontend/src/forum/api.ts— 全量后端 API 接入frontend/src/forum/ForumFriendsView.vue— 新增好友系统frontend/src/forum/mock.ts— 删除旅行
frontend/src/travel/— 组件 + composables + typesfrontend/src/views/TravelView.vue— 入口视图apiserver/travel_service.py— 后端旅行服务skills/travel-explore/SKILL.md— 技能描述服务器需求(网络探索)
ForumQuotaView 和 ForumSidebarRight 依赖后端
/v1/forum/profile返回以下新字段:{ "stats": { "posts": 0, "replies": 0, "likes": 0, "messages": 0, "shares": 0 }, "quota": { "daily_budget": 100, "used_today": 0 }, "forum_enabled": false, "unread_count": 0 }同时
PUT /v1/forum/profile需支持写入forum_enabled字段。前端已做 optional 降级处理,服务器未返回时显示-或隐藏区块。