shaw
|
43a1031e38
|
fix(test): 修复订阅相关测试失败问题
1. 使用未来日期(2099年)作为测试订阅的过期时间,避免
normalizeSubscriptionStatus 将测试数据标记为过期
2. 修复 List 方法调用参数不足的问题(新增 sortBy/sortOrder 参数)
|
2026-01-24 21:10:02 +08:00 |
|
shaw
|
b0aa23540b
|
feat(subscription): 订阅过期状态自动更新与服务端排序
- 新增 SubscriptionExpiryService 定时任务,每分钟更新过期订阅状态
- 订阅列表支持服务端排序(按过期时间、状态、创建时间)
- 实时显示正确的过期状态,无需等待定时任务
- 允许对已过期订阅进行续期操作
- DataTable 组件支持 serverSideSort 模式
|
2026-01-24 20:26:01 +08:00 |
|
song
|
e316a923d4
|
fix(ops): count failover kinds with suffix
|
2026-01-24 01:14:44 +08:00 |
|
song
|
fd0370c07a
|
Add invalid-request fallback routing
|
2026-01-23 22:24:46 +08:00 |
|
song
|
316f2fee21
|
feat(ops): add account switch metrics and trend
|
2026-01-23 19:39:48 +08:00 |
|
shaw
|
a1292fac81
|
feat(oauth): 支持Anthropic的Team账号使用sk授权
|
2026-01-23 16:30:12 +08:00 |
|
song
|
3a31fa4768
|
fix: 429 限流时更新账号 last_used_at
在设置限流标记时同时更新 last_used_at,使得刚触发 429 的账号
在后续调度中优先级降低,让其他账号有更多被选中的机会。
|
2026-01-21 11:50:38 +08:00 |
|
Wesley Liddick
|
5602d02b1b
|
Merge pull request #343 from mt21625457/main
fix(调度): 完善粘性会话清理与账号调度刷新 和 启用 OpenAI OAuth HTTP/2 并修复清理任务 lint
|
2026-01-20 16:05:53 +08:00 |
|
song
|
64795a03e3
|
新增账号凭证邮箱查询接口
|
2026-01-20 14:17:10 +08:00 |
|
yangjianbo
|
292f25f9ca
|
Merge branch 'main' of https://github.com/mt21625457/aicodex2api
|
2026-01-20 14:02:08 +08:00 |
|
yangjianbo
|
f6ed3d1456
|
Merge branch 'test' into dev
|
2026-01-20 11:59:13 +08:00 |
|
yangjianbo
|
91f01309da
|
fix(调度): 完善粘性会话清理与账号调度刷新
- Update/BulkUpdate 按不可调度字段触发缓存刷新
- GatewayCache 支持多前缀会话键清理
- 模型路由与混合调度优化粘性会话处理
- 补充调度与缓存相关测试覆盖
|
2026-01-20 11:40:55 +08:00 |
|
yangjianbo
|
73e6b160f8
|
feat(认证): 启用 OpenAI OAuth HTTP/2 并修复清理任务 lint
为共享 req 客户端增加 HTTP/2 选项与缓存隔离
OpenAI OAuth 超时提升到 120s,并按协议控制强制
新增客户端池与 OAuth 客户端单测覆盖
修复 usage cleanup 相关 errcheck/ineffassign/staticcheck 并统一格式
测试: make test
|
2026-01-19 19:50:57 +08:00 |
|
shaw
|
3dab71729d
|
feat: usage接口支持TLS指纹和缓存User-Agent
|
2026-01-19 17:06:16 +08:00 |
|
shaw
|
090c8981dd
|
fix: 更新Claude OAuth授权配置以匹配最新规范
- 更新TokenURL和RedirectURI为platform.claude.com
- 更新scope定义,区分浏览器URL和内部API调用
- 修正state/code_verifier生成算法使用base64url编码
- 修正授权URL参数顺序并添加code=true
- 更新token交换请求头匹配官方实现
- 清理未使用的类型和函数
|
2026-01-19 16:40:06 +08:00 |
|
shaw
|
fbb572948d
|
fix: 修复会话数量查询使用错误的超时配置
|
2026-01-19 11:45:04 +08:00 |
|
shaw
|
ccfeaeb22d
|
feat: 新增会话ID伪装功能,优化日志系统
- 新增 session_id_masking_enabled 配置,启用后将在15分钟内固定
metadata.user_id 中的 session ID
- TLS fingerprint 模块日志从自定义 debugLog 迁移到 slog
- main.go 添加 slog 初始化,根据 gin mode 设置日志级别
- 前端创建/编辑账号模态框添加会话ID伪装开关
- 多语言支持(中英文)
|
2026-01-19 10:22:13 +08:00 |
|
Wesley Liddick
|
0f8d42c577
|
Merge pull request #327 from mt21625457/main
feat(usage): 添加清理任务与统计过滤
|
2026-01-19 09:18:00 +08:00 |
|
Wesley Liddick
|
03c7578713
|
Merge pull request #325 from slovx2/main
fix(antigravity): 修复Antigravity 频繁429的问题,以及一系列优化,配置增强
|
2026-01-19 09:17:15 +08:00 |
|
shaw
|
de6797c560
|
fix: 修复5小时窗口费用不重置的问题
- 新增 GetCurrentWindowStartTime() 方法,当窗口过期时自动使用新的预测窗口开始时间
- UpdateSessionWindow 更新窗口时间后触发 outbox 事件同步调度器缓存
- 统一所有窗口费用查询入口使用新方法
|
2026-01-19 09:13:15 +08:00 |
|
shaw
|
2028cc29b7
|
fix: 修复多个管理后台问题
- 分页接口 page_size 最大限制从 100 改为 1000
- 通过 Redis Pub/Sub 实现跨实例认证缓存失效
- 允许订阅类型分组编辑计费倍率
- 账号计费倍率支持 3 位小数
|
2026-01-18 22:13:47 +08:00 |
|
shaw
|
9abda1bc59
|
feat(tls): 新增 TLS 指纹模拟功能
|
2026-01-18 20:08:40 +08:00 |
|
yangjianbo
|
bdc426a774
|
Merge branch 'main' into dev
|
2026-01-18 15:55:58 +08:00 |
|
Wesley Liddick
|
2b02c6635d
|
Merge pull request #323 from IanShaw027/fix/ops-error-classification-consistency
fix(ops): 统一 request-errors 接口与 SLA 计算的错误分类逻辑
|
2026-01-18 14:32:04 +08:00 |
|
Wesley Liddick
|
0c2a901af4
|
Merge pull request #317 from IanShaw027/fix/gemini-issue
fix(gemini,group): 更新 Gemini 模型配置并补齐 SIMPLE 默认分组
|
2026-01-18 14:30:42 +08:00 |
|
yangjianbo
|
bd18f4b8ef
|
feat(清理任务): 引入Ent存储并补充日志与测试
新增 usage_cleanup_task Ent schema 与仓储实现,支持清理任务排序分页
补充清理任务全链路日志、仪表盘重算触发及 UI 过滤调整
完善 repository/service 单测并引入 sqlite 测试依赖
|
2026-01-18 14:18:28 +08:00 |
|
yangjianbo
|
bf7b79f2f0
|
fix(数据库): 优化任务状态更新查询,使用别名提高可读性
|
2026-01-18 11:58:53 +08:00 |
|
yangjianbo
|
ef5a41057f
|
feat(usage): 添加清理任务与统计过滤
|
2026-01-18 10:52:18 +08:00 |
|
song
|
b9b4db3df5
|
Merge upstream/main
|
2026-01-17 18:00:07 +08:00 |
|
ianshaw
|
bc1d7edc58
|
fix(ops): 统一 request-errors 和 SLA 的错误分类逻辑
修复 request-errors 接口与 Dashboard Overview SLA 计算不一致的问题:
- errors 视图现在只排除业务限制错误(余额不足、并发限制等)
- 上游 429/529 错误现在包含在 errors 视图中,与 SLA 计算保持一致
- excluded 视图现在只显示业务限制错误
这确保了 request-errors 接口和 Dashboard 的 error_count_sla 使用相同的过滤逻辑。
|
2026-01-17 17:57:40 +08:00 |
|
IanShaw027
|
a7165b0f73
|
fix(group): SIMPLE 模式启动补齐默认分组
|
2026-01-17 01:53:51 +08:00 |
|
shaw
|
7379423325
|
feat: 添加5h窗口费用控制和会话数量限制
- 支持Anthropic OAuth/SetupToken账号的5h窗口费用阈值控制
- 支持账号级别的并发会话数量限制
- 使用Redis缓存窗口费用(30秒TTL)减少数据库压力
- 费用计算基于标准费用(不含账号倍率)
|
2026-01-16 23:36:52 +08:00 |
|
longgexx
|
226920064b
|
Merge branch 'Wei-Shaw:main' into main
|
2026-01-16 17:26:54 +08:00 |
|
longgexx
|
19865b865f
|
feat(group): 添加分组级别模型路由配置功能
支持为分组配置模型路由规则,可以指定特定模型模式优先使用的账号列表。
- 新增 model_routing 字段存储路由配置(JSONB格式,支持通配符匹配)
- 新增 model_routing_enabled 字段控制是否启用路由
- 更新后端 handler/service/repository 支持路由配置的增删改查
- 更新前端 GroupsView 添加路由配置界面
- 添加数据库迁移脚本 040/041
|
2026-01-16 17:26:05 +08:00 |
|
song
|
821968903c
|
feat(antigravity): 手动刷新令牌时自动恢复 missing_project_id 错误账户状态
- 当手动刷新成功获取到 project_id,且之前错误为 missing_project_id 时,自动清除错误状态
- 后台自动刷新时同样支持状态恢复
|
2026-01-16 13:18:00 +08:00 |
|
wfunc
|
452fa53c0d
|
feat: Claude Sonnet 429 仅限模型限流
|
2026-01-16 13:03:04 +08:00 |
|
Wesley Liddick
|
3ff2ca8d41
|
Merge pull request #303 from IanShaw027/feature/ops-account-health-score
feat(ops): 运维监控功能增强与优化
|
2026-01-16 08:49:52 +08:00 |
|
IanShaw027
|
23aa69f56f
|
refactor(ops): 优化任务心跳和组件刷新机制
后端改动:
- 添加 ops_job_heartbeats.last_result 字段记录任务执行结果
- 优化告警评估器统计信息(规则数/事件数/邮件数)
- 统一各定时任务的心跳记录格式
前端改动:
- 重构 OpsConcurrencyCard 使用父组件统一控制刷新节奏
- 移除独立的 5 秒刷新定时器,改用 refreshToken 机制
- 修复 TypeScript 类型错误
|
2026-01-15 21:31:55 +08:00 |
|
程序猿MT
|
b59032304c
|
Merge branch 'Wei-Shaw:main' into main
|
2026-01-15 19:34:11 +08:00 |
|
yangjianbo
|
1820389a05
|
feat(网关): 引入 OpenAI/Claude OAuth token 缓存
新增 OpenAI/Claude TokenProvider 与缓存键生成
扩展 OAuth 缓存失效覆盖更多平台
统一 OAuth 缓存前缀与依赖注入
|
2026-01-15 18:27:06 +08:00 |
|
shaw
|
5f890e85e7
|
Merge PR #296: OAuth token cache invalidation on 401 and refresh
|
2026-01-15 16:31:37 +08:00 |
|
LLLLLLiulei
|
aab44f9fc8
|
feat: add proxy geo location
|
2026-01-15 15:15:20 +08:00 |
|
yangjianbo
|
90bce60b85
|
feat: merge dev
|
2026-01-15 15:14:44 +08:00 |
|
程序猿MT
|
c22d51ee41
|
Merge branch 'Wei-Shaw:main' into main
|
2026-01-15 15:12:16 +08:00 |
|
LLLLLLiulei
|
87b4662993
|
Revert "feat: add proxy geo location"
This reverts commit 09c4f82927ddce1c9528c146a26457f53d02b034.
|
2026-01-15 15:01:50 +08:00 |
|
LLLLLLiulei
|
3a100339b9
|
feat: add proxy geo location
|
2026-01-15 15:01:50 +08:00 |
|
longgexx
|
4672a6fac3
|
merge: 合并上游 upstream/main 分支
解决冲突:
- usage_log_repo.go: 保留 groupID 和 stream 参数,同时合并上游的
account_rate_multiplier 逻辑
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-15 13:09:26 +08:00 |
|
longgexx
|
82743704e4
|
fix(test): 添加测试辅助函数 truncateToDayUTC 修复编译错误
在 usage_log_repo_integration_test.go 中添加本地的 truncateToDayUTC
辅助函数,修复因主代码重命名该函数导致的测试编译错误。
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-15 11:42:35 +08:00 |
|
Wesley Liddick
|
27214f8657
|
Merge pull request #285 from IanShaw027/fix/ops-bug
feat(ops): 增强错误日志管理、告警静默和前端 UI 优化
|
2026-01-15 11:26:16 +08:00 |
|
Wesley Liddick
|
28de614dfb
|
Merge pull request #282 from LLLLLLiulei/feat/ip-management-enhancements
feat: enhance proxy management
|
2026-01-15 11:23:17 +08:00 |
|