52227
|
c67d2bce9d
|
feat: 完善 Antigravity OAuth 功能与权限校验
新增功能:
- 实现 Antigravity OAuth 账户支持与路径分流
- 支持 /antigravity/api 路径自动分流到 Antigravity OAuth 账户
- 支持 gemini-antigravity 平台类型的账户创建和管理
修复问题:
- 修复 OAuthFlow 组件中 gemini-antigravity 平台授权页面空白的问题
- 修复 EditApiKeyModal 中 Redis 返回字符串格式 permissions 导致的 400 错误
- 统一使用 hasPermission 函数进行权限校验,支持数组格式
优化改进:
- 添加 Antigravity 调试环境变量说明
|
2025-12-29 14:23:43 +08:00 |
|
Guccbai
|
33ea26f2ac
|
feat(permissions): 服务权限从单选改为多选
- 将 API Key 的服务权限从单选改为多选,支持同时选择多个服务
- 移除"全部服务"选项,空数组表示允许访问全部服务
- 后端自动兼容旧格式('all' -> [], 'claude' -> ['claude'])
- 前端 radio 改为 checkbox,更新账户选择器联动逻辑
修改文件:
- apiKeyService.js: 添加 normalizePermissions/hasPermission 函数
- api.js, droidRoutes.js, openaiRoutes.js, unified.js, openaiGeminiRoutes.js, geminiHandlers.js: 使用新权限验证函数
- admin/apiKeys.js: 支持数组格式权限验证
- CreateApiKeyModal.vue, EditApiKeyModal.vue: UI 改为 checkbox 多选
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2025-12-17 11:35:11 +08:00 |
|
atoz03
|
354d8da13f
|
feat:已修复详情弹窗位置问题:RecordDetailModal 现在 append-to-body、destroy-on-close,并设定 top="10vh",点击列表底部的“详情”不会被滚动容器截断或浮在页面顶部看不到。
|
2025-12-04 15:17:48 +08:00 |
|
atoz03
|
9fe2918a54
|
feat: keep API key stats modal and add timeline entry point
|
2025-12-04 14:56:27 +08:00 |
|
atoz03
|
92b30e1924
|
feat: add API key usage timeline API and admin UI
|
2025-12-04 14:41:38 +08:00 |
|
shaw
|
b58b8b1ac7
|
feat: 支持apikey测试claude端点
|
2025-11-28 17:16:37 +08:00 |
|
shaw
|
53553c7e76
|
fix: 修复gemini api类型账户绑定显示问题
|
2025-11-28 16:33:31 +08:00 |
|
shaw
|
8d07672ac5
|
fix: 复制完整Claude配置按钮增加export
|
2025-11-26 10:23:19 +08:00 |
|
shaw
|
dea6964116
|
fix: 修复apikeys页面部分bug
|
2025-11-25 20:38:52 +08:00 |
|
shaw
|
bae39d5468
|
feat: 支持Gemini-Api接入
|
2025-11-23 22:00:13 +08:00 |
|
shaw
|
994e474155
|
fix: 修复批量编辑apikey模式无法选择oai账号
|
2025-10-16 14:48:15 +08:00 |
|
shaw
|
f302c94d3c
|
docs: 移除claude code使用droid api相关文档
|
2025-10-13 10:51:06 +08:00 |
|
shaw
|
cea6f976b9
|
fix: 修复批量编辑模式下专属账号修改的问题
|
2025-10-13 09:16:13 +08:00 |
|
shaw
|
2fa1b0b1dc
|
fix: 优化创建apikey成功弹窗
|
2025-10-12 19:59:01 +08:00 |
|
shaw
|
e209a23ae7
|
Merge branch 'pr-532' into merge-pr523
|
2025-10-10 16:37:35 +08:00 |
|
shaw
|
42db271848
|
feat: droid平台账户数据统计及调度能力
|
2025-10-10 15:13:45 +08:00 |
|
litong.41
|
6b1062caa6
|
feat: 优化API Key复制功能,支持一键复制环境变量配置
- 修改"复制 API Key"按钮为"复制配置信息"
- 复制内容包含 ANTHROPIC_BASE_URL 和 ANTHROPIC_AUTH_TOKEN
- 用户无需手动拼接,可直接粘贴使用
- 支持自定义 BASE_URL 配置(通过 VITE_API_BASE_PREFIX 环境变量)
- 自动从浏览器地址获取 BASE_URL(无自定义配置时)
|
2025-10-10 14:27:16 +08:00 |
|
shaw
|
e197fbdf80
|
Merge branch 'pr-485' into dev
|
2025-09-28 09:45:03 +08:00 |
|
shaw
|
0b46eff4ed
|
style: 优化apikeys进度条显示
|
2025-09-27 19:40:55 +08:00 |
|
yaogdu
|
d1bbc71796
|
feat: 🎸 export csv from web and support hourly TTL of key
|
2025-09-27 14:11:54 +08:00 |
|
shaw
|
08c2b7a444
|
fix: 修复PR #458中的totalCostLimit功能问题
主要修复:
- 移除重复的totalUsageLimit字段,统一使用totalCostLimit
- 删除auth.js中重复的总费用限制检查逻辑
- 删除admin.js中重复的totalCostLimit验证代码
- 更新所有前端组件,移除totalUsageLimit引用
功能改进:
- 确保totalCostLimit作为永久累计费用限制正常工作
- 与dailyCostLimit(每日重置)功能互补
- 适用于预付费、一次性API Key场景
测试:
- 删除有逻辑错误的test-total-usage-limit.js
- 创建新的test-total-cost-limit.js验证功能正确性
- 所有测试通过,功能正常工作
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-09-20 17:37:20 +08:00 |
|
itzhan
|
ec28b66e7f
|
feat: 给key增加总用量限制
|
2025-09-19 21:57:24 +08:00 |
|
shaw
|
9c4dc714f8
|
Revert "Merge pull request #424 from Wangnov/feat/i18n"
This reverts commit 1d915d8327, reversing
changes made to 009f7c84f6.
|
2025-09-12 09:21:53 +08:00 |
|
Wangnov
|
97b94eeff9
|
feat: 完成web/admin-spa/src/components/apikeys的国际化并修复语法错误和警告
|
2025-09-12 00:03:05 +08:00 |
|
shaw
|
08946c67ea
|
feat: 新增 OpenAI-Responses 账户管理功能和独立自动停止标记机制
## 功能新增
- 实现 OpenAI-Responses 账户服务(openaiResponsesAccountService.js)
- 支持使用账户内置 API Key 进行请求转发
- 实现每日额度管理和重置机制
- 支持代理配置和优先级设置
- 实现 OpenAI-Responses 中继服务(openaiResponsesRelayService.js)
- 处理请求转发和响应流处理
- 自动记录使用统计信息
- 支持流式和非流式响应
- 新增管理界面的 OpenAI-Responses 账户管理功能
- 完整的 CRUD 操作支持
- 实时额度监控和状态管理
- 支持手动重置限流和每日额度
## 架构改进
- 引入独立的自动停止标记机制,区分不同原因的自动停止
- rateLimitAutoStopped: 限流自动停止
- fiveHourAutoStopped: 5小时限制自动停止
- tempErrorAutoStopped: 临时错误自动停止
- quotaAutoStopped: 额度耗尽自动停止
- 修复手动修改调度状态时自动恢复的问题
- 统一清理逻辑,防止状态冲突
## 其他优化
- getAccountUsageStats 支持不同账户类型参数
- 统一调度器支持 OpenAI-Responses 账户类型
- WebHook 通知增强,支持新账户类型的事件
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-09-10 15:41:52 +08:00 |
|
shaw
|
6e16df0b45
|
fix: 进度条配色优化
|
2025-09-08 22:13:46 +08:00 |
|
shaw
|
73d3df56e5
|
fix: 进度条颜色显示优化
|
2025-09-08 21:11:16 +08:00 |
|
shaw
|
c4f1e7a411
|
fix: api-keys页面布局优化
|
2025-09-08 20:45:19 +08:00 |
|
Edric Li
|
3aa7c89e25
|
feat: 完全移除 API Key 图标功能
彻底删除 API Key 图标功能的所有相关代码:
前端改动:
- 删除 IconPicker.vue 组件文件
- 移除 ApiKeysView.vue 中的图标显示和 updateApiKeyIcon 方法
- 清理 CreateApiKeyModal.vue 中的图标选择器
- 清理 EditApiKeyModal.vue 中的图标选择器
- 移除所有 IconPicker 组件的引用
后端改动:
- 从 apiKeyService.js 中移除 icon 字段更新支持
- 从 admin.js 路由中移除 icon 参数处理和验证逻辑
- 清理创建和更新 API Key 时的 icon 参数
此改动简化了 API Key 管理界面,移除了不必要的图标功能。
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-09-08 16:06:12 +08:00 |
|
Edric Li
|
92ec3ffc72
|
feat: API Keys页面恢复今日时间选项并设为默认
- 添加"今日"时间筛选选项,使用fa-calendar-day图标
- 将默认时间范围从"最近7天"改为"今日"
- 优化日期处理逻辑,确保今日选项从0点开始
- 调整UsageDetailModal宽度以适应内容显示
- 同步更新所有相关的初始化和重置逻辑
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-09-07 22:18:34 +08:00 |
|
Edric Li
|
8c9d6381f3
|
feat: API Keys图标系统和UI优化
主要功能增强:
- 实现API Key自定义图标功能,支持图片上传、裁剪和智能压缩
- 新增IconPicker组件,提供内置图标选择和图片上传功能
- 支持固定尺寸裁剪区域,可拖拽定位选择头像区域
- 智能图片压缩:PNG保留透明度,JPEG用于不透明图片
UI/UX改进:
- 优化表格布局:移除账号列,在名称下方显示账号绑定信息
- 调整行高和字体大小,提升信息密度
- 最后使用时间改为相对时间显示,悬浮显示具体时间
- 过期时间编辑改为点击文本触发,带悬浮下划线效果
- 更新默认API Key图标为蓝色渐变设计
- 修复表格悬浮偏移和横向滚动条问题
- 将"TOKEN 数量"改为"Token数"
后端支持:
- apiKeyService增加icon字段持久化
- admin路由增加图标数据处理和验证
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-09-07 22:18:34 +08:00 |
|
shaw
|
d2f3f6866c
|
feat: Codex账号管理优化与API Key激活机制
✨ 新功能
- 支持通过refreshToken新增Codex账号,创建时立即验证token有效性
- API Key新增首次使用自动激活机制,支持activation模式设置有效期
- 前端账号表单增加token验证功能,确保账号创建成功
🐛 修复
- 修复Codex token刷新失败问题,增加分布式锁防止并发刷新
- 优化token刷新错误处理,提供更详细的错误信息和建议
- 修复OpenAI账号token过期检测和自动刷新逻辑
📝 文档更新
- 更新README中Codex使用说明,改为config.toml配置方式
- 优化Cherry Studio等第三方工具接入文档
- 添加详细的配置示例和账号类型说明
🎨 界面优化
- 改进账号创建表单UI,支持手动和OAuth两种模式
- 优化API Key过期时间编辑弹窗,支持激活操作
- 调整教程页面布局,提升移动端响应式体验
💡 代码改进
- 重构token刷新服务,增强错误处理和重试机制
- 优化代理配置处理,确保OAuth请求正确使用代理
- 改进webhook通知,增加token刷新失败告警
|
2025-09-06 18:04:06 +08:00 |
|
shaw
|
16d397125a
|
feat: 支持apikey名称修改
|
2025-09-03 17:28:13 +08:00 |
|
Feng Yue
|
1fc35197e1
|
Merge remote-tracking branch 'f3n9/dev' into dev-um-8
|
2025-09-03 09:45:52 +08:00 |
|
shaw
|
81ad098678
|
fix: 修复apikeys页面的一些bug
|
2025-09-02 21:38:54 +08:00 |
|
Feng Yue
|
5ee98597e7
|
fix get userlist issue
|
2025-09-02 18:40:16 +08:00 |
|
Feng Yue
|
7a9e4abdd5
|
admin now is able to reassign apikey to admin/user
|
2025-09-02 17:17:06 +08:00 |
|
shaw
|
e84c6a5555
|
feat: 实现基于费用的速率限制功能
- 新增 rateLimitCost 字段,支持按费用进行速率限制
- 新增 weeklyOpusCostLimit 字段,支持 Opus 模型周费用限制
- 优化速率限制逻辑,支持费用、请求数、token多维度控制
- 更新前端界面,添加费用限制配置选项
- 增强账户管理功能,支持费用统计和限制
- 改进 Redis 数据模型,支持费用计数器
- 优化价格计算服务,支持更精确的成本核算
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-08-31 17:27:37 +08:00 |
|
shaw
|
a54622e3d7
|
Revert "Merge pull request #292 from iRubbish/dev"
This reverts commit 9e8e74ce6b, reversing
changes made to 222f4e44fe.
|
2025-08-30 20:09:41 +08:00 |
|
iRubbish
|
82f545c3b0
|
保存当前API Key管理功能的修改
- 统一用户创建和admin创建API Key的逻辑
- 修复admin更新用户创建的API Key功能
- 用户创建API Key名称改为displayName
- 默认无限制配置
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-08-26 13:42:02 +08:00 |
|
shaw
|
85c1e84b42
|
fix: 修复批量编辑组件的 Prettier 格式化问题
- 格式化所有不符合 Prettier 规范的代码
- 修复长标签元素的换行问题
- 确保前端构建成功通过
|
2025-08-22 22:29:58 +08:00 |
|
shaw
|
47a1b37243
|
feat: 为批量编辑API Keys组件添加暗黑模式支持
- 为所有文本、背景、边框添加暗黑模式样式
- 更新表单控件(输入框、选择框、按钮)的暗黑模式样式
- 确保与项目其他组件的暗黑模式风格保持一致
|
2025-08-22 22:24:33 +08:00 |
|
shaw
|
15c8478a96
|
Merge branch 'pr-272' into dev
|
2025-08-22 22:19:00 +08:00 |
|
shaw
|
d2f0ac37a9
|
feat: 支持Dark Mode
|
2025-08-22 22:09:38 +08:00 |
|
iRubbish
|
ee93018c20
|
增加 API keys 批量编辑管理
|
2025-08-22 16:12:04 +08:00 |
|
iRubbish
|
59d013f02f
|
feat: 批量编辑API Keys功能优化和Bug修复
- 添加批量编辑API Keys路由和验证逻辑
- 修复标签操作(添加、移除、替换)功能
- 新增批量编辑前端组件,支持共享账号池选择
- 完善Bedrock账户显示和绑定功能
- 优化账户选择UI,统一所有平台选项
- 修复前端构建错误和代码格式问题
- 添加comprehensive测试场景文档
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-08-22 13:55:39 +08:00 |
|
shaw
|
812e98355f
|
feat: 实现 OpenAI token 自动刷新功能并优化账户管理界面
主要更改:
1. OpenAI Token 自动刷新
- 实现 refreshAccessToken 函数,支持 OAuth 2.0 refresh_token grant type
- 使用 Codex CLI 官方 CLIENT_ID (app_EMoamEEZ73f0CkXaXp7hrann)
- 支持 SOCKS5 和 HTTP/HTTPS 代理
- 自动更新 access token、id token 和 refresh token
2. 账户管理界面优化
- 移除手动刷新 token 按钮(桌面端和移动端)
- 保留后端自动刷新机制
- 优化代码结构,删除不再需要的函数和变量
3. 测试和文档
- 添加 test-openai-refresh.js 测试脚本
- 创建详细的实现文档
技术细节:
- Token 端点: https://auth.openai.com/oauth/token
- 默认有效期: 1小时
- 加密存储: AES-256-CBC
所有平台现在都支持自动 token 刷新:
✅ Claude - OAuth 自动刷新
✅ Gemini - Google OAuth2 自动刷新
✅ OpenAI - OAuth 自动刷新(新实现)
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-08-15 16:56:44 +08: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 |
|
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 |
|