Wangnov
cd7959f3bf
feat: 实现DashboardView.vue完整国际化支持
...
- 完成DashboardView.vue全面国际化
* 主要统计卡片:总API Keys、服务账户、今日请求、系统状态全部多语言化
* Token统计模块:今日Token、总消耗量、实时RPM/TPM指标完整国际化
* 实时性能监控:请求数/Token数每分钟指标、历史数据标识多语言化
* 图表组件完整国际化:饼图、趋势图、API Keys使用趋势图
* 交互控件全面支持:日期选择器、粒度切换、自动刷新等
- 图表系统深度国际化
* Chart.js图表标签完全多语言化:Token使用趋势、模型分布等
* 工具提示和坐标轴标签支持动态语言切换
* 表格头部和数据展示完整国际化支持
- 扩展三语言dashboard翻译组
* zh-cn.js: 简体中文专业术语翻译
* zh-tw.js: 繁体中文技术翻译(快取、即時等台湾用词)
* en.js: 英文专业技术术语标准翻译
* 总计90+个翻译键值,涵盖所有用户可见文本
- 平台账户工具提示国际化
* Claude/Console/Gemini/Bedrock/OpenAI/Azure OpenAI账户状态
* 支持参数化翻译,动态显示账户数量和状态
- 提升复杂业务场景多语言体验
* 管理后台核心数据可视化页面完全国际化
* 60+个硬编码中文字符串全部替换
* 确保不同语言环境下数据展示的专业性
2025-09-12 00:03:02 +08:00
Wangnov
e88e97b485
feat: 实现AppHeader和LoginView完整国际化支持
...
- 完成AppHeader.vue全面国际化
* 版本检查和更新通知系统多语言支持
* 用户菜单和账户信息修改模态框国际化
* 退出登录确认流程多语言化
* 总计替换30+个硬编码中文字符串
- 实现LoginView.vue完整国际化
* 登录表单所有文本支持多语言
* 添加语言切换组件到登录页面
* 确保用户可在登录前选择语言
- 扩展三语言翻译文件
* zh-cn.js: 简体中文标准翻译
* zh-tw.js: 繁体中文专业化翻译
* en.js: 英文技术术语标准翻译
* 新增header和login完整翻译组
- 提升用户体验
* 登录页面右上角工具栏(语言+主题切换)
* 响应式布局适配多设备
* 完整的首次访问多语言体验
2025-09-12 00:03:02 +08:00
Wangnov
4aae4aaec0
feat: 完成API统计组件完整国际化支持
...
- 完成6个apistats组件的全面国际化改造
* ModelUsageStats.vue - 模型使用统计
* AggregatedStatsCard.vue - 聚合统计卡片
* StatsOverview.vue - 统计概览
* LimitConfig.vue - 限制配置
* TokenDistribution.vue - Token使用分布
* ApiKeyInput.vue - API Key输入组件
- 扩展三语言翻译支持(zh-cn/zh-tw/en)
* 新增100+专业翻译键涵盖所有UI文字
* 台湾本地化的繁体中文翻译
* 技术专业的英文术语翻译
* 支持参数化翻译处理动态内容
- 技术优化
* 统一使用Vue 3 Composition API的useI18n()模式
* 智能日期格式国际化处理
* 完全消除硬编码中文文字
* 支持条件性翻译和动态时间段显示
现在整个API统计功能模块支持完整的多语言切换体验
2025-09-12 00:03:02 +08:00
Wangnov
c7e1a3429d
feat: 完善教程系统国际化架构并完成英文教程翻译
...
- 创建分离式多语言教程组件架构
- TutorialView-zh-cn.vue (简体中文教程)
- TutorialView-zh-tw.vue (繁体中文教程,统一台湾语言习惯)
- TutorialView-en.vue (英文教程,全面翻译用户界面和技术文档)
- 重构教程路由系统
- 新的TutorialView.vue作为国际化代理组件
- 根据用户语言设置动态选择合适的教程组件
- 保持/tutorial路径可访问性,提升用户体验
- 完成英文教程完整翻译
- Windows/macOS/Linux安装教程全英文化
- 环境变量配置说明英文化
- 故障排除章节英文化
- JavaScript注释和用户界面文本英文化
- 优化国际化架构
- ApiStatsView使用新的分离式教程组件
- 统一的语言选择逻辑和组件复用
- 更清晰的代码组织和维护性
2025-09-12 00:03:02 +08:00
Wangnov
74d37486b8
chore: 添加Vue组件和composables自动导入类型定义
...
- 添加unplugin-vue-components自动生成的组件类型定义
- 添加unplugin-auto-import自动生成的composables类型定义
- 为TypeScript提供更好的类型支持和IDE智能提示
2025-09-12 00:03:02 +08:00
Wangnov
1eadc94592
feat: 实现ApiStatsView页面完整国际化
...
- 集成vue-i18n到ApiStatsView,支持动态语言切换
- 国际化所有用户界面文本:页面标题、按钮、Tab标签、时间选择器
- 实现LogoTitle动态subtitle,根据当前tab显示对应语言的标题
- 添加语言切换组件到页面header,与主题切换并列显示
- 实现教程内容的整体替换机制,支持基于语言的动态组件选择
- 确保用户登录、管理后台、统计查询等核心功能完全本地化
2025-09-12 00:03:02 +08:00
Wangnov
87591365bc
feat: 在AppHeader中集成语言切换组件
...
- 在AppHeader主导航栏中添加LanguageSwitch组件
- 使用dropdown模式和medium尺寸提供最佳用户体验
- 与现有ThemeToggle组件并列放置,保持界面一致性
- 为管理后台提供全局语言切换功能
2025-09-12 00:03:02 +08:00
Wangnov
f4b873315a
feat: 创建语言切换组件
...
- 创建LanguageSwitch.vue组件,支持dropdown/button/icon三种显示模式
- 实现点击外部自动关闭下拉菜单功能
- 支持size属性控制组件大小(small/medium/large)
- 集成locale store实现语言切换和状态同步
- 使用纯文字标识符显示:简/繁/EN,提供清晰的语言选择界面
- 下拉菜单显示完整语言名称:简体中文/繁體中文/English
2025-09-12 00:03:02 +08:00
Wangnov
cb1b7bc0e3
feat: 实现i18n核心配置和语言状态管理
...
- 创建i18n配置系统,支持简体中文/繁体中文/英文三种语言
- 实现浏览器语言自动检测和localStorage持久化
- 添加基础翻译文件,包含common、language、header、apiStats模块
- 创建locale store使用Pinia管理语言状态
- 配置语言标识符为纯文字:简/繁/EN,去除国旗emoji
2025-09-12 00:03:01 +08:00
Wangnov
504b9e3ea7
feat: 添加vue-i18n依赖和基础配置
...
- 安装vue-i18n@9.x作为项目国际化解决方案
- 在main.js中集成i18n插件到Vue应用
- 配置支持简体中文、繁体中文、英文三种语言
2025-09-12 00:03:01 +08:00
github-actions[bot]
19ad0cd5f8
chore: sync VERSION file with release v1.1.138 [skip ci]
2025-09-11 14:26:42 +00:00
shaw
009f7c84f6
fix: 简化css动画以降低gpu占用高问题
2025-09-11 22:22:05 +08:00
shaw
7c4feec5aa
feat: 添加账户状态监控和自动恢复机制
...
- 实现账户健康度监控系统,支持30分钟内错误率检测
- 添加自动恢复机制,失败账户在30分钟后自动尝试恢复
- 优化账户选择策略,优先选择健康账户
- 增强Redis键管理,添加账户状态和错误追踪功能
- 改进Gemini服务错误处理和重试逻辑
- 新增standardGeminiRoutes标准化路由支持
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-11 22:02:53 +08:00
github-actions[bot]
b6b16d05f0
chore: sync VERSION file with release v1.1.137 [skip ci]
2025-09-11 03:55:21 +00:00
shaw
02989a7588
fix: 修复CCR账户表单验证和平台分组逻辑
...
- 修复CCR账户创建时的表单字段验证
- 统一CCR与Claude Console的处理逻辑
- 修复账户删除前的API Key绑定检查
- 修复Claude Console账户绑定的API Key计数
- 优化平台分组判断逻辑
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-11 11:54:27 +08:00
shaw
fef2c8c3c2
feat: 优化ProxyConfig组件添加代理URL智能识别功能
...
- 新增快速配置输入框,支持粘贴完整代理URL自动填充表单
- 支持多种格式自动识别:socks5://、http://、https://、host:port
- 自动忽略#后的别名部分
- 粘贴即解析,输入即智能识别
- 添加实时解析成功/失败提示
- 优化用户体验,无需失去焦点即可触发解析
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-11 11:52:41 +08:00
github-actions[bot]
c0735b1bc5
chore: sync VERSION file with release v1.1.136 [skip ci]
2025-09-11 01:48:57 +00:00
shaw
0eb95b3b06
refactor: 清理模型限制检查的冗余代码
...
优化内容:
- 删除 claudeRelayService.js 中的重复模型限制检查(82行代码)
- 保留 api.js 中的统一检查,覆盖所有服务类型(claude/console/ccr)
- 移除 /v1/messages/count_tokens 端点的模型限制(计数接口不需要限制)
架构改进:
- 模型限制逻辑现在集中在 api.js 的 handleMessagesRequest 函数中
- 避免了每个服务各自实现一遍的重复代码
- 提高了代码的可维护性和一致性
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-11 09:43:15 +08:00
shaw
f667a95d88
fix: 修复模型限制功能逻辑错误(从白名单改回黑名单)
...
问题原因:
- 在提交 7f9869ae 添加CCR支持时,错误地将模型限制从黑名单改成了白名单
- 前端UI显示"设置此API Key无法访问的模型",明确表示这是黑名单
- 后端却将其当作白名单处理,导致逻辑完全相反
修复内容:
- 将判断逻辑从 !includes 改回 includes(黑名单逻辑)
- 更新注释和日志消息,明确这是"限制列表"而非"允许列表"
- 同时修复了 api.js 和 claudeRelayService.js 中的所有相关判断
影响范围:
- src/routes/api.js: 修复 /v1/messages 和 /v1/messages/count_tokens 端点的模型限制判断
- src/services/claudeRelayService.js: 修复流式和非流式请求的模型限制判断
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-11 09:35:04 +08:00
github-actions[bot]
03db930354
chore: sync VERSION file with release v1.1.135 [skip ci]
2025-09-11 01:17:31 +00:00
shaw
2fcfccb2fc
Merge branch 'dev' of github.com:Wei-Shaw/claude-relay-service into dev
2025-09-10 22:46:18 +08:00
shaw
78adf82f0d
fix: 优化账户表单组件的UI和功能
...
- 将 CCR 描述从 "Claude Connector" 更正为 "Claude Code Router"
- 隐藏限流时长输入字段,统一使用默认值 60 分钟
- 为 OpenAI-Responses 平台添加分组支持
- 清理 CcrAccountForm 中的冗余标签文字
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-10 22:44:05 +08:00
Wesley Liddick
fe1f05fadd
Merge pull request #411 from bottotl/main
...
兼容 sider 自定义 API
2025-09-10 22:36:54 +08:00
root
cd5573ecde
Fix Prettier formatting issues
...
- Remove trailing whitespace and fix indentation in src/app.js
- Format whitespace in src/middleware/auth.js
- Fix formatting and add missing newline in src/middleware/browserFallback.js
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-10 09:13:51 +00:00
Wesley Liddick
fcc2f51f81
Merge pull request #407 from sususu98/dev
...
fix: 更新会话续期逻辑,调整续期阈值和TTL设置,确保统一调度会话映射按配置正确续期
2025-09-10 16:36:55 +08:00
root
4fd4dbfa51
fix: 回退401错误处理逻辑到原始版本
...
- 恢复"遇到1次401就停止调度"的原始逻辑
- 移除"记录401错误但不停用账号"的临时修改
- 修复非流式和流式请求中的401处理逻辑
- 确保401错误会立即标记账号为异常状态
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-10 08:20:17 +00:00
sususu98
ce8706d1b6
Merge branch 'Wei-Shaw:dev' into dev
2025-09-10 15:56:03 +08:00
sususu98
d3fcd95b94
refactor: improve readability of conditional statements
2025-09-10 15:55:34 +08:00
sususu98
433f0c5f23
fix: 更新会话续期逻辑,调整续期阈值和TTL设置,确保统一调度会话映射按配置正确续期
2025-09-10 15:53:23 +08:00
shaw
7712d5516c
merge: 合并远程 dev 分支,整合 CCR 和 OpenAI-Responses 功能
...
## 合并内容
- 成功合并远程 dev 分支的 CCR (Claude Connector) 功能
- 保留本地的 OpenAI-Responses 账户管理功能
- 解决所有合并冲突,保留双方功能
## UI 调整
- 将 CCR 平台归类到 Claude 分组中
- 保留新的平台分组选择器设计
- 支持所有平台类型:Claude、CCR、OpenAI、OpenAI-Responses、Gemini、Azure OpenAI、Bedrock
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-10 15:49:52 +08:00
root
bdae9d6ceb
feat: 添加Chrome插件兜底支持,解决第三方插件401错误问题
...
• 新增browserFallback中间件,自动识别并处理Chrome插件请求
• 增强CORS支持,明确允许chrome-extension://来源
• 优化请求头过滤,移除可能触发Claude CORS检查的浏览器头信息
• 完善401错误处理逻辑,避免因临时token问题导致账号被错误停用
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-10 07:48:41 +00: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
Wesley Liddick
8b0e9b8d8e
Merge pull request #404 from sususu98/dev
...
feat: 添加 CCR (Claude Code Router) 账户类型支持
2025-09-10 15:22:29 +08:00
sususu98
1dd00e1463
format
2025-09-10 14:46:06 +08:00
sususu98
5938180583
Merge branch 'Wei-Shaw:dev' into dev
2025-09-10 14:40:46 +08:00
Wesley Liddick
fb6d0e7f55
Merge pull request #403 from Wei-Shaw/revert-401-main
...
Revert "合并所有新功能到Wei-Shaw仓库(排除ApiStatsView.vue)"
2025-09-10 14:40:00 +08:00
Wesley Liddick
3c5068866c
Revert "合并所有新功能到Wei-Shaw仓库(排除ApiStatsView.vue)"
2025-09-10 14:37:52 +08:00
sususu98
c0059c68eb
Merge branch 'Wei-Shaw:dev' into dev
2025-09-10 14:22:45 +08:00
sususu98
7f9869ae20
feat: 添加 CCR (Claude Code Router) 账户类型支持
...
实现通过供应商前缀语法进行 CCR 后端路由的完整支持。
用户现在可以在 Claude Code 中使用 `/model ccr,model_name` 将请求路由到 CCR 后端。
暂时没有实现`/v1/messages/count_tokens`,因为这需要在CCR后端支持。
CCR类型的账户也暂时没有考虑模型的支持情况
## 核心实现
### 供应商前缀路由
- 添加 modelHelper 工具用于解析模型名称中的 `ccr,` 供应商前缀
- 检测到前缀时自动路由到 CCR 账户池
- 转发到 CCR 后端前移除供应商前缀
### 账户管理
- 创建 ccrAccountService 实现 CCR 账户的完整 CRUD 操作
- 支持账户属性:名称、API URL、API Key、代理、优先级、配额
- 实现账户状态:active、rate_limited、unauthorized、overloaded
- 支持模型映射和支持模型配置
### 请求转发
- 实现 ccrRelayService 处理 CCR 后端通信
- 支持流式和非流式请求
- 从 SSE 流中解析和捕获使用数据
- 支持 Bearer 和 x-api-key 两种认证格式
### 统一调度
- 将 CCR 账户集成到 unifiedClaudeScheduler
- 添加 \_selectCcrAccount 方法用于 CCR 特定账户选择
- 支持 CCR 账户的会话粘性
- 防止跨类型会话映射(CCR 会话仅用于 CCR 请求)
### 错误处理
- 实现全面的错误状态管理
- 处理 401(未授权)、429(速率限制)、529(过载)错误
- 成功请求后自动从错误状态恢复
- 支持可配置的速率限制持续时间
### Web 管理界面
- 添加 CcrAccountForm 组件用于创建/编辑 CCR 账户
- 将 CCR 账户集成到 AccountsView 中,提供完整管理功能
- 支持账户切换、重置和使用统计
- 在界面中显示账户状态和错误信息
### API 端点
- POST /admin/ccr-accounts - 创建 CCR 账户
- GET /admin/ccr-accounts - 列出所有 CCR 账户
- PUT /admin/ccr-accounts/:id - 更新 CCR 账户
- DELETE /admin/ccr-accounts/:id - 删除 CCR 账户
- PUT /admin/ccr-accounts/:id/toggle - 切换账户启用状态
- PUT /admin/ccr-accounts/:id/toggle-schedulable - 切换可调度状态
- POST /admin/ccr-accounts/:id/reset-usage - 重置每日使用量
- POST /admin/ccr-accounts/:id/reset-status - 重置错误状态
## 技术细节
- CCR 账户使用 'ccr' 作为 accountType 标识符
- 带有 `ccr,` 前缀的请求绕过普通账户池
- 转发到 CCR 后端前清理模型名称内的`ccr,`
- 从流式和非流式响应中捕获使用数据
- 支持缓存令牌跟踪(创建和读取)
2025-09-10 14:21:48 +08:00
Wesley Liddick
61cf1166ff
Merge pull request #401 from DuanNaiSheQu/main
...
合并所有新功能到Wei-Shaw仓库(排除ApiStatsView.vue)
2025-09-10 14:08:10 +08:00
Wesley Liddick
27fe3b6853
Merge branch 'dev' into main
2025-09-10 14:04:27 +08:00
DuanNaiSheQu
af3d688e98
合并所有新功能到Wei-Shaw仓库(排除ApiStatsView.vue)
...
✨ 新增功能:
- GPT-5 High推理级别费用追踪和限制
- API Key图标上传功能
- 优化的进度条显示组件
- 暗黑模式UI兼容
- 完整的前后端集成
🔥 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-10 13:38:27 +08:00
Wesley Liddick
1c3b74f45b
Merge pull request #389 from iaineng/dev
...
fix(ui): correct table row striping in API Keys view
2025-09-09 14:18:06 +08:00
iaineng
929852a881
fix(ui): correct table row striping in API Keys view
...
Fixed second row appearing white due to invalid Tailwind CSS class bg-gray-850.
Replaced with valid bg-gray-700/30 for odd rows and kept bg-gray-800/40 for even rows
to enhance dark mode contrast.
2025-09-09 13:52:38 +08:00
Wesley Liddick
c58d8d2040
Merge pull request #387 from f3n9/main-um-8
...
修复用户自行创建的API Key缺少服务权限信息的问题
2025-09-09 13:37:28 +08:00
Feng Yue
4ee9e0b546
API Keys created by users have all permissions by default
2025-09-09 12:52:34 +08:00
Wesley Liddick
8064bc24b9
Merge pull request #382 from Edric-Li/feat/add-account-info-to-error-logs
...
feat: 在错误日志中添加账号信息
2025-09-09 12:26:45 +08:00
Wesley Liddick
4592773ea2
Merge pull request #381 from Edric-Li/fix/dedicated-account-schedulable-check
...
fix: 修复专属账号停止调度后仍能使用的问题
2025-09-09 12:19:41 +08:00
Wesley Liddick
da744528bc
Merge pull request #383 from Edric-Li/feature/smtp-notification
...
feat: 添加SMTP邮件通知功能
2025-09-09 12:19:26 +08:00
Wesley Liddick
d3577fae03
Merge pull request #380 from Edric-Li/feature/529-error-handling
...
feat: 为普通Claude账户添加529错误处理功能
2025-09-09 12:19:07 +08:00