- 24 Dec, 2025 5 commits
-
-
Forest authored
-
shaw authored
问题:旧方案使用计数器模式,每次acquire都刷新TTL,导致僵尸数据永不过期 解决方案: - 每个槽位使用独立Redis Key: concurrency:account:{id}:{requestID} - 利用Redis原生TTL,每个槽位独立5分钟过期 - 服务崩溃后僵尸数据自动清理,无需手动干预 - 兼容多实例K8s部署 技术改动: - 新增SCAN脚本统计活跃槽位数量 - 移除冗余的releaseScript,直接使用DEL命令 - Wait队列TTL只在首次创建时设置,避免刷新 -
shaw authored
- 修复 Admin Dashboard Handler 遗漏返回 rpm/tpm 字段 - 将性能统计时间窗口从1分钟改为5分钟平均值,数据更稳定
-
shaw authored
在 Dashboard 中用 RPM/TPM 卡片替换原来的"今日缓存"卡片, 实时显示最近1分钟的请求数和 Token 吞吐量。
-
Forest authored
-
- 23 Dec, 2025 6 commits
-
-
shaw authored
原代码中 `parts` 变量被创建但从未使用,导致 `len(parts) == 0` 永远为 true,使得即使成功从 `code#state` 格式中分割出 authCode, 最后也会被覆盖为原始的完整字符串。 这导致传递给Claude Token端点的code包含了 `#state` 部分, Claude返回 "Invalid 'code' in request" 错误。
-
shaw authored
从响应头提取x-codex-*使用量信息并保存到账号Extra字段, 前端账号列表展示5h/7d窗口的使用进度条。
-
shaw authored
- 新增账号统计弹窗,展示30天使用数据 - 显示总费用、请求数、日均费用、日均请求等汇总指标 - 显示今日概览、最高费用日、最高请求日 - 包含费用与请求趋势图(双Y轴) - 复用模型分布图组件展示模型使用分布 - 显示实际扣费和标准计费(标准计费以较淡颜色显示)
-
dexcoder6 authored
- 新增User模型字段:username(用户名)、wechat(微信号)、notes(备注) - 扩展用户搜索功能,支持通过用户名和微信号搜索 - 添加用户个人资料更新功能,用户可自行编辑用户名和微信号 - 管理员用户列表新增用户名、微信号、备注显示列 - 备注字段仅对管理员可见,增强数据安全性 - 完善中英文国际化翻译 - 修复国际化文件中重复属性的TypeScript错误
🤖 Generated with [Claude Code](https://claude.com/claude-code ) Co-Authored-By:Claude Sonnet 4.5 <noreply@anthropic.com>
-
shaw authored
- Account模型新增Groups虚拟字段 - 账号列表API预加载Group信息 - 账号管理页面新增分组列,使用GroupBadge展示
-
shaw authored
- User模型新增Subscriptions关联 - 用户列表批量加载订阅信息避免N+1查询 - GroupBadge组件支持显示剩余天数(过期红色、<=3天红色、<=7天橙色) - 用户管理页面新增订阅分组列
-
- 22 Dec, 2025 1 commit
-
-
shaw authored
-
- 20 Dec, 2025 6 commits
-
-
Forest authored
-
Forest authored
-
NepetaLemon authored
## 变更内容 ### CI/CD - 添加 GitHub Actions 工作流(test + golangci-lint) - 添加 golangci-lint 配置,启用 errcheck/govet/staticcheck/unused/depguard - 通过 depguard 强制 service 层不能直接导入 repository ### 错误处理修复 - 修复 CSV 写入、SSE 流式输出、随机数生成等未处理的错误 - GenerateRedeemCode() 现在返回 error ### 资源泄露修复 - 统一使用 defer func() { _ = xxx.Close() }() 模式 ### 代码清理 - 移除未使用的常量 - 简化 nil map 检查 - 统一代码格式 -
shaw authored
-
Forest authored
-
shaw authored
-
- 19 Dec, 2025 2 commits
- 18 Dec, 2025 2 commits