ianshaw
|
62ed5422dd
|
feat(account): 优化批量更新实现,使用统一 SQL 合并 JSONB 字段
- 新增 BulkUpdate 仓储方法,使用单条 SQL 更新所有账户
- credentials/extra 使用 COALESCE(...) || ? 合并,只更新传入的 key
- name/proxy_id/concurrency/priority/status 只在提供时更新
- 分组绑定仍逐账号处理(需要独立操作)
- 前端优化:Base URL 留空则不修改,按勾选字段更新
- 完善 i18n 文案:说明留空不修改、批量更新行为
|
2025-12-24 17:16:19 -08:00 |
|
ianshaw
|
6553828008
|
feat(account): 添加从 CRS 同步账户功能
- 添加账户同步 API 接口 (account_handler.go)
- 实现 CRS 同步服务 (crs_sync_service.go)
- 添加前端同步对话框组件 (SyncFromCrsModal.vue)
- 更新账户管理界面支持同步操作
- 添加账户仓库批量创建方法
- 添加中英文国际化翻译
- 更新依赖注入配置
|
2025-12-24 08:48:58 -08:00 |
|
shaw
|
876e85e7ad
|
Merge branch 'feat/rename-go-module'
|
2025-12-24 21:34:37 +08:00 |
|
Forest
|
836c4dda2b
|
refactor: 重命名 go module
|
2025-12-24 21:07:21 +08:00 |
|
shaw
|
e65e9587b4
|
fix(concurrency): 重构并发管理使用独立Key+原生TTL
问题:旧方案使用计数器模式,每次acquire都刷新TTL,导致僵尸数据永不过期
解决方案:
- 每个槽位使用独立Redis Key: concurrency:account:{id}:{requestID}
- 利用Redis原生TTL,每个槽位独立5分钟过期
- 服务崩溃后僵尸数据自动清理,无需手动干预
- 兼容多实例K8s部署
技术改动:
- 新增SCAN脚本统计活跃槽位数量
- 移除冗余的releaseScript,直接使用DEL命令
- Wait队列TTL只在首次创建时设置,避免刷新
|
2025-12-24 21:00:29 +08:00 |
|
Forest
|
bbf4024dc7
|
refactor(usage): 移动 usage 查询到 services
|
2025-12-24 08:41:31 +08:00 |
|
shaw
|
f25ac3aff5
|
feat: OpenAI OAuth账号显示Codex使用量
从响应头提取x-codex-*使用量信息并保存到账号Extra字段,
前端账号列表展示5h/7d窗口的使用进度条。
|
2025-12-23 16:26:07 +08:00 |
|
shaw
|
6c469b42ed
|
feat: 新增支持codex转发
|
2025-12-22 22:58:31 +08:00 |
|
shaw
|
587012396b
|
feat: 支持创建管理员APIKEY
|
2025-12-20 15:11:43 +08:00 |
|
Forest
|
7bbf621490
|
refactor(backend): 添加 service 缓存端口
|
2025-12-19 23:44:18 +08:00 |
|
Forest
|
e99b344b2b
|
refactor(backend): 引入端口接口模式
|
2025-12-19 21:26:19 +08:00 |
|