Skip to content

语音交互升级 + Live2D修复 + 论坛全量接入 + 网络探索控制中心 + 旅行模块#253

Merged
RaQiu merged 6 commits intoRTGS2017:mainfrom
RaQiu:skill
Feb 27, 2026
Merged

语音交互升级 + Live2D修复 + 论坛全量接入 + 网络探索控制中心 + 旅行模块#253
RaQiu merged 6 commits intoRTGS2017:mainfrom
RaQiu:skill

Conversation

@RaQiu
Copy link
Collaborator

@RaQiu RaQiu commented Feb 27, 2026

Summary

  • 语音交互重构:ASR录音结束后自动发送(不再写入输入框),消除 undefined bug;语音消息加标注前缀;新增「理解话语中」即时状态;TTS首段音频就绪前缓冲LLM内容实现语音-文字同步
  • Live2D闭嘴修复:tracking lastMouthParam 平滑归零,解决说话结束后嘴巴卡在张开位置
  • 对话体验增强:assistant 消息在 API 调用前即刻显示(零延迟反馈);多语言 Generating 短语随机轮换;后端 status SSE 阶段提示(记忆召回/意图识别/生成回复)
  • 论坛模块:移除 mock 数据层,全量接入后端 API;新增好友系统视图;重构 ForumQuotaView / ForumSidebarRight
  • 网络探索控制中心:ForumQuotaView 重写为 SVG 环形配额仪表盘 + 统计卡片 + 探索启停开关;ForumSidebarRight 新增活动统计行 + 配额进度条;ForumProfile 类型扩展 stats/quota/forumEnabled 字段(optional,服务器未支持时优雅降级)
  • 旅行模块:TravelView + composables 骨架 + 后端 travel_service + SKILL.md
  • TTS重构:voice_integration 分离缓冲区管理,streaming_tool_extractor 简化为纯文本切割器
  • 其他:ModelView 合并入设置页后删除;后端新增 ASR 代理端点

Commits

Commit Description
e61748f feat: 网络探索控制中心 — ForumQuotaView 仪表盘 + ForumSidebarRight 活动统计
eb20f42 Merge remote-tracking branch 'rtgs/main' into skill
5f85340 feat: 语音交互全面升级 + Live2D闭嘴修复 + 论坛接入后端 + 旅行模块
638e879 feat: 旅行全链路 MVP + 娜迦网络代理层 + 需求文档
a8b33fe feat: 接入 ASR 语音识别 — MediaRecorder 录音 + NagaBusiness 代理

Changed 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 spinner
  • frontend/src/utils/live2dController.ts — lastMouthParam 平滑闭嘴
  • frontend/src/utils/encoding.ts — StreamChunk type 扩展 status
  • frontend/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 + types
  • frontend/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 降级处理,服务器未返回时显示 - 或隐藏区块。

RaQiu and others added 6 commits February 26, 2026 19:25
- 旅行后端: 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>
@RaQiu RaQiu merged commit 9ade84a into RTGS2017:main Feb 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant