fawney19
|
e7f8b259ac
|
Revert "Merge pull request #517 from zhiqicloud/feat/provider-balance-query"
This reverts commit 7e95e769d5, reversing
changes made to 490306c242.
|
2026-05-21 01:24:17 +08:00 |
|
zhiqicloud
|
122daf0f87
|
支持 Provider Key 余额查询与自动刷新
|
2026-05-20 12:33:31 +08:00 |
|
fawney19
|
4fc7cecf30
|
Fix OAuth token import and table filters
|
2026-05-01 02:14:49 +08:00 |
|
fawney19
|
41b51f10a9
|
perf: 并行化 admin 聚合路由并完善前端缓存预取
- gateway: usage detail / provider summary / pool overview / users list 改为 tokio join 并行拉取依赖数据
- usage: interval timeline 支持自动刷新并按查询区间动态展示,取消服务端 120 分钟过滤并在 ScatterChart 统一封顶
- frontend: 新增管理端导航预取工具及 SidebarNav/MainLayout 触发,admin 读接口统一走 cachedRequest 的短期缓存
- dashboard: request detail 支持短 TTL 缓存并在 UsageRecordsTable mousedown 时预取
- data: migrate 测试在 wait_for_postgres 失败时清理子进程,避免遗留
|
2026-04-19 15:17:25 +08:00 |
|
fawney19
|
5bb08e6aa4
|
feat(gateway): 重构 usage 数据层、迁移系统与系统导入
数据库迁移:
- 引入 baseline v2 bootstrap,空库首次启动自动初始化
- 服务启动不再自动执行迁移,需显式 `--migrate` 运行
- 新增 pending migration 检测,schema 落后时拒绝启动
Usage 数据层:
- usage body 存储外部化为独立 blob 表
- 新增 HTTP audit 表拆分存储请求/响应头与 body ref
- 后台清理任务支持 legacy body ref 元数据迁移
- usage runtime 写入迁移到专用 tokio runtime(独立线程池, 8MB 栈)
系统导入/导出:
- 支持用户、API Keys、钱包数据的完整导入
- 兼容 legacy 与 v1.3+ 两种导出格式
其他改进:
- executor outcome 增加 runtime miss 诊断上下文
- 主 tokio runtime 栈大小调整为 8MB
- 前端 provider 管理支持 base URL 配置
- dev.sh 支持 --migrate 参数
|
2026-04-13 14:01:22 +08:00 |
|
fawney19
|
ddf18fed9a
|
feat: 扩展 Rust gateway 全功能模块,新增 billing/crypto/wallet crate 及完整数据层
- 新增 aether-billing、aether-crypto、aether-wallet 独立 crate
- aether-data 扩展 repository 层:announcements、auth_modules、billing、
candidate_selection、gemini_file_mappings、global_models、management_tokens、
oauth_providers、proxy_nodes、quota、users、wallet 等模块
- aether-gateway 新增 api/auth/billing/control/middleware/scheduler/usage/
video_tasks/hooks/maintenance/model_fetch/provider_transport 等功能模块
- 重构 executor decision 和 gateway state 为模块目录结构
- 新增 gateway router、frontdoor 路由层及对应测试
- Python 侧 API 路由重构,新增 compat/support 模块
- 前端 Logo 组件更新及 Provider 管理页面调整
|
2026-03-31 19:19:04 +08:00 |
|
fawney19
|
7ff63077c3
|
feat(providers): provider 摘要列表排序增加启用状态优先
后端查询和前端展示均按 is_active 降序、priority 升序、created_at 升序排列,
确保已启用的 provider 始终排在前面。
|
2026-03-15 23:13:11 +08:00 |
|
fawney19
|
6e51a3f45d
|
feat: Provider 异步删除、可配置密码策略、Hub 超时优化及多项改进
- 新增 Provider 异步删除任务系统,后台分阶段删除子资源并清理残留引用
- 新增可配置密码策略等级(weak/medium/strong),支持系统设置面板调整
- aether-hub 升级至 0.1.4,idle timeout 支持禁用(设为 0),worker 默认超时调整为 120s
- OAuth 手动续期增加 Redis 分布式锁,防止并发刷新冲突
- ProxyNode 心跳检测改为 asyncio.to_thread,避免阻塞事件循环
- 删除 ModelMultiSelect 和 useInvalidModels,MultiSelect 组件通用化
- 明确 allowed_providers/allowed_api_formats 的 NULL 与空数组语义
- 前端 StandaloneKeyFormDialog、UserFormDialog 等多处 UI 优化
- 新增 Alembic 迁移脚本清理 Provider 删除后的残留引用
- 补充相关测试用例
|
2026-03-12 01:11:35 +08:00 |
|
fawney19
|
3b0dbadb1e
|
fix: 单个提供商更新时不再清空全部余额缓存
loadBalances 新增 fullReload 参数,单个提供商刷新时传入 false,
避免更新一个提供商的余额数据时清除其他提供商的已加载余额。
|
2026-03-09 23:35:51 +08:00 |
|
fawney19
|
0046123e22
|
feat: Provider 摘要 API 改为服务端分页,支持搜索和筛选
- 后端 /summary 接口新增 page/page_size/search/status/api_format/model_id 参数
- 新增 ProviderSummaryPageResponse 分页响应模型
- 前端 useProviderFilters 从客户端筛选改为构建服务端查询参数
- ProviderManagement 通过 watch queryParams 实现分页/筛选联动,搜索 debounce 300ms
- PriorityManagementDialog 改为对话框打开时自行加载全量 providers
- 其他使用方(StandaloneKeyFormDialog/UserFormDialog/ReplayDialog/ModelManagement)适配新接口
|
2026-03-09 12:45:54 +08:00 |
|
fawney19
|
97b0146ce9
|
perf: 全栈查询优化、前端缓存去重与页面可见性优化
后端:
- SQL count 查询统一改用 func.count() 子查询替代 query.count()
- Dashboard/Audit 等页面多次独立查询合并为单次聚合查询
- Provider summary 列表改为批量查询消除 N+1 问题
- DailyStats 逐天循环查询改为 CASE 分桶单次查询
- 使用 load_only() 减少不必要的列加载
- cache_decorator 支持嵌套属性路径解析(dotted vary_by)
- 多个管理/公共端点新增 @cache_result 缓存装饰
前端:
- cache.ts 新增 in-flight 请求复用、dedupedRequest、buildCacheKey
- 大量 API 调用添加前端缓存或去重
- 多个页面定时器在标签页隐藏时暂停、可见时恢复
- Auth 检查从 setInterval 改为 storage + visibilitychange 事件驱动
- 请求竞态防护(requestId 模式)
数据库:
- Usage 表新增 idx_usage_status_user_created 复合索引
|
2026-03-03 22:04:40 +08:00 |
|
fawney19
|
8b0e92e408
|
perf(frontend): 管理页面更新操作改为局部刷新,避免全量重载列表
Provider、API Key、Pool Key、Management Token 的更新操作
完成后直接替换本地列表中对应记录,仅创建操作保留全量刷新。
|
2026-03-01 11:57:09 +08:00 |
|
fawney19
|
cf2eee222e
|
refactor: 前端全面替换 any 为 unknown 并统一错误处理,后端用量记录补写请求头/体
- 前端 API 层、stores、conversation 解析器、组件全面替换 any 为 unknown/具体类型
- 错误处理统一使用 parseApiError/getErrorStatus 替代 err.response?.data?.detail 模式
- 后端 handler/TaskService/UsageLifecycle/StreamTracker 链路传递 request_headers/request_body
- streaming/pending 状态更新时可补写客户端和提供商的请求头及请求体
- 新增 TaskService 和 UsageService 相关测试
|
2026-02-22 00:43:41 +08:00 |
|
fawney19
|
8a670f5524
|
refactor: 继续拆分大型模块并增强模块注册健壮性
后端:
- chat_handler_base 错误处理函数提取到 chat_error_utils 子模块
- CLI mixin 引入 CliHandlerProtocol 协议类改善类型标注
- aware_scheduler 拆分为 _candidate_builder 和 _candidate_sorter 子模块
- usage recording 拆分为 _billing_integration 和 _recording_helpers 子模块
- ModuleRegistry 添加循环依赖检测,将写操作从查询方法分离到 reconcile_module_state
- 修正 plugin manager 入度注释
前端:
- 路由守卫逻辑拆分为独立 guards 模块
- ProviderManagement 拆分为 TableHeader/TableRow/BalanceCell/MobileCard 子组件
- SystemSettings 拆分为多个 Section 子组件和 composables
- 提取 useEndpointStatus/useProviderBalance/useProviderFilters composables
测试适配重构后的子模块结构
|
2026-02-14 20:06:38 +08:00 |
|
fawney19
|
676e918edc
|
feat(provider-ui): 支持供应商备注内联编辑
在供应商列表中添加备注的内联编辑功能,点击备注文字或"添加备注"
即可直接编辑,支持 Enter 保存、Escape 取消和点击外部自动取消。
桌面端和移动端均已适配。
|
2026-02-14 17:34:44 +08:00 |
|
fawney19
|
d01caaa4b1
|
refactor(provider-ui): 调整供应商信息布局,网站和描述展示方式互换
- 详情抽屉:移除描述内联编辑,网站地址改为独占整行显示完整 URL
- 列表/卡片视图:网站改为名称旁的 ExternalLink 图标,新增描述文本展示
- 移除不再使用的 formatWebsiteDisplay 工具函数和描述编辑相关代码
|
2026-02-13 21:27:30 +08:00 |
|
fawney19
|
941e599d36
|
feat(provider-ops): 新增 Sub2API 架构支持并优化余额分项显示
- 新增 Sub2ApiArchitecture 和 Sub2ApiBalanceAction,支持 Sub2API 风格中转站
- 前端 provider 列表支持 balance + points 分项显示
- 验证弹窗适配 Sub2API 余额和积分的分开展示
|
2026-02-13 21:03:21 +08:00 |
|
fawney19
|
d6b39babf5
|
refactor(provider-ops): 重构认证配置为 schema-driven 模式
后端架构类通过 get_credentials_schema() 返回带 x-* 扩展字段的 JSON Schema,
前端根据 schema 动态渲染表单、构建请求、验证和格式化显示。
新增架构只需后端一个文件,前端零改动。
主要变更:
- 删除前端手写模板文件(anyrouter.ts, cubence.ts, nekocode.ts, new-api.ts, yescode.ts)
- 新增 schema-utils.ts 实现 schema 到表单的转换、请求构建、验证和格式化
- 新增 field-hooks.ts 支持 schema 声明式字段联动钩子
- 后端 base.py 提供 parse_verify_response 默认实现,减少子类重复代码
- 各架构余额查询逻辑复用 balance.py 中的通用函数
- 删除废弃的 one_api.py 架构,新增架构 hidden 属性
- API 返回 credentials_schema 供前端消费
|
2026-02-13 16:41:30 +08:00 |
|
fawney19
|
8b6a5d3824
|
feat: OAuth 导入导出、提供商筛选、Gemini 图像生成支持与流式处理增强
- OAuth: 支持通过 Refresh Token 导入账号(文件拖拽/粘贴),OAuth Key 可导出为 JSON
- OAuth: 所有 OAuth 端点添加 require_admin 鉴权
- 提供商管理: 新增状态/API格式/模型三级筛选,后端返回 global_model_ids
- Gemini: 新增图像生成模型适配(finalize_provider_request 钩子 + envelope 跳过不兼容字段)
- 流式处理: buffer 残留数据 flush 与 token 兜底估算
- 上游元数据: 提取 merge_upstream_metadata,配额耗尽模型保留与深度合并
- Antigravity 配额: 无 quotaInfo 时视为耗尽,移除 Other 兜底分组
- README: 新增升级备份与回滚指南
|
2026-02-06 21:52:22 +08:00 |
|
fawney19
|
b88fb6273b
|
refactor: Antigravity/Codex 服务重构为插件化适配器架构
- 将 Antigravity 和 Codex 从独立模块迁移至 src/services/provider/adapters/ 插件体系
- 新增 provider_types 和 oauth_token 模块,移除 maintenance_scheduler 中的 OAuth 定时刷新
- 增强 admin API:扩展 keys 和 provider_query 端点,新增 dashboard 路由
- 大幅增强 ProviderDetailDrawer 组件,新增 AntigravityQuotaDialog
- 改进 handler 基类(chat/cli)和错误分类器
- 优化 fetch_scheduler 和 upstream_fetcher
- 前端 UI 组件清理和优化
- 更新测试以匹配新模块结构
|
2026-02-06 16:37:06 +08:00 |
|
fawney19
|
00442c41fa
|
feat: 视频计费增强与影子计费系统
|
2026-02-03 18:48:39 +08:00 |
|
fawney19
|
7b66505634
|
refactor: 全局适配 ApiFamily/EndpointKind 结构化标识体系
将新的 (ApiFamily, EndpointKind) / `family:kind` 签名体系应用到整个代码库:
- API Handlers: 所有 adapter/handler 使用新的签名格式
- Services: provider, model, usage, cache, auth 等服务层适配
- Database: ProviderEndpoint 新增 api_family/endpoint_kind 字段
- Frontend: Provider 管理、Usage 表格等组件适配
- Tests: 更新所有相关测试用例
|
2026-02-01 17:28:00 +08:00 |
|
fawney19
|
1e0255d0ed
|
feat: 优化批量余额查询和用户模型权限检查
- 添加批量余额查询并发限制,避免数据库连接池耗尽
- 支持余额加载 pending 状态和前端自动重试机制
- 添加用户可用模型 API,统一使用 AccessRestrictions
- 修复用户表单编辑时数组引用共享导致的数据覆盖问题
- 添加数据库连接池配置说明到 .env.example
|
2026-01-28 01:01:05 +08:00 |
|
AAEE86
|
f5373d9b7f
|
refactor: 重构端点状态判断逻辑,消除重复代码 (#117)
- 新增 EndpointStatus 类型和 getEndpointStatus() 统一端点状态判断
- 提取 getHealthScoreColor() 复用健康分数颜色映射逻辑
- 简化 isEndpointAvailable/getEndpointDotColor/getEndpointTooltip 函数
- 移除函数中未使用的 provider 参数
|
2026-01-22 14:51:50 +08:00 |
|
fawney19
|
856077a46c
|
feat(ui): 重构端点健康状态为进度条可视化
- 将端点标签改为网格布局的进度条样式
- 显示 API 格式缩写和健康分数百分比
- 优化端点提示区分禁用、无可用密钥和未配置密钥状态
- 优化优先级管理对话框布局以显示更多内容
- 后端添加 total_keys 字段支持密钥状态区分
Closes #113
Co-authored-by: AAEE86 <ppk0227@hotmail.com>
|
2026-01-21 01:10:35 +08:00 |
|
fawney19
|
8e7582d8b9
|
feat: 新增签到 Cookie 失效警告功能
- 签到认证失败时返回 cookie_expired 标记而非静默跳过
- 前端显示"签到 Cookie 已失效"警告提示
- 支持 auth_expired 状态,余额数据仍可正常显示
- 认证失败(auth_failed)时清除余额缓存以便重试
|
2026-01-20 02:44:22 +08:00 |
|
fawney19
|
edf8c663f1
|
refactor: 重构供应商操作基类为抽象类并支持 New API Cookie 认证
主要更改:
- 重构 BalanceAction/CheckinAction 为抽象基类,子类实现具体查询逻辑
- 重构 ProviderArchitecture 认证相关方法为抽象方法
- New API 支持 Cookie 认证(与 api_key+user_id 二选一)
- 添加 NewApiBalanceAction,支持查询余额前自动签到
- 修复 session cookie gob 编码解析逻辑
- 前端认证表单支持 inline 布局、字段联动和 onFieldChange 回调
|
2026-01-20 00:55:52 +08:00 |
|
fawney19
|
1874214927
|
fix: 供应商统计排除 unknown 及表格列宽响应式优化
- 从 Dashboard 供应商成本统计中排除 unknown 提供商
- 优化供应商管理表格列宽为百分比宽度配合最小宽度
Closes #110
Co-authored-by: RWDai <27391645+RWDai@users.noreply.github.com>
|
2026-01-19 20:47:00 +08:00 |
|
fawney19
|
427f173b38
|
feat: OAuth 绑定安全增强及限流配置优化
- 新增一次性绑定令牌机制,避免在 URL 中暴露 access_token
- 绑定流程改为新标签页打开,完成后自动刷新状态
- 放宽认证相关接口的 IP 限流配置
- 登录添加 429 限流错误的友好提示
- OAuth 绑定列表添加 Provider 图标显示
Close #106
|
2026-01-19 19:34:31 +08:00 |
|
fawney19
|
6bc9cdc69d
|
feat: 新增 Anyrouter/Cubence/YesCode 架构及余额监控增强
- 新增三个 provider 架构:Anyrouter、Cubence、YesCode
- 前端新增对应的认证配置模板
- 余额监控增强:支持窗口限额显示(进度条+倒计时)、签到状态、错误信息展示
- 架构基类新增 prepare_verify_config 异步预处理方法
- API 返回 ops_architecture_id 字段用于前端展示
|
2026-01-19 17:18:03 +08:00 |
|
fawney19
|
8053cbd854
|
feat: 分页组件支持 pageSize 浏览器缓存
- 为 Pagination 组件添加 cacheKey 属性,支持将 pageSize 缓存到 localStorage
- 组件挂载时自动恢复缓存的 pageSize 设置
- 为各页面的分页组件配置独立的缓存键
- 仅在显示 pageSize 选择器时启用缓存恢复
Closes #105
Co-Authored-By: AAEE86 <33052466+AAEE86@users.noreply.github.com>
|
2026-01-17 20:21:03 +08:00 |
|
fawney19
|
c71027c466
|
feat: 添加 Provider Ops 扩展操作系统,支持余额监控
主要更改:
- 新增 Provider Ops 服务框架,支持通过架构配置执行余额查询等扩展操作
- 后端:添加 provider_ops 服务层和 API 路由
- 前端:添加 ProviderAuthDialog 组件配置认证信息
- 前端:添加 providerOps API 和认证模板系统
UI/组件优化:
- Input 组件:新增 masked 属性,使用 CSS 遮蔽敏感信息,避免触发密码管理器
- Pagination 组件:移除首页/末页/上下页按钮,改为页码跳转输入框
- KeyFormDialog:使用 masked 属性简化 API Key 输入逻辑
- ProviderManagement:重新设计表格布局,显示余额监控数据
|
2026-01-17 19:50:35 +08:00 |
|
fawney19
|
09e0f594ff
|
refactor: 重构限流系统和健康监控,支持按 API 格式区分
- 将 adaptive_concurrency 重命名为 adaptive_rpm,从并发控制改为 RPM 控制
- 健康监控器支持按 API 格式独立管理健康度和熔断器状态
- 新增 model_permissions 模块,支持按格式配置允许的模型
- 重构前端提供商相关表单组件,新增 Collapsible UI 组件
- 新增数据库迁移脚本支持新的数据结构
|
2026-01-10 18:48:35 +08:00 |
|
hoping
|
26b4a37323
|
feat: 引入统一的端点检查器以重构适配器并改进错误处理和用量统计。
|
2025-12-25 00:02:56 +08:00 |
|
fawney19
|
1dac4cb156
|
refactor: optimize provider query and stats aggregation logic
|
2025-12-17 16:41:10 +08:00 |
|
fawney19
|
d564842c4d
|
refactor(frontend): optimize view pages (admin, shared, user)
|
2025-12-14 00:16:03 +08:00 |
|
fawney19
|
39ea9e8e86
|
refactor(frontend): 优化布局和视图页面
- 更新 MainLayout 布局组件
- 优化 admin 视图: 用户、模型、Provider、API Keys 等管理页面
- 改进 shared 视图: Dashboard、Usage 页面
- 调整 user 视图: ModelCatalog、MyApiKeys、Settings、Announcements 页面
- 更新 public 视图: Home、CliSection、LogoColorDemo 页面
|
2025-12-12 16:15:54 +08:00 |
|
fawney19
|
f784106826
|
Initial commit
|
2025-12-10 20:52:44 +08:00 |
|