shaw
a1292fac81
feat(oauth): 支持Anthropic的Team账号使用sk授权
2026-01-23 16:30:12 +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
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
longgexx
850183c269
fix(dashboard): 修复预聚合表使用UTC时区导致今日统计不准确的问题
...
将 dashboard_aggregation_repo.go 和 usage_log_repo.go 中的时区处理
从 UTC 改为使用服务器配置时区(默认 Asia/Shanghai),确保"今日"
统计数据与用户预期一致。
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-15 11:22:13 +08:00
yangjianbo
52ad7c6e9c
Merge branch 'main' into dev
2026-01-15 09:30:29 +08:00
longgexx
5aaaffe4d1
fix(dashboard): 修复仪表盘今日统计使用UTC时区的问题
...
将仪表盘统计中的"今日"时间范围从UTC时区改为服务器配置时区,
使其与使用记录页面保持一致。
修改内容:
- GetDashboardStats: 使用 timezone.Now() 和 timezone.Today()
- GetDashboardStatsWithRange: 同上
影响的统计项:
- 今日请求 (TodayRequests)
- 今日 Token (TodayTokens)
- 今日费用 (TodayCost/TodayActualCost)
- 今日新用户 (TodayNewUsers)
- 今日活跃用户 (ActiveUsers)
2026-01-15 09:12:16 +08:00
IanShaw027
2a6fb1e456
feat(ops): 添加用户信息显示和搜索功能
...
- 在错误日志列表和详情中显示用户邮箱
- 在 GetErrorLogByID 中关联 users 表获取用户邮箱
- 在 OpsErrorLogFilter 中添加 UserQuery 字段
- 在 buildOpsErrorLogsWhere 中添加用户邮箱搜索条件
- 在 GetErrorLogs handler 中支持 user_query 参数
2026-01-14 23:56:45 +08:00
IanShaw027
f25f992a30
fix(ops): 错误详情中显示账号和分组名称
...
- 在 GetErrorLogByID 查询中添加 LEFT JOIN 关联查询
- 关联 accounts 和 groups 表获取名称
- 填充 AccountName 和 GroupName 字段
2026-01-14 23:52:00 +08:00
IanShaw027
841d7ef2f2
fix(lint): 修复 golangci-lint 检查问题
...
- 格式化代码(gofmt)
- 修复空指针检查(staticcheck)
- 删除未使用的函数(unused)
2026-01-14 23:49:27 +08:00
IanShaw027
9584af5cb4
fix(ops): 优化错误日志查询和详情展示
...
- 新增 GetErrorLogByID 接口用于获取单个错误日志详情
- 优化 GetErrorLogs 过滤逻辑,简化参数处理
- 简化前端错误详情模态框代码,提升可维护性
- 更新相关 API 接口和 i18n 翻译
2026-01-14 23:16:01 +08:00