Commit Graph

498 Commits

Author SHA1 Message Date
iRubbish
d2bcb8ef5e style: 使用 prettier 格式化代码
- 格式化 config/config.example.js 文件
- 确保所有代码符合项目代码风格规范
- 解决自动构建中的格式检查问题

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-14 09:54:15 +08:00
weidian
e01e539108 feat: 添加账号异常状态 Webhook 通知功能
## 功能概述
- 新增账号禁用/异常状态的 Webhook 实时通知机制
- 支持 Claude OAuth、Claude Console、Gemini 三种平台的账号监控
- 提供完整的 Webhook 管理 API 和配置选项

## 主要变更

### 新增文件
- `src/utils/webhookNotifier.js`: Webhook 通知核心服务
- `src/routes/webhook.js`: Webhook 管理 API 路由

### 功能集成
- Claude OAuth 账号:unauthorized 状态 + token 刷新错误通知
- Claude Console 账号:blocked 状态通知
- Gemini 账号:token 刷新错误通知

### 配置支持
- 新增环境变量:WEBHOOK_ENABLED, WEBHOOK_URLS, WEBHOOK_TIMEOUT, WEBHOOK_RETRIES
- 支持多个 Webhook URL 并发通知
- 自动重试机制(指数退避)+ 超时保护

### 管理端点
- POST /admin/webhook/test: 测试连通性
- POST /admin/webhook/test-notification: 发送测试通知
- GET /admin/webhook/config: 查看配置信息

## 通知格式
```json
{
  "type": "account_anomaly",
  "data": {
    "accountId": "uuid",
    "accountName": "账号名称",
    "platform": "claude-oauth|claude-console|gemini",
    "status": "unauthorized|blocked|error",
    "errorCode": "CLAUDE_OAUTH_UNAUTHORIZED",
    "reason": "具体异常原因",
    "timestamp": "2025-01-13T10:30:00.000Z"
  }
}
```

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-13 17:52:46 +08:00
shaw
d83502dd4f feat: 添加前端代码格式检查支持
- 支持 Vue 文件和 web/admin-spa 目录的检查
  - 区分前端和后端的 prettier/eslint 配置
  - 优化错误提示,分别提供前端和后端的修复命令
2025-08-13 14:38:52 +08:00
shaw
e25da4876b fix: 改进 PR 评论权限处理和添加调试信息 2025-08-13 14:30:29 +08:00
shaw
7bc0ee233b fix: 添加 workflow 评论权限 2025-08-13 14:16:04 +08:00
shaw
7c83859a12 feat: 添加 PR 代码格式自动检查 workflow
- 在 PR 时自动运行 Prettier 和 ESLint 检查
  - 检查失败时在 PR 页面显示状态并评论修复建议
2025-08-13 14:05:29 +08:00
github-actions[bot]
f1c82132cb chore: sync VERSION file with release v1.1.105 [skip ci] 2025-08-13 02:12:40 +00:00
shaw
2cd56c1174 fix: 修复OpenAI账户统计问题
- 添加缺失的recordUsage方法,统一updateAccountUsage实现
- 优化模型支持检查逻辑,未设置supportedModels时支持所有模型
- 修复gpt-5模型请求被拒绝的问题

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-13 09:54:06 +08:00
github-actions[bot]
e6906461c5 chore: sync VERSION file with release v1.1.104 [skip ci] 2025-08-12 09:56:12 +00:00
shaw
4ca9674772 feat: 完善多平台账户管理和API Keys页面展示
- 修复OpenAI路由中的gpt-5模型ID处理
- 增强统一调度器的账户选择日志输出
- 优化OAuth流程中的账户类型处理
- 完善API Keys页面的多平台账户信息展示

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-12 17:55:45 +08:00
Wesley Liddick
b250b6ee3b Merge pull request #235 from tanaer/feature
feat: 新增 Claude Console 账户限流机制开关
2025-08-12 16:21:10 +08:00
github-actions[bot]
759189a7bc chore: sync VERSION file with release v1.1.103 [skip ci] 2025-08-12 07:51:55 +00:00
shaw
3a563b8dd2 fix: 优化 OpenAI Codex API 的 gpt-5 模型 ID 处理
- 自动将 gpt-5-xxx 格式的模型 ID 标准化为 gpt-5
- 解决 Codex API 不接受具体版本模型 ID 的问题
- 添加日志记录模型标准化过程

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-12 15:50:34 +08:00
wt
6dfaf637aa feat: 新增 Claude Console 账户限流机制开关 2025-08-12 15:48:41 +08:00
shaw
b3cba9e091 feat: 完善API Keys页面多平台账户绑定信息展示
- 支持显示Claude、Gemini和OpenAI三个平台的账户绑定信息
- 添加账户状态提醒(不存在、专属、分组、共享池)
- 优化UI设计,使用彩色标签区分不同平台
- 改进响应式布局,适配移动端和平板设备
- 修复OpenAI账户绑定数量统计问题
- 修复删除账户时OpenAI绑定检查逻辑

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-12 15:01:56 +08:00
shaw
b06fa5efe8 fix: 修复OpenAI类型账号数据统计问题
- 修复API Key请求次数、费用、token统计无法记录的问题
- 修复OpenAI账户今日使用统计显示空白的问题
- 修复模型使用详情记录缺失的问题
- 统一OpenAI账户统计数据格式与其他平台保持一致

