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
|
af8350b850
|
fix: 修复自动生成文件的 Prettier 格式问题
修复 auto-imports.d.ts 和 components.d.ts 的代码格式问题,
确保通过 CI 的 Prettier 格式检查。
|
2025-09-12 00:32:20 +08:00 |
|
Wangnov
|
a039d817db
|
chore: 优化国际化文件格式,移除多余空行
- 统一三个语言文件的代码格式
- 移除多余的空行以保持代码整洁
|
2025-09-12 00:04:11 +08:00 |
|
Wangnov
|
ebafbdcc55
|
feat: 移除未使用的组件声明以优化类型定义
- 从 components.d.ts 文件中移除了多个未使用的组件声明,提升了类型定义的清晰度和可维护性。
- 此变更有助于减少代码冗余,确保组件声明与实际使用保持一致。
|
2025-09-12 00:04:11 +08:00 |
|
Wangnov
|
67e72f1aaf
|
feat: 更新 Element Plus 语言配置处理方式
- 移除了 main.js 中对 zhCn 语言包的直接引用,改为在 App.vue 中通过 ElConfigProvider 处理语言配置。
- 这一变更提升了国际化的灵活性和可维护性,确保语言设置集中管理。
|
2025-09-12 00:04:11 +08:00 |
|
Wangnov
|
99d72516ae
|
feat: 完成 AccountForm.vue 组件的国际化文本替换
- 将多个文本替换为 i18n 语言包中的键,以提升多语言支持和一致性。
- 更新了模型支持描述、用户代理描述、凭证文件描述等文本内容。
- 通过引入 i18n 键,增强了用户界面的可读性和可维护性。
|
2025-09-12 00:04:11 +08:00 |
|
Wangnov
|
5ea3623736
|
feat: 更新 DashboardView.vue 中的系统状态文本为 i18n 语言包中的键
- 将系统状态文本替换为动态获取的 i18n 键,以提升多语言支持和一致性。
|
2025-09-12 00:04:11 +08:00 |
|
Wangnov
|
e36bacfd6b
|
feat: 完成多个组件的国际化支持与文本替换
- 更新 AccountForm.vue 中的占位符文本为 i18n 语言包中的键
- 修改 ConfirmModal.vue 中的确认和取消按钮文本为 i18n 语言包中的键
- 更新 CustomDropdown.vue 中的占位符文本为 i18n 语言包中的键
- 修改 app.js 中的应用标题为英文版本
- 更新 router/index.js 中的日志输出为英文
- 在 accounts.js 和 apiKeys.js 中的错误处理信息中引入 i18n 键以提升多语言一致性
- 更新 dashboard.js 中的系统状态和错误日志为 i18n 键
- 在 DashboardView.vue 中的多个文本替换为 i18n 语言包中的键
|
2025-09-12 00:04:11 +08:00 |
|
Wangnov
|
22e27738aa
|
feat: 更新 ESLint 和 Vite 配置以优化开发体验
- 在 .eslintrc.cjs 中允许在所有环境中使用 console 语句,避免构建警告
- 在 vite.config.js 中提升 chunk 大小限制以消除 UI 库的警告,并明确本地组件的导入设置
|
2025-09-12 00:04:11 +08:00 |
|
Wangnov
|
8522d20cad
|
fix: 修复重复键
|
2025-09-12 00:04:11 +08:00 |
|
Wangnov
|
d5b9f809b0
|
feat: 完成布局/仪表板/用户相关组件国际化与语言切换优化(TabBar/MainLayout/AppHeader、UsageTrend/ModelDistribution、User*、Common 组件、i18n/locale 增强)
|
2025-09-12 00:04:10 +08:00 |
|
Wangnov
|
022724336b
|
feat: Element Plus 语言随 i18n 切换;用户侧登录/禁用提示接入 i18n
|
2025-09-12 00:03:05 +08:00 |
|
Wangnov
|
482eb7c8f7
|
feat: 统一 stores(apiKeys/accounts) 错误回退为 i18n 键,提升多语言一致性
|
2025-09-12 00:03:05 +08:00 |
|
Wangnov
|
01eadea10b
|
feat: stores 部分接入 i18n(auth/settings/apistats/dashboard/clients:标题、错误与日期提示本地化)
|
2025-09-12 00:03:05 +08:00 |
|
Wangnov
|
5f5826ce56
|
feat: 基础本地化支持与通用键补充(useConfirm/useChartConfig/format/apiStats 回退 + common.time/errors 等 i18n 键)
|
2025-09-12 00:03:05 +08:00 |
|
Wangnov
|
97b94eeff9
|
feat: 完成web/admin-spa/src/components/apikeys的国际化并修复语法错误和警告
|
2025-09-12 00:03:05 +08:00 |
|
Wangnov
|
9836f88068
|
feat: 添加Element Plus组件的类型定义
- 在components.d.ts中添加ElDatePicker和ElTooltip的类型定义
- 确保与Element Plus库的兼容性
- 提升代码的类型安全性和可维护性
|
2025-09-12 00:03:03 +08:00 |
|
Wangnov
|
26d8c98c9d
|
feat: 完成UserUsageStatsModal和ChangeRoleModal组件国际化
- 添加用户使用统计模态框的完整国际化支持
* 时间选择器选项(最近24小时/7天/30天/90天)
* 统计卡片(请求数/输入Token/输出Token/总费用)
* API Keys表格表头和状态显示
* 使用趋势图表占位符和无数据状态
- 添加角色变更模态框的完整国际化支持
* 角色选择表单和描述文本
* 动态警告消息(授予/移除管理员权限)
* 按钮状态和成功提示消息
- 更新三种语言文件(zh-cn/en/zh-tw)添加新的翻译键值
- 集成Vue I18n组合式API支持动态参数替换
- 保持响应式翻译和用户体验的一致性
|
2025-09-12 00:03:03 +08:00 |
|
Wangnov
|
2de5191c05
|
feat: 完成三个核心组件的国际化实现
- 完成 GroupManagementModal.vue 组件国际化
* 添加分组管理相关的所有翻译键
* 实现创建、编辑、删除分组功能的多语言支持
- 完成 OAuthFlow.vue 组件国际化
* 支持 Claude、Gemini、OpenAI 三个平台的授权流程
* 修复模板中的语法错误(缺少引号)
* 保留技术性地址不进行翻译
- 完成 ProxyConfig.vue 组件国际化
* 添加代理配置相关的翻译键
* 支持 SOCKS5 和 HTTP 代理类型的多语言显示
- 更新语言文件
* 在 zh-cn.js、en.js、zh-tw.js 中添加所有新的翻译键
* 保持三种语言文件的同步
变更统计:6 文件修改,526 行新增,116 行删除
|
2025-09-12 00:03:03 +08:00 |
|
Wangnov
|
2b40552eab
|
feat: 完成AccountForm组件国际化的最终验证和修复
- 修复遗漏的API URL和API Key标签国际化
- 修复title属性的国际化(复制链接提示)
- 修复Claude Max/Pro订阅类型显示的国际化
- 修复剩余placeholder属性的国际化
- 完成系统性的多维度验证检查:
* ✅ 模板中的硬编码文本
* ✅ JavaScript中的字符串常量
* ✅ 特殊属性(title, placeholder等)
* ✅ 翻译键在三语言文件中的存在性
* ✅ 动态内容和条件渲染
现在AccountForm组件已真正实现完整的三语言国际化支持
|
2025-09-12 00:03:03 +08:00 |
|
Wangnov
|
30acf4a374
|
feat: 修复AccountForm组件中所有遗漏的国际化内容
- 添加60+个新的翻译键到三语言文件
- 国际化所有placeholder属性
- 国际化按钮文本和标签
- 国际化错误消息和验证提示
- 国际化OAuth步骤描述文本
- 国际化Claude功能描述和配置说明
- 确保三种语言完整覆盖所有UI文本
|
2025-09-12 00:03:03 +08:00 |
|
Wangnov
|
be7416386f
|
feat: 完成AccountForm组件剩余模块国际化
|
2025-09-12 00:03:02 +08:00 |
|
Wangnov
|
1beed324d9
|
feat: 完成AccountForm组件剩余模块国际化
- 国际化剩余JavaScript错误消息和验证文本
- 完成AWS Bedrock配置字段和帮助文本国际化
- 完成Azure OpenAI特定字段和描述国际化
- 国际化了150+个翻译键,覆盖三种语言(zh-cn, zh-tw, en)
- 将所有硬编码中文字符串替换为响应式翻译
- 国际化了Toast消息、确认对话框、表单验证等用户交互元素
- 确保了编辑模式和创建模式的完整国际化支持
AccountForm组件国际化工作已基本完成,支持完整的三语言切换体验。
|
2025-09-12 00:03:02 +08:00 |
|
Wangnov
|
2e09896d0b
|
feat: 继续完成AccountForm组件国际化的核心模块
- 完成手动Token输入部分国际化,支持Claude/Gemini/OpenAI三个平台
- 完成编辑模式所有特定功能的国际化:账户信息、类型、分组管理
- 完成Claude高级功能国际化:订阅类型、自动停止调度、统一User-Agent、客户端标识
- 完成Gemini Project ID配置的国际化支持
- 新增150+翻译键,涵盖三种语言(简中/繁中/英文)
- 保持响应式特性和暗黑模式兼容性
技术改进:
- 采用结构化翻译键命名策略 (accountForm.module.item)
- 解决重复字符串精确匹配问题
- 使用上下文信息区分相似文本的不同用法
- 优化用户交互文本:占位符、提示、按钮等
进度:AccountForm组件(3730行)已完成约70%的国际化工作
|
2025-09-12 00:03:02 +08:00 |
|
Wangnov
|
e80c49c1ce
|
feat: 开始 AccountForm 组件国际化
- 扩展语言文件,添加200+条 AccountForm 相关翻译键
- 支持简体中文、繁体中文、英文三种语言
- 添加 useI18n 组合式 API 支持
- 国际化模态框标题、步骤指示器、平台选择等关键UI元素
- 国际化账户类型、分组管理等核心功能
- 国际化 JavaScript 中的Toast消息和确认对话框
- 为多平台(Claude、Gemini、OpenAI、Azure OpenAI、Bedrock、Claude Console)提供完整翻译支持
这是一个大型组件(3730行)的渐进式国际化工作,后续将继续完善其余部分。
|
2025-09-12 00:03:02 +08:00 |
|
Wangnov
|
27034997a6
|
feat: 完成用户相关组件的完整国际化支持
* 扩展语言文件新增用户功能翻译键
- 新增 user.dashboard、user.login、user.management 翻译组
- 涵盖三语言支持(zh-cn/zh-tw/en)
- 包含120+翻译键covering用户仪表板、登录、管理功能
* UserDashboardView.vue 完整国际化
- 集成useI18n composable
- 国际化导航标签、统计卡片、账户信息
- 响应式翻译Toast消息和错误处理
* UserLoginView.vue 完整国际化
- 国际化登录表单标签、占位符、按钮文本
- 响应式验证消息和状态提示
- 支持动态语言切换
* UserManagementView.vue 完整国际化
- 国际化用户列表、搜索过滤器、操作按钮
- 响应式确认对话框和Toast通知
- 支持参数化翻译消息(用户名、数量等)
Technical implementation:
- 遵循Vue 3 Composition API最佳实践
- 保持响应式设计和暗黑模式兼容性
- 统一错误处理和用户体验
|
2025-09-12 00:03:02 +08:00 |
|
Wangnov
|
24ad052d02
|
feat: 完成SettingsView页面完整国际化支持
- 扩展三个语言文件,添加198个settings翻译键,支持中英繁三语言
- 完成SettingsView.vue所有1604行的系统化国际化处理:
* 完整国际化HTML模板:页面标题、导航标签、品牌设置、Webhook设置等
* 完整国际化JavaScript功能:Toast消息、确认对话框、表单验证、错误处理
* 集成Vue i18n:添加useI18n composable,实现响应式翻译支持
* 转换静态函数为响应式翻译,支持语言切换时实时更新
- 主要功能模块全面国际化:
* 品牌设置:网站名称、图标管理、管理入口配置完全国际化
* Webhook通知:7种平台类型、通知类型、高级设置完全国际化
* 模态框:复杂的平台添加/编辑表单完全国际化
* 响应式布局:桌面端表格和移动端卡片视图完全适配
* 错误处理:37个Toast消息、确认对话框、表单验证完全国际化
现在SettingsView完全支持多语言切换,与其他页面保持一致的国际化标准
|
2025-09-12 00:03:02 +08:00 |
|
Wangnov
|
19ca374527
|
feat: 完成ApiKeysView页面完整国际化支持
- 扩展三个语言文件,添加167个apiKeys翻译键,支持中英繁三语言
- 完成ApiKeysView.vue所有2869行的系统化国际化处理:
* 完整国际化HTML模板:页面标题、Tab导航、表格标题、筛选器、状态指示等
* 完整国际化JavaScript功能:Toast消息、确认对话框、错误处理、时间格式化
* 集成Vue i18n:添加useI18n composable,实现响应式翻译支持
* 转换静态选项为计算属性,支持语言切换时实时更新
- 主要功能模块全面国际化:
* 主界面:标题描述、Tab导航、工具栏按钮完全国际化
* 数据表格:表头、状态标签、统计信息、操作按钮全面适配
* 移动端视图:卡片布局、统计展示、操作按钮完全国际化
* 已删除管理:已删除API Keys的表格和操作完全国际化
* 确认对话框:所有删除、恢复、清空操作的确认信息国际化
* 错误处理:统一的错误消息和成功提示国际化
现在ApiKeysView完全支持多语言切换,与AccountsView保持一致的国际化标准
|
2025-09-12 00:03:02 +08:00 |
|
Wangnov
|
27c0804219
|
feat: 完成AccountsView页面完整国际化
- 添加useI18n导入并替换100+硬编码中文文本
- 扩展三种语言文件的accounts翻译键(150+条)
- 更新下拉选项为响应式计算属性支持动态翻译
- 国际化页面标题、表格列头、筛选器和操作按钮
- 处理状态文本、错误消息和工具提示
- 更新JavaScript函数返回值使用翻译键
- 完整支持桌面端和移动端视图的国际化
- 修正货币符号和时间格式化的参数化翻译
涵盖组件:
- 账户管理主界面(标题、描述、筛选器)
- 桌面端表格视图(列头、状态、操作按钮)
- 移动端卡片视图(标签、按钮、状态)
- 错误处理和确认对话框
- 时间和数值格式化函数
|
2025-09-12 00:03:02 +08:00 |
|
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 |
|
shaw
|
009f7c84f6
|
fix: 简化css动画以降低gpu占用高问题
|
2025-09-11 22:22:05 +08: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 |
|
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 |
|
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 |
|
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 |
|
sususu98
|
5938180583
|
Merge branch 'Wei-Shaw:dev' into dev
|
2025-09-10 14:40:46 +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
|
27fe3b6853
|
Merge branch 'dev' into main
|
2025-09-10 14:04:27 +08:00 |
|