|
|
99fcd6bc29
|
fix: 修复 Dockerfile 配置文件路径
|
2026-06-21 13:27:29 +08:00 |
|
|
|
910e71b6f0
|
docs: 规范文档对跨域处理的介绍
|
2026-06-21 13:10:48 +08:00 |
|
|
|
d53265755a
|
refactor: 移除生产环境配置文件中 CORS 配置
|
2026-06-21 12:39:33 +08:00 |
|
|
|
252cdcc8e7
|
refactor: 开发环境使用与生产环境相同的 AI 模型配置
- config.dev.yaml 补全 AI 服务配置(provider、model、endpoint)
- 保持开发环境超时时间较长(方便调试)
- 确保开发和生产环境使用相同的模型,避免环境差异导致的问题
|
2026-06-21 12:24:20 +08:00 |
|
|
|
515d7ae034
|
docs: 完善配置环境切换机制
- docker-compose.yml 添加 APP_ENV=prod 强制生产环境
- 更新 .env.example 的 APP_ENV 注释说明(开发/生产差异)
- CLAUDE.md 补充"配置环境切换"章节,说明本地开发和生产部署的配置切换方式
- 明确配置优先级:环境变量 > config.{env}.yaml > config.yaml > 默认值
配置差异:
- 开发环境:debug 日志、关闭限流、允许所有 CORS
- 生产环境:info/json 日志、启用限流、严格 CORS 白名单
验证通过:
- 本地开发:默认加载 config.dev.yaml(env=dev, debug 日志)
- 生产配置:APP_ENV=prod 加载 config.prod.yaml(env=prod, info 日志)
|
2026-06-21 01:14:29 +08:00 |
|
|
|
311330cea1
|
refactor: 重组配置文件到 config 目录
- 创建 backend/config/ 目录统一管理配置文件
- 移动 config.yaml 到 config/config.yaml
- 新增 config.dev.yaml 开发环境配置(debug 日志、关闭限流)
- 新增 config.prod.yaml 生产环境配置(info 日志、启用限流、严格 CORS)
- 更新配置加载逻辑,优先从 config/ 目录读取,兼容旧路径
- 更新 .gitignore,仅排除 .env,配置文件纳入版本控制
|
2026-06-21 01:07:47 +08:00 |
|
|
|
7adf81c6e5
|
feat: 集成限流器到服务
- main.go 初始化限流器(根据 Redis 可用性选择内存/Redis 实现)
- WebSocket handler 添加 query 消息限流(按 userID)
- Auth API 添加登录/注册限流(按 IP)
- refresh 和 logout 不限流(避免影响正常用户操作)
- 修复所有测试(传递 nil limiter 参数)
- 所有测试通过(包括 ws 和 api 集成测试)
|
2026-06-21 00:00:24 +08:00 |
|
|
|
ea00939c13
|
feat: 实现 Gin 限流中间件
- Middleware 函数返回 Gin 中间件
- keyFunc 参数支持灵活提取限流 key(IP/用户 ID 等)
- 限流触发时返回 HTTP 429 + Retry-After header
- 支持 nil limiter(跳过限流)和空 key(跳过限流)
- 完整单元测试(6 个测试用例,全部通过)
- 测试覆盖:允许、拒绝、nil limiter、空 key、keyFunc、Retry-After 舍入
|
2026-06-20 23:56:44 +08:00 |
|
|
|
b74fb3564d
|
feat: 实现 Redis 令牌桶限流器
- RedisLimiter 基于 Lua 脚本保证原子性
- Lua 脚本实现完整令牌桶算法(填充、消耗、TTL)
- fail-open 策略:Redis 故障时允许请求通过
- FormatKey 辅助函数格式化限流 key
- 完整单元测试(10 个测试用例,使用 miniredis)
- 测试覆盖:首次请求、耗尽、不同用户、补充、容量上限、零速率、TTL、故障降级
|
2026-06-20 23:55:37 +08:00 |
|
|
|
3b6226394b
|
feat: 实现内存令牌桶限流器
- Limiter 接口定义(Allow + Stop 方法)
- TokenBucket 实现(容量、填充速率、并发安全)
- MemoryLimiter 管理多用户令牌桶
- 后台 goroutine 定期清理不活跃桶(10 分钟)
- 完整单元测试覆盖(11 个测试用例,全部通过)
- 边界情况处理(rate=0、capacity=0、并发安全)
|
2026-06-20 23:53:36 +08:00 |
|
|
|
a6df8c9131
|
feat: 添加限流配置层
- Config 结构体新增 RateLimit 字段
- 新增 RateLimitConfig 和 BucketConfig 结构体定义
- config.yaml 新增 ratelimit 配置段(默认关闭)
- 设置默认值:query(10/0.2)、login(5/0.1)、register(3/0.05)
|
2026-06-20 23:51:45 +08:00 |
|
|
|
3e00e39e8a
|
Merge pull request 'feat:部署修改' (#174) from feat/tokentime into develop
Reviewed-on: http://8.161.227.145:3000/XEngineers/CamTalk/pulls/174
|
2026-06-20 23:36:33 +08:00 |
|
|
|
9ad486d117
|
feat:部署修改
|
2026-06-20 23:35:13 +08:00 |
|
|
|
7ee6918015
|
Merge pull request 'feat: 优化情景切换功能' (#172) from feat/tokentime into develop
Reviewed-on: http://8.161.227.145:3000/XEngineers/CamTalk/pulls/172
|
2026-06-20 23:26:28 +08:00 |
|
|
|
2fb23852ef
|
feat: 优化情景切换功能
|
2026-06-20 23:24:32 +08:00 |
|
|
|
ed95ce56a8
|
fix: 关闭摄像头后文本输入不再发送图像数据
修复了用户关闭摄像头后,使用文本输入时 AI 仍会分析黑色画面的问题。
变更:
- sendTextMessage: 只在摄像头开启时捕获画面
- 待发消息队列: 根据摄像头状态决定是否携带画面
效果:
- 摄像头关闭时纯文本对话,不提及画面
- 节省 token 消耗和网络带宽
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-20 22:21:03 +08:00 |
|
|
|
dffd8bd4a5
|
Merge pull request 'fix: apk 使用阿里云镜像 mirrors.aliyun.com 加速下载' (#170) from fix/actions into develop
Reviewed-on: http://8.161.227.145:3000/XEngineers/CamTalk/pulls/170
|
2026-06-20 22:03:49 +08:00 |
|
|
|
3140a660e4
|
fix: apk 使用阿里云镜像 mirrors.aliyun.com 加速下载
|
2026-06-20 22:02:30 +08:00 |
|
|
|
ba7c5ed5ea
|
Merge pull request 'fix: CI 环境安装 rsync + docker-cli + docker-cli-compose' (#168) from fix/actions into develop
Reviewed-on: http://8.161.227.145:3000/XEngineers/CamTalk/pulls/168
|
2026-06-20 21:47:45 +08:00 |
|
|
|
cc7a333b6d
|
fix: CI 环境安装 rsync + docker-cli + docker-cli-compose
|
2026-06-20 21:46:25 +08:00 |
|
|
|
d6059ae397
|
Merge pull request 'fix: git clone 前清理残留的 /tmp/camtalk-deploy 目录' (#166) from fix/actions into develop
Reviewed-on: http://8.161.227.145:3000/XEngineers/CamTalk/pulls/166
|
2026-06-20 21:39:02 +08:00 |
|
|
|
d4398e55fe
|
fix: git clone 前清理残留的 /tmp/camtalk-deploy 目录
|
2026-06-20 21:38:30 +08:00 |
|
|
|
190f40908f
|
Merge pull request 'fix: 添加 rsync 安装,避免首次部署时 command not found' (#164) from fix/actions into develop
Reviewed-on: http://8.161.227.145:3000/XEngineers/CamTalk/pulls/164
|
2026-06-20 21:33:23 +08:00 |
|
|
|
ddb90c58ef
|
fix: 添加 rsync 安装,避免首次部署时 command not found
|
2026-06-20 21:32:57 +08:00 |
|
|
|
ca07188eda
|
Merge pull request 'fix: 统一使用 /opt/camtalk/.env 路径,act_runner 挂载宿主机目录后直接读取' (#162) from fix/actions into develop
Reviewed-on: http://8.161.227.145:3000/XEngineers/CamTalk/pulls/162
|
2026-06-20 21:31:49 +08:00 |
|
|
|
15a50f855b
|
fix: 统一使用 /opt/camtalk/.env 路径,act_runner 挂载宿主机目录后直接读取
|
2026-06-20 21:30:21 +08:00 |
|
|
|
e37dc7074d
|
chore: 首页代码仓库链接改为 Gitea 地址
|
2026-06-20 21:12:06 +08:00 |
|
|
|
90c5ad7724
|
Merge pull request 'fix: env_file 使用绝对路径 /root/camtalk/.env,确保 CI 容器内 docker compose 正确解析' (#160) from fix/actions into develop
Reviewed-on: http://8.161.227.145:3000/XEngineers/CamTalk/pulls/160
|
2026-06-20 20:58:34 +08:00 |
|
|
|
45e2c4f37b
|
fix: env_file 使用绝对路径 /root/camtalk/.env,确保 CI 容器内 docker compose 正确解析
|
2026-06-20 20:57:34 +08:00 |
|
|
|
159bf278e6
|
Merge pull request 'docs: 添加令牌桶限流模块设计文档' (#158) from feature/ratelimite into develop
Reviewed-on: http://8.161.227.145:3000/XEngineers/CamTalk/pulls/158
|
2026-06-20 20:36:21 +08:00 |
|
|
|
542126df90
|
Merge pull request 'docs:更新文档' (#157) from feat/historychat into develop
Reviewed-on: http://8.161.227.145:3000/XEngineers/CamTalk/pulls/157
|
2026-06-20 20:20:59 +08:00 |
|
|
|
e56600e408
|
docs:更新文档
|
2026-06-20 20:17:16 +08:00 |
|
|
|
9ba4eb4825
|
Merge pull request 'feat: 优化对话历史功能、增加首页登录页面' (#155) from feat/historychat into develop
Reviewed-on: http://8.161.227.145:3000/XEngineers/CamTalk/pulls/155
|
2026-06-20 20:06:39 +08:00 |
|
|
|
0a8a20f3f8
|
Merge pull request 'fix: 通过 docker run -v 桥接同步 /opt/camtalk/.env,每次部署自动获取最新配置' (#153) from fix/actions into develop
Reviewed-on: http://8.161.227.145:3000/XEngineers/CamTalk/pulls/153
|
2026-06-20 20:05:11 +08:00 |
|
|
|
e20f58b4ae
|
fix: 通过 docker run -v 桥接同步 /opt/camtalk/.env,每次部署自动获取最新配置
|
2026-06-20 20:04:46 +08:00 |
|
|
|
ab07e01adf
|
feat: 优化对话历史功能
|
2026-06-20 19:57:36 +08:00 |
|
|
|
12cf59f1e8
|
Merge pull request 'fix: git fetch 改用公网 URL 而非 origin,避免 Docker 内网地址不可达导致卡死' (#150) from fix/actions into develop
Reviewed-on: http://8.161.227.145:3000/XEngineers/CamTalk/pulls/150
|
2026-06-20 19:47:28 +08:00 |
|
|
|
4f735e6d29
|
fix: git fetch 改用公网 URL 而非 origin,避免 Docker 内网地址不可达导致卡死
|
2026-06-20 19:45:56 +08:00 |
|
|
|
4d51bcefb0
|
Merge pull request 'fix: env_file 改为相对路径,解决 CI 容器无法读取 /opt/camtalk/.env 的问题' (#148) from fix/actions into develop
Reviewed-on: http://8.161.227.145:3000/XEngineers/CamTalk/pulls/148
|
2026-06-20 19:31:10 +08:00 |
|
|
|
fe5ac20a1f
|
fix: env_file 改为相对路径,解决 CI 容器无法读取 /opt/camtalk/.env 的问题
|
2026-06-20 19:29:12 +08:00 |
|
|
|
df35ff73b5
|
Merge pull request 'fix: 精简 deploy.yml,checkout + ref + verify 三步确保拉取正确分支' (#146) from fix/actions into develop
Reviewed-on: http://8.161.227.145:3000/XEngineers/CamTalk/pulls/146
|
2026-06-20 17:50:08 +08:00 |
|
|
|
92e6636d05
|
fix: 精简 deploy.yml,checkout + ref + verify 三步确保拉取正确分支
|
2026-06-20 17:49:36 +08:00 |
|
|
|
12e2d24f37
|
fix: checkout 后显式 git fetch 切换触发分支,避免始终部署 main 代码;Dockerfile 添加 BuildKit cache mount 加速构建
|
2026-06-20 17:43:32 +08:00 |
|
|
|
4a5905307c
|
Merge pull request 'fix: 恢复 checkout action 拉取代码,仅添加 ref 参数指定触发分支' (#144) from fix/actions into develop
Reviewed-on: http://8.161.227.145:3000/XEngineers/CamTalk/pulls/144
|
2026-06-20 17:35:30 +08:00 |
|
|
|
2a7d4c74d4
|
feat:增加首页登录页面
|
2026-06-20 17:35:14 +08:00 |
|
|
|
6bb4773e07
|
fix: 恢复 checkout action 拉取代码,仅添加 ref 参数指定触发分支
|
2026-06-20 17:33:59 +08:00 |
|
|
|
39073b7673
|
fix: 添加 git safe.directory 配置,修复 CI/CD 中 dubious ownership 错误
|
2026-06-20 17:21:40 +08:00 |
|
|
|
85d47c1fc4
|
docs: 添加令牌桶限流模块设计文档
- 新建 docs/13-令牌桶限流设计.md,覆盖算法原理、内存/Redis 双实现、配置设计、接入点、测试用例等
- 更新 docs/01-架构设计.md Rate Limiter 模块行链接至新文档
- 更新 docs/README.md 文档索引和推荐阅读顺序
|
2026-06-20 17:08:23 +08:00 |
|
|
|
4ff8cec312
|
docs: 添加鉴权体系设计文档,更新认证相关文档
- 新增 12-鉴权体系设计.md,详细描述 JWT 双 token 轮转认证机制
- 更新架构设计文档,补充认证设计章节的安全机制和配置说明
- 更新接口文档,补充 Refresh Token Rotation 安全机制和前端集成示例
- 更新文档索引,添加新文档的推荐阅读顺序
|
2026-06-20 16:51:03 +08:00 |
|
|
|
3572b867c0
|
Merge pull request 'feat: 完善鉴权模块' (#142) from fix/auth into develop
Reviewed-on: http://8.161.227.145:3000/XEngineers/CamTalk/pulls/142
|
2026-06-20 16:34:47 +08:00 |
|