主要修改:
1. openaiRoutes.js: 将req.apiKeyData改为req.apiKey,与中间件保持一致
2. admin.js: 为OpenAI账户列表接口添加使用统计获取逻辑

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-12 14:21:01 +08:00
github-actions[bot]
7bfac987a8 chore: sync VERSION file with release v1.1.102 [skip ci] 2025-08-11 09:09:13 +00:00
Wesley Liddick
c761b4f3c7 Merge pull request #234 from tanaer/bugfix
Fixes: Gemini账户调度状态在页面刷新后与实际设置不符
2025-08-11 17:08:59 +08:00
wt
0f66ea7d4a Fixes: Gemini账户调度状态在页面刷新后与实际设置不符 2025-08-11 16:48:34 +08:00
shaw
c9678edc41 feat: 自动清理旧tag[skip ci] 2025-08-11 16:47:22 +08:00
shaw
4e02deb3a3 update readme[skip ci] 2025-08-11 16:00:19 +08:00
github-actions[bot]
707ac911a3 chore: sync VERSION file with release v1.1.101 [skip ci] 2025-08-11 07:55:26 +00:00
shaw
ed1f23152d fix: redis服务改为expose并支持Codex cli的api转发 2025-08-11 15:54:59 +08:00
github-actions[bot]
3316fb7072 chore: sync VERSION file with release v1.1.100 [skip ci] 2025-08-11 06:40:35 +00:00
shaw
4643bd8aad fix: 解决Codex cli转发流式响应中断问题 2025-08-11 14:40:02 +08:00
shaw
31f6139699 update readme [skip ci] 2025-08-11 14:14:03 +08:00
github-actions[bot]
08d7d74b9f chore: sync VERSION file with release v1.1.99 [skip ci] 2025-08-11 06:05:04 +00:00
shaw
f462684f97 feat: 实现OpenAI账户管理和统一调度系统
- 新增 OpenAI 账户管理服务,支持多账户轮询和负载均衡
- 实现统一的 OpenAI API 调度器,智能选择最优账户
- 优化成本计算器,支持更精确的 token 计算
- 更新模型定价数据,包含最新的 OpenAI 模型价格
- 增强 API Key 管理,支持更灵活的配额控制
- 改进管理界面,添加教程视图和账户分组管理
- 优化限流配置组件,提供更直观的用户体验

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-11 13:58:43 +08:00
github-actions[bot]
f22a38d24a chore: sync VERSION file with release v1.1.98 [skip ci] 2025-08-10 11:32:44 +00:00
Wesley Liddick
38642a40a3 Merge pull request #228 from qyinter/main
支持 OpenAI 统一 API 转发
2025-08-10 19:32:32 +08:00
千羽
5d9c8216ac chore: commit all changes 2025-08-10 19:09:56 +09:00
千羽
11fc856999 chore: commit all changes 2025-08-10 17:46:31 +09:00
github-actions[bot]
f07efecb10 chore: sync VERSION file with release v1.1.97 [skip ci] 2025-08-10 05:25:16 +00:00
Wesley Liddick
e09c1dda12 Merge pull request #227 from mouyong/dev-local
增强账户管理页面的平台筛选和缓存优化功能
2025-08-10 13:25:02 +08:00
Wesley Liddick
6c5d9bfab2 Merge pull request #225 from kevinconan/main[skip ci]
fix: 修复Claude Console账号模型映射的的流式响应
2025-08-10 13:24:49 +08:00
mouyong
4bcd2878f2 feat: 增强账户管理页面的平台筛选和缓存优化功能
- 添加平台筛选功能到账户管理页面
  * 后端:在所有账户接口中支持platform和groupId查询参数
  * 前端:添加平台筛选下拉框,支持条件性API请求

