Commit Graph

405 Commits

Author SHA1 Message Date
KevinLiao
bdf125e001 fix: APIKey查询页面数据不正确的情况 2025-07-27 19:51:37 +08:00
github-actions[bot]
fd2a2c8a5b chore: sync VERSION file with release v1.1.33 [skip ci] 2025-07-27 10:42:24 +00:00
KevinLiao
dfabd77928 fix: 调整样式 2025-07-27 18:42:07 +08:00
KevinLiao
85a8cae5ab feat: 新增用户统计页面,并作为默认路由 2025-07-27 18:12:50 +08:00
KevinLiao
a04dd06be9 feat: 新增ApiKey查询页面 2025-07-27 17:38:12 +08:00
github-actions[bot]
da4d6d24f6 chore: sync VERSION file with release v1.1.32 [skip ci] 2025-07-27 08:42:04 +00:00
Wesley Liddick
f424ab8240 Merge pull request #88 from geminiwen/main
feat: add pre-built Docker image reference
2025-07-27 16:41:55 +08:00
Gemini Wen
9db0fdfe3d feat: add pre-built Docker image reference
Add image reference to weishaw/claude-relay-service:latest in docker-compose.yml to enable using pre-built images instead of always building from source.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-27 16:33:35 +08:00
github-actions[bot]
59675bf5ae chore: sync VERSION file with release v1.1.31 [skip ci] 2025-07-27 07:27:18 +00:00
Wesley Liddick
230ce77152 Merge pull request #86 from kevinconan/main
feat: 增加每日费用限制
2025-07-27 15:27:04 +08:00
Wesley Liddick
924aceb824 Merge pull request #87 from geminiwen/main
Support separate deployment by specifying -p pro1 in docker compose up [skip ci]
2025-07-27 15:26:21 +08:00
Gemini Wen
245ce5ed67 opt: remove container name for scale 2025-07-27 15:09:54 +08:00
Gemini Wen
5966692576 fix: simplify docker network configuration
Remove custom subnet configuration from docker-compose network to use default bridge settings.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-27 15:07:13 +08:00
github-actions[bot]
fc67b60fd5 chore: sync VERSION file with release v1.1.30 [skip ci] 2025-07-27 06:48:20 +00:00
KevinLiao
ac1e367a69 feat: 增加每日费用限制 2025-07-27 14:47:59 +08:00
github-actions[bot]
bf9ffa831e chore: sync VERSION file with release v1.1.29 [skip ci] 2025-07-27 04:33:22 +00:00
Wesley Liddick
3b6eb3d8f1 Merge pull request #85 from kevinconan/main
feat: APIKeys 列表,统计周期选项增加今日。
2025-07-27 12:33:13 +08:00
github-actions[bot]
a20bd94f51 chore: sync VERSION file with release v1.1.28 [skip ci] 2025-07-27 04:04:37 +00:00
KevinLiao
375d70ee1f feat: APIKeys 列表,统计周期选项增加今日。 2025-07-27 12:03:22 +08:00
github-actions[bot]
fc58be95b0 chore: sync VERSION file with release v1.1.27 [skip ci] 2025-07-27 03:43:12 +00:00
Wesley Liddick
e15ef83b03 Merge pull request #84 from geminiwen/main
feat: improve dashboard UI formatting and responsive layout
2025-07-27 11:43:03 +08:00
Gemini Wen
5ca568e693 feat: format numbers >= million with M suffix and remove billion k formatting
- Update formatNumber function to display numbers >= 1 million with 'M' suffix
- Remove previous billion formatting with 'k' suffix
- Example: 2,500,000 displays as '2M' for better readability
- Use Math.floor() to ensure no decimal points in formatted numbers

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-27 10:50:39 +08:00
Gemini Wen
2dbcb9d6f3 fix: remove decimal points from k-formatted numbers
- Use Math.floor() to display whole numbers for billion+ values
- Example: 2,500,123,456 displays as '2,500,123k' instead of '2,500,123.456k'
- Cleaner display for large token numbers

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-27 10:04:21 +08:00
Gemini Wen
53e9e421c8 feat: format numbers >= billion with k suffix
- Update formatNumber function to display numbers >= 1 billion with 'k' suffix
- Example: 2,500,000,000 displays as '2,500,000k' for better readability
- Improves token statistics display for large numbers

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-27 10:02:16 +08:00
Gemini Wen
c201a17cd4 feat: add flex-wrap to token display containers
- Add flex-wrap class to both today and total token stat containers
- Allows token numbers and costs to wrap on smaller screens
- Improves responsive layout for token statistics display

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-27 09:58:25 +08:00
Gemini Wen
e7940ea9f3 fix: stat-icons shrink behavior
- Fix missing space in flex-shrink-0 class for yellow stat-icon
- Add missing flex-shrink-0 to indigo stat-icon
- Ensures all stat icons have proper flex behavior

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-27 09:53:36 +08:00
github-actions[bot]
112d660d1f chore: sync VERSION file with release v1.1.26 [skip ci] 2025-07-26 15:12:11 +00:00
Wesley Liddick
eb68fe03c9 Merge pull request #80 from geminiwen/main
fix: improve spacing in Token statistics cards
2025-07-26 23:12:01 +08:00
Gemini Wen
ebccf2116d fix: improve spacing in Token statistics cards
- Add mr-8 right margin to flex-1 containers in Token cards
- Prevents overcrowding between cache data and card icons

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 22:38:14 +08:00
shaw
2a6bb2ab01 feat: 改进 Gemini token 刷新机制和错误处理
- Token 刷新成功后自动将账户状态更新为 active
- 清空之前的错误信息
- 确保账户在成功刷新后可以正常使用

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 14:36:28 +08:00
shaw
4789c03ea3 fix: 修复 Gemini token 刷新时的二次解密错误
- refreshAccountToken 中的 account.refreshToken 已经是解密后的值
- 移除多余的 decrypt() 调用,避免二次解密导致的错误

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 14:34:45 +08:00
shaw
25ab1575ed feat: 改进 Gemini token 刷新测试脚本和添加解密测试脚本
- 修正加密盐值为 'gemini-account-salt'(之前错误使用了其他值)
- 在 test-gemini-refresh.js 中添加详细的调试信息
  - 显示配置信息和加密参数
  - 显示原始加密数据
  - 尝试手动解密并显示结果
  - 更详细的错误信息
