Commit Graph

344 Commits

Author SHA1 Message Date
18c889b9b8 Merge pull request 'ci: 简化 Docker CLI 安装,仅使用 apk' (#81) from fix/workflow-fix into develop
Reviewed-on: http://8.161.227.145:3000/XEngineers/CamTalk/pulls/81
2026-06-14 15:11:26 +08:00
hhs
ffcb11625a ci: 简化 Docker CLI 安装,仅使用 apk 2026-06-14 15:11:08 +08:00
da8818c3be fix: 隐藏顶部状态栏的 token 数显示 2026-06-14 15:10:43 +08:00
443f613fbd Merge pull request 'ci: 修复部署脚本找不到 docker 命令的问题' (#80) from develop into main
Some checks failed
Deploy / deploy (push) Failing after 18s
Reviewed-on: http://8.161.227.145:3000/XEngineers/CamTalk/pulls/80
2026-06-14 15:09:52 +08:00
f46f8ffa5a Merge pull request 'ci: 修复部署脚本找不到 docker 命令的问题' (#79) from fix/workflow-fix into develop
Reviewed-on: http://8.161.227.145:3000/XEngineers/CamTalk/pulls/79
2026-06-14 15:09:37 +08:00
hhs
159db37a60 ci: 修复部署脚本找不到 docker 命令的问题 2026-06-14 15:08:52 +08:00
15b1dd56fa feat: 聊天框与视频功能解耦,输入文字即可开始对话
之前必须点击「开始对话」连接 WebSocket 后才能使用聊天框。
现在聊天输入框始终可用,输入文字自动连接 WebSocket 并发送消息;
左侧按钮改为「开始视频通话」,单独控制摄像头/麦克风。

- ChatPanel 移除 !isConnected early return,始终显示输入框
- useVisionSession 新增待发消息队列,sendTextMessage 支持自动连接
- startSession 改为仅负责视频(摄像头 + 麦克风 + VAD)
- 修复 statusRef 在 useWebSocketManager 之前声明导致的 TDZ 错误
- 更新 i18n 翻译(新增 controls.startVideo、video.placeholder)
2026-06-14 15:07:39 +08:00
35372438a5 Merge pull request 'ci: 合并 workflow,仅保留 push main 时自动部署' (#78) from develop into main
Some checks failed
Deploy / deploy (push) Failing after 1s
Reviewed-on: http://8.161.227.145:3000/XEngineers/CamTalk/pulls/78
2026-06-14 15:02:54 +08:00
daa4d23895 Merge pull request 'ci: 合并 workflow,仅保留 push main 时自动部署' (#77) from fix/workflow-fix into develop
Reviewed-on: http://8.161.227.145:3000/XEngineers/CamTalk/pulls/77
2026-06-14 15:02:41 +08:00
hhs
9e813f0a08 ci: 合并 workflow,仅保留 push main 时自动部署 2026-06-14 15:01:46 +08:00
97484735cf Merge pull request 'fix: 修复并优化部署流程' (#75) from develop into main
Some checks failed
Backend CI / ci (push) Successful in 1m50s
Deploy / verify (push) Has been skipped
Deploy / deploy (push) Failing after 1s
Frontend CI / ci (push) Successful in 2m11s
Reviewed-on: http://8.161.227.145:3000/XEngineers/CamTalk/pulls/75
2026-06-14 14:57:20 +08:00
a128ed1471 Merge pull request 'fix: 修复并优化部署流程' (#74) from fix/workflow-fix into develop
Some checks failed
Frontend CI / ci (pull_request) Has been cancelled
Backend CI / ci (pull_request) Has been cancelled
Deploy / verify (pull_request) Failing after 1s
Deploy / deploy (pull_request) Has been skipped
Reviewed-on: http://8.161.227.145:3000/XEngineers/CamTalk/pulls/74
2026-06-14 14:56:52 +08:00
hhs
e33b5650a5 chore: 移除 deploy.sh 中未使用的 warn/error 函数 2026-06-14 14:55:17 +08:00
hhs
b358bf05b5 ci: 移除 deploy 工作流中多余的依赖安装和健康检查步骤 2026-06-14 14:54:59 +08:00
hhs
4ef1e9f08b refactor: 彻底移除 .env 依赖,配置统一由 config.yaml + 环境变量驱动 2026-06-14 14:54:55 +08:00
hhs
d32112e074 chore: 添加 .dockerignore 优化 Docker 构建上下文 2026-06-14 14:54:52 +08:00
81e50de7f6 Merge pull request 'fix: 修复 deploy 工作流缺少 Docker 导致构建失败的问题' (#73) from fix/workflow-fix into develop
Reviewed-on: http://8.161.227.145:3000/XEngineers/CamTalk/pulls/73
2026-06-14 14:38:04 +08:00
2f05b5fa2b Merge pull request 'Merge pull request 'fix: 修复 deploy 工作流缺少 Node.js 导致 checkout 失败的问题'' (#72) from develop into main
Some checks failed
Backend CI / ci (push) Successful in 1m49s
Deploy / verify (push) Has been skipped
Deploy / deploy (push) Failing after 3s
Frontend CI / ci (push) Successful in 1m22s
Reviewed-on: http://8.161.227.145:3000/XEngineers/CamTalk/pulls/72
2026-06-14 14:37:26 +08:00
hhs
304a45b0ad fix: 修复 deploy 工作流缺少 Docker 导致构建失败的问题 2026-06-14 14:37:00 +08:00
e95b1603c1 feat: 前端 UI 国际化,支持中/英/日三语切换
之前语言设置只影响后端 AI 行为,前端 UI 文字始终为中文。
新增轻量 i18n 模块(React Context + 翻译字典),切换语言后所有 UI 文字即时刷新。

- 新增 i18n 核心模块和 zh-CN/en-US/ja-JP 翻译文件(约 72 个 key)
- App.tsx 拆分为 App(Provider)+ AppContent(业务),确保 Hook 可访问 Context
- 所有组件通过 useI18n().t() 获取翻译文本
- errors.ts 改为接受翻译函数参数
- storage.ts saveConfig 时派发事件通知 locale 变化
2026-06-14 14:34:30 +08:00
7153a7adf6 Merge pull request 'fix: 修复 deploy 工作流缺少 Node.js 导致 checkout 失败的问题' (#71) from fix/actions into develop
Some checks failed
Backend CI / ci (pull_request) Successful in 1m52s
Deploy / verify (pull_request) Failing after 17s
Deploy / deploy (pull_request) Has been skipped
Frontend CI / ci (pull_request) Successful in 34s
Reviewed-on: http://8.161.227.145:3000/XEngineers/CamTalk/pulls/71
2026-06-14 14:27:59 +08:00
hhs
73eae8a118 fix: 修复 deploy 工作流缺少 Node.js 导致 checkout 失败的问题 2026-06-14 14:27:04 +08:00
1a6325698a Merge pull request 'chore: 删除 deepgram_test.go 测试文件' (#69) from refactor/ai-model-refact into develop
Some checks failed
Backend CI / ci (pull_request) Successful in 1m51s
Deploy / verify (pull_request) Failing after 1s
Deploy / deploy (pull_request) Has been skipped
Frontend CI / ci (pull_request) Successful in 1m10s
Reviewed-on: http://8.161.227.145:3000/XEngineers/CamTalk/pulls/69
2026-06-14 14:05:05 +08:00
hhs
4ebac835de chore: 删除 deepgram_test.go 测试文件 2026-06-14 14:04:30 +08:00
d8bbdb1744 Merge pull request 'fix: 修复语音与文字不同步的问题,改为句子级流式播放' (#67) from frontend-12 into develop
Some checks failed
Backend CI / ci (pull_request) Failing after 2m14s
Deploy / verify (pull_request) Failing after 1s
Deploy / deploy (pull_request) Has been skipped
Frontend CI / ci (pull_request) Successful in 56s
Reviewed-on: http://8.161.227.145:3000/XEngineers/CamTalk/pulls/67
2026-06-14 13:55:47 +08:00
da5c727d8c fix: 修复语音与文字不同步的问题,改为句子级流式播放
之前前端 TTSPlayer 攒齐所有音频片段后才播放,导致文字全部显示后才开始语音。
改为后端每句 TTS 发送 is_last: true,前端收到每句即加入播放队列,第一句到达即开始播放。

- 后端 Chunk 结构体新增 Final 字段,区分句子结束和整轮结束
- 前端 TTSPlayer 重写为队列式播放,onended 回调自动衔接下一句
- 同步更新接口文档和测试用例
2026-06-14 13:54:49 +08:00
7b3f4706e1 Merge pull request 'chore: 添加前后端 Dockerfile 和 DockerCompose 编排文件,添加部署脚本和工作流' (#66) from chore/add-docker into develop
Reviewed-on: http://8.161.227.145:3000/XEngineers/CamTalk/pulls/66
2026-06-14 13:41:23 +08:00
hhs
65718a8460 ci: 添加 Gitea Actions 部署工作流
- PR 到 main 时验证 Docker 镜像构建
- push 到 main 时自动构建并部署,含健康检查
2026-06-14 13:38:35 +08:00
hhs
84f5303632 feat: 添加部署脚本 deploy.sh
- 支持 build / up / down / restart / logs / status 命令
- 首次运行自动从 .env.example 生成 .env 模板
2026-06-14 13:38:32 +08:00
hhs
1c74fdb894 feat: 添加 Docker Compose 编排文件
- frontend 和 backend 两个服务,共享 camtalk-net 网络
- backend 通过 .env 注入 API Key,不对外暴露端口
- frontend 通过 Nginx 反代对外暴露 80 端口
2026-06-14 13:38:29 +08:00
hhs
d75cdf95c8 feat: 添加后端 Dockerfile
- 多阶段构建:golang:1.24-alpine 编译,alpine:3.20 运行
- CGO_ENABLED=0 静态链接,包含 ca-certificates 和时区数据
2026-06-14 13:38:25 +08:00
hhs
7108d2a58b feat: 添加前端 Dockerfile 和 Nginx 配置
- 多阶段构建:node:22-alpine 构建,nginx:stable-alpine 运行
- Nginx 配置:静态文件服务 + /api /ws 反代到后端
2026-06-14 13:38:22 +08:00
80e45bb8ff Merge pull request '优化无麦克风和摄像头场景的使用' (#65) from frontend-11 into develop
Reviewed-on: http://8.161.227.145:3000/XEngineers/CamTalk/pulls/65
2026-06-14 13:19:15 +08:00
81c2b64e5f fix: 修复无摄像头/麦克风时聊天框不显示的问题
- 重构 ChatPanel 逻辑,连接后始终显示输入框
- 将欢迎消息移入消息容器内
- 确保输入框在任何状态下都可见
2026-06-14 13:17:14 +08:00
dffc8aa538 feat: 支持无摄像头/麦克风模式打字聊天
- 修改 startSession 逻辑,摄像头和麦克风为可选
- 连接成功后始终显示聊天输入框
- 更新 UI 提示文字,引导用户打字对话
2026-06-14 13:13:29 +08:00
dfccc824be Merge pull request '修复对话麦克风问题' (#64) from frontend-10 into develop
Reviewed-on: http://8.161.227.145:3000/XEngineers/CamTalk/pulls/64
2026-06-14 13:08:46 +08:00
312e762aff fix: 修复文本输入时 LLM API 报错的问题
- 移除 contentPart.Text 的 omitempty 标签
- 确保 text 字段始终存在于 JSON 请求中
2026-06-14 13:02:07 +08:00
01026d1846 Merge pull request 'refactor: 前端 WebSocket 地址改为动态推导,添加 Vite 开发代理' (#63) from fix/frontend-proxy into develop
Reviewed-on: http://8.161.227.145:3000/XEngineers/CamTalk/pulls/63
2026-06-14 13:01:32 +08:00
hhs
d8630a8f26 refactor: 前端 WebSocket 地址改为动态推导,添加 Vite 开发代理
- websocket.ts: 移除硬编码 localhost:8080,基于 window.location 动态构建 WS URL
- vite.config.ts: 添加 /ws 和 /api 的 server.proxy 配置
- 同步更新 02-系统架构.md 和 03-接口文档.md 中的开发环境说明
2026-06-14 13:00:54 +08:00
41cacaa740 fix: 修复麦克风关闭后重新打开无法使用的问题
- 关闭麦克风时同时停止 VAD
- 打开麦克风时重新初始化 VAD
2026-06-14 12:54:58 +08:00
51ed6aa563 feat: 添加文字输入对话功能
- 后端 WsQuery 添加 text 字段,支持文本输入模式
- Pipeline 支持文本查询时跳过 STT 直接使用输入文本
- 前端 ChatPanel 添加文字输入框,连接状态下可用
- useVisionSession 添加 sendTextMessage 方法
- 更新接口文档,添加文本输入模式说明
2026-06-14 12:52:39 +08:00
563ca12790 Merge pull request 'fix/hard-code' (#62) from fix/hard-code into develop
Reviewed-on: http://8.161.227.145:3000/XEngineers/CamTalk/pulls/62
2026-06-14 12:31:55 +08:00
bfc896ed35 Merge pull request 'fix: 修复新旧 TTS 语音重叠播放的问题' (#61) from fix-redio into develop
Reviewed-on: http://8.161.227.145:3000/XEngineers/CamTalk/pulls/61
2026-06-14 12:31:17 +08:00
f6a2348c04 fix:修复语音对话配置 2026-06-14 12:29:46 +08:00
24a6ce5295 fix: 修复新旧 TTS 语音重叠播放的问题
- TTSPlayer 新增 stopCurrentAudio() 方法,play() 开始前先停止旧音频
- onSpeechEnd 发送新 query 前停止上一轮 TTS 播放
2026-06-14 12:01:34 +08:00
hhs
96cf009228 test: 更新测试文件适配构造函数签名变更 2026-06-14 11:55:29 +08:00
hhs
544716fe27 fix: pipeline.go TTS 输出格式/采样率从配置读取
- New() 改为接收 *config.Config 参数
- OutputFmt/SampleRate 从 config.AI.TTS 读取
2026-06-14 11:55:24 +08:00
hhs
8a966c29b7 fix: TTS 服务去除重复默认值,新增 httpClientTimeout 参数
- 去除 model/voice/endpoint 的 fallback 默认值
- HTTP Client 超时从 config 传入
2026-06-14 11:55:20 +08:00
hhs
aae0629b2d fix: LLM 服务去除重复默认值,新增 httpClientTimeout 参数
- 去除 model/endpoint 的 fallback 默认值
- HTTP Client 超时从 config 传入
2026-06-14 11:55:19 +08:00
hhs
03b3566822 fix: STT 服务去除重复默认值,新增 timeout 参数
- Deepgram/MiMo STT 超时从 config 传入
- 去除 model/endpoint 的 fallback 默认值,由 config 层保证
2026-06-14 11:55:18 +08:00