- 使用智能缓存机制优化数据加载
  * 缓存API Keys、账户分组和分组成员数据
  * 通过Ctrl/⌘+点击刷新按钮实现强制重新加载
  * 在数据变更时自动清除相关缓存(创建/编辑/删除)

- 改进Gemini账户限流状态显示
  * 在geminiAccountService中添加限流信息支持
  * 统一所有平台的限流状态格式
  * 修复仪表板统计,排除被限流的账户

- 提升用户界面体验
  * 将原生title提示替换为Element Plus的el-tooltip组件
  * 支持跨平台键盘快捷键(Ctrl/⌘+点击)
  * ESLint规范合规和代码格式化改进

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-10 12:40:24 +08:00
KevinLiao
87775c9fb1 fix: 修复Claude Console账号模型映射的的流式响应 2025-08-10 08:46:26 +08:00
github-actions[bot]
112ed7a289 chore: sync VERSION file with release v1.1.96 [skip ci] 2025-08-09 06:39:56 +00:00
Wesley Liddick
f270018721 Merge pull request #220 from mouyong/dev-local
增加监控 scripts, 增加 gemini 的路由
2025-08-09 14:39:43 +08:00
mouyong
8bdf495ffa feat: enhance monitoring and Gemini service functionality
- Add enhanced monitoring scripts (monitor-enhanced.sh, status-unified.sh)
- Improve Gemini relay service with better error handling and token management
- Update authentication middleware for better compatibility
- Add new package dependencies for enhanced functionality
- Update .gitignore and app configuration

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-09 14:06:56 +08:00
github-actions[bot]
6a8a668798 chore: sync VERSION file with release v1.1.95 [skip ci] 2025-08-08 12:39:30 +00:00
Wesley Liddick
27ca140fc3 Merge pull request #219 from kevinconan/main
fix: 修复Claude Console账号的模型映射功能
2025-08-08 20:39:18 +08:00
github-actions[bot]
62b0130387 chore: sync VERSION file with release v1.1.94 [skip ci] 2025-08-08 12:37:05 +00:00
shaw
8085a00d24 chore: 更新 .gitignore 和管理脚本
- 在 .gitignore 中添加更多备份文件忽略规则
- 在 manage.sh 脚本中添加切换分支功能
- 优化脚本执行权限设置逻辑

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-08 20:36:33 +08:00
shaw
66857af148 feat: 在 API Keys 页面使用统计栏添加最后使用时间显示
- 在桌面端表格视图的使用统计列中增加最后使用时间
- 在移动端卡片视图的统计区域增加最后使用时间
- 添加 formatLastUsed 函数格式化时间显示
- 时间显示规则与 Accounts 页面保持一致(刚刚/X分钟前/X小时前/X天前/具体日期)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-08 20:27:20 +08:00
KevinLiao
1ff0824a81 fix: 修复prettier格式化 2025-08-08 15:56:32 +08:00
KevinLiao
33df4bf943 fix: 恢复ClaudeConsole 账号模型映射能力 2025-08-08 15:18:41 +08:00
shaw
7e1a9daa6b feat: 完善管理界面功能和用户体验
- 添加 API Key 窗口倒计时组件 (WindowCountdown)
- 添加自定义下拉菜单组件 (CustomDropdown)
- 优化账户和 API Key 管理界面交互
- 改进教程页面布局和说明文字
- 完善账户状态显示和错误处理

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-08 14:14:46 +08:00
shaw
4adc8d9695 恢复并保存本地修改:仪表盘服务账户分类显示、WindowCountdown组件等功能 2025-08-08 11:56:24 +08:00
github-actions[bot]
5bed33cd9c chore: sync VERSION file with release v1.1.93 [skip ci] 2025-08-07 16:35:53 +00:00