- 添加 test-gemini-decrypt.js 用于单独测试解密功能

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 13:56:52 +08:00
shaw
24858f7e51 chore: 删除调试加解密相关脚本
根据用户要求删除临时调试脚本,准备重新分析加密流程

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 13:47:34 +08:00
shaw
adb1868899 feat: 添加修复默认密钥加密的 Gemini 账户脚本
- 检测使用默认密钥加密的数据
- 尝试用默认密钥解密后重新用当前密钥加密
- 解决密钥变更导致的解密失败问题

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 12:37:41 +08:00
shaw
b3cd97ab18 feat: 添加 Gemini token 修复和更新脚本
- fix-gemini-encryption.js: 诊断和修复加密问题
- update-gemini-token.js: 手动更新 refresh token 的工具

解决线上环境加密密钥不一致导致的解密失败问题

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 12:27:06 +08:00
shaw
8f0da8e914 fix: 修复 Gemini 解密调试脚本的密钥生成逻辑
- 使用 config.security.encryptionKey 而不是直接读取环境变量
- 添加 crypto.scryptSync 和 ENCRYPTION_SALT 以匹配实际加密逻辑
- 显示实际使用的加密配置信息

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 12:18:57 +08:00
shaw
a939fcebac feat: 添加 Gemini refreshToken 解密调试脚本
- 检查环境变量中的 ENCRYPTION_KEY
- 显示加密数据的格式信息
- 尝试新旧两种解密方法
- 输出详细的调试信息帮助定位问题

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 12:16:08 +08:00
shaw
3d13542fff fix: 修复 Gemini 账户 refreshToken 解密错误
- 修复 updateAccount 中对已解密数据的二次解密问题
- 改进解密函数,使用固定长度的 IV 避免冒号分隔符问题
- 确保 refreshToken 能正确存储和使用

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 12:10:03 +08:00
shaw
71c2ef5d6d fix: 修复 Gemini token 刷新测试脚本的逻辑问题
- 移除错误的 refreshToken 占位符判断
- 直接使用 getAccount 获取解密后的完整账户信息
- 只有真正没有 refresh token 时才跳过测试

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 12:01:56 +08:00
shaw
dd73045223 feat: 改进 Gemini token 刷新机制和错误处理
- 修复 token 刷新时的错误处理逻辑
- 添加详细的错误日志记录
- 新增 test-gemini-refresh.js 测试脚本
- 更新 CLAUDE.md 文档,添加 Gemini token 刷新故障排除指南

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 11:41:17 +08:00
github-actions[bot]
16b1533753 chore: sync VERSION file with release v1.1.25 [skip ci] 2025-07-26 03:33:40 +00:00
Wesley Liddick
7ffc942a1f Merge pull request #76 from kevinconan/main
fix: docker下没有默认的APIKey客户端限制选项
2025-07-26 11:33:30 +08:00
KevinLiao
1e66838a41 Merge branch 'main' of https://github.com/Wei-Shaw/claude-relay-service 2025-07-26 11:24:57 +08:00
KevinLiao
cd139706a6 fix: config.example.js 添加默认的客户端限制配置 2025-07-26 11:24:34 +08:00
github-actions[bot]
bc1f78611d chore: sync VERSION file with release v1.1.24 [skip ci] 2025-07-26 03:03:16 +00:00
Wesley Liddick
383f33fa77 Merge pull request #72 from kevinconan/main
feat: 增加APIKey 客户端限制功能
2025-07-26 11:03:06 +08:00
KevinLiao
b37a7055ae Merge branch 'main' of https://github.com/Wei-Shaw/claude-relay-service 2025-07-26 10:32:05 +08:00
github-actions[bot]
ff612685f6 chore: sync VERSION file with release v1.1.23 [skip ci] 2025-07-26 02:05:54 +00:00
Wesley Liddick
ab43fd13f0 Merge pull request #71 from lesignals/main
feat: claude账号维度添加使用次数统计
2025-07-26 10:05:44 +08:00
Wesley Liddick
cf0eaf0534 Merge branch 'main' into main 2025-07-26 10:05:24 +08:00