shaw
|
2c71c8b968
|
Merge PR #119: 支持自定义模型和优化模型选择
|
2026-01-01 17:02:54 +08:00 |
|
Edric Li
|
fb86002ef9
|
feat: 添加模型白名单选择器组件,同步 new-api 模型列表
- 新增 ModelWhitelistSelector.vue 支持模型白名单多选
- 新增 ModelIcon.vue 显示品牌图标(基于 @lobehub/icons)
- 新增 useModelWhitelist.ts 硬编码各平台模型列表
- 更新账号编辑表单支持模型白名单配置
- 支持 Claude/OpenAI/Gemini/智谱/百度/讯飞等主流平台
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-01 16:03:48 +08:00 |
|
ianshaw
|
7df914af06
|
feat(gemini): 添加 Google One 存储空间推断 Tier 功能
## 功能概述
通过 Google Drive API 获取存储空间配额来推断 Google One 订阅等级,并优化统一的配额显示系统。
## 后端改动
- 新增 Drive API 客户端 (drive_client.go)
- 支持代理和指数退避重试
- 处理 403/429 错误
- 添加 Tier 推断逻辑 (inferGoogleOneTier)
- 支持 6 种 tier 类型:AI_PREMIUM, GOOGLE_ONE_STANDARD, GOOGLE_ONE_BASIC, FREE, GOOGLE_ONE_UNKNOWN, GOOGLE_ONE_UNLIMITED
- 集成到 OAuth 流程
- ExchangeCode: 授权时自动获取 tier
- RefreshAccountToken: Token 刷新时更新 tier (24小时缓存)
- 新增管理 API 端点
- POST /api/v1/admin/accounts/:id/refresh-tier (单个账号刷新)
- POST /api/v1/admin/accounts/batch-refresh-tier (批量刷新)
## 前端改动
- 更新 AccountQuotaInfo.vue
- 添加 Google One tier 标签映射
- 添加 tier 颜色样式 (紫色/蓝色/绿色/灰色/琥珀色)
- 更新 AccountUsageCell.vue
- 添加 Google One tier 显示逻辑
- 根据 oauth_type 区分显示方式
- 添加国际化翻译 (en.ts, zh.ts)
- aiPremium, standard, basic, free, personal, unlimited
## Tier 推断规则
- >= 2TB: AI Premium
- >= 200GB: Google One Standard
- >= 100GB: Google One Basic
- >= 15GB: Free
- > 100TB: Unlimited (G Suite legacy)
- 其他/失败: Unknown (显示为 Personal)
## 优雅降级
- Drive API 失败时使用 GOOGLE_ONE_UNKNOWN
- 不阻断 OAuth 流程
- 24小时缓存避免频繁调用
## 测试
- ✅ 后端编译成功
- ✅ 前端构建成功
- ✅ 所有代码符合现有规范
|
2025-12-31 21:45:24 -08:00 |
|
shaw
|
c328b741cb
|
Merge PR #73: feat(antigravity): 添加 Antigravity (Cloud AI Companion) 平台支持
新增功能:
- Antigravity OAuth 授权流程支持
- Claude → Gemini 协议转换(Claude API 请求自动转换为 Gemini 格式)
- 配额刷新和状态显示
- 混合调度功能,支持 Anthropic 和 Antigravity 账户混合使用
- /antigravity 专用路由,支持仅使用 Antigravity 账户
- 前端 Antigravity 服务商标识和账户管理功能
冲突解决:
- CreateAccountModal.vue: 合并 data-tour 属性和 mixed-scheduling 属性
- EditAccountModal.vue: 合并 data-tour 属性和 mixed-scheduling 属性
代码质量改进:
- 修复 antigravity 类型文件的 gofmt 格式问题(struct 字段对齐、interface{} → any)
- 移除 .golangci.yml 中的 gofmt 排除规则
- 修复测试文件的格式问题
|
2025-12-29 20:32:20 +08:00 |
|
shaw
|
4bbf71b7da
|
fix(frontend): 修复新手引导中Select下拉框无法点击的问题
- 使用 Teleport 将 Select 下拉菜单渲染到 body,避免 driver.js 遮罩层阻挡
- 添加 pointer-events 和 @click.stop 确保下拉选项可点击
- 移除 useOnboardingTour 中无效的 Select 组件处理代码
- 清理未使用的 CSS 样式和 console 调试语句
- 简化 Select 组件在引导期间的交互逻辑
|
2025-12-29 19:38:33 +08:00 |
|
shaw
|
ef22d6f628
|
chore(frontend): 移除未使用的新手引导组件残留代码
删除开发过程中遗留的未使用文件:
- TourDescription.vue: 未被使用的结构化描述组件
- useTourStepDescription.ts: 步骤key映射,引用的组件从未创建
- TourStepDescriptions/: 空的组件目录
当前实现通过 i18n + HTML 字符串直接提供描述内容,无需这些文件。
|
2025-12-29 17:12:19 +08:00 |
|
IanShaw027
|
6a55b153fc
|
fix(frontend): 移除未使用的常量声明
|
2025-12-29 16:06:38 +08:00 |
|
IanShaw027
|
e847cfc8a0
|
fix(frontend): 优化新手引导交互体验
1. 移除重复的"不再提示"按钮
- 只保留右上角的关闭按钮(X)
- 简化用户操作,避免混淆
2. 移除退出确认框
- 点击关闭按钮直接退出并标记为已看过
- ESC 键也直接退出,不再弹出确认框
- 提升用户体验,减少打扰
3. 修复 Select 下拉菜单被遮挡问题
- 增加被高亮元素的下拉菜单 z-index
- 确保下拉菜单在引导 popover 之上显示
- 解决步骤 5/21 (平台选择) 无法操作的问题
|
2025-12-29 16:04:17 +08:00 |
|
IanShaw027
|
337d9ad755
|
fix(frontend): 简易模式下禁用新手引导并优化显示逻辑
修复 Gemini 审查发现的潜在问题,并增强新手引导功能:
1. 简易模式下完全禁用新手引导
- useOnboardingTour: 添加 isSimpleMode 判断,简易模式下不自动启动
- 只在标准模式的管理员第一次加载时自动弹出
2. 动态过滤简易模式相关步骤
- steps.ts: getAdminSteps 添加 isSimpleMode 参数
- 简易模式下自动过滤分组管理和账号分组选择步骤
- 避免引导找不到被隐藏的元素
3. 优化引导按钮显示条件
- AppHeader: 添加 showOnboardingButton computed
- 只在标准模式的管理员下显示"重新开始引导"按钮
- 非管理员或简易模式下不显示按钮
4. 确保引导只在首次自动弹出
- 关闭后不再自动出现
- 只能从右上角手动重新打开
|
2025-12-29 15:43:37 +08:00 |
|
IanShaw027
|
dd247e55e9
|
feat(frontend): 实现新手引导功能
- 添加 Guide 组件和引导步骤配置
- 实现 useOnboardingTour 和 useTourStepDescription composables
- 添加 onboarding store 管理引导状态
- 更新多个视图和组件以支持引导功能
- 添加国际化支持(中英文)
- 删除旧的实现指南文档
|
2025-12-29 15:43:24 +08:00 |
|
song
|
6648e6506c
|
feat: 添加 Antigravity (Cloud AI Companion) OAuth 授权支持
|
2025-12-28 15:54:42 +08:00 |
|
shaw
|
016d7ef645
|
feat: 增强前端clipboard功能
|
2025-12-27 15:16:52 +08:00 |
|
ianshaw
|
1bec35999b
|
feat(frontend): 添加 Gemini OAuth 能力查询 API
- 添加 GeminiOAuthCapabilities 类型定义
- 添加 getCapabilities API 函数
- useGeminiOAuth composable 导出 getCapabilities 方法
|
2025-12-26 00:11:03 -08:00 |
|
ianshaw
|
09431cfc0b
|
feat(frontend): 支持 Gemini OAuth 类型选择 (Code Assist/AI Studio)
- CreateAccountModal.vue: 新增 OAuth 类型选择 UI
- ReAuthAccountModal.vue: 重授权支持选择类型
- OAuthAuthorizationFlow.vue: 新增 Project ID 输入框
- AccountTestModal.vue: Gemini 模型默认选择优化
- useGeminiOAuth.ts: OAuth 逻辑参数变更
- gemini.ts: API 调用更新
|
2025-12-26 00:11:03 -08:00 |
|
ianshaw
|
01f990a5c9
|
style(frontend): 统一核心模块代码风格
- Composables: 优化 OAuth 相关 hooks 代码格式
- Stores: 规范状态管理模块格式
- Types: 统一类型定义格式
- Utils: 优化工具函数格式
- App.vue & style.css: 调整全局样式和主组件格式
|
2025-12-26 00:10:44 -08:00 |
|
ianshaw
|
0b30cc2b7e
|
feat(frontend): 新增 Gemini OAuth 授权流程
- 新增 /admin/gemini API 接口封装(generateAuthUrl, exchangeCode)
- 新增 useGeminiOAuth composable 处理 Gemini OAuth 流程
- 新增 OAuthCallbackView 视图用于接收 OAuth 回调
- 支持 code/state 参数提取和 credentials 构建
|
2025-12-26 00:09:46 -08:00 |
|
shaw
|
6c469b42ed
|
feat: 新增支持codex转发
|
2025-12-22 22:58:31 +08:00 |
|
shaw
|
642842c29e
|
First commit
|
2025-12-18 13:50:39 +08:00 |
|