elky
|
f179ee72f9
|
chore: update gateway pressure observability
|
2026-06-30 17:01:39 +08:00 |
|
elky
|
9f138d09e6
|
refactor(frontend): modularize i18n architecture
|
2026-06-30 17:01:39 +08:00 |
|
elky
|
f1c30439ff
|
fix: preserve provider auth metadata
|
2026-06-20 22:11:42 +08:00 |
|
elky
|
68038c182b
|
Distinguish expired OAuth token status
|
2026-06-12 19:43:59 +08:00 |
|
elky
|
8edcbdcb29
|
feat(usage): expose request timing details
|
2026-06-10 09:16:15 +08:00 |
|
Mas0nShi
|
9ad9858ac2
|
Merge origin/main into fix/gemini-cli-v1internal
|
2026-05-28 11:58:00 +08:00 |
|
Codex
|
218ca8e6eb
|
修复 ChatGPT Web 生图额度递减显示
|
2026-05-24 18:50:14 +08:00 |
|
fawney19
|
4b66cadf15
|
Merge remote-tracking branch 'origin/pr/544'
|
2026-05-23 18:41:52 +08:00 |
|
Mas0nShi
|
8b7643e150
|
Merge remote-tracking branch 'origin/main' into fix/gemini-cli-v1internal
# Conflicts:
# apps/aether-gateway/src/ai_serving/transport.rs
# apps/aether-gateway/src/handlers/admin/provider/oauth/dispatch/batch/parse.rs
# apps/aether-gateway/src/handlers/shared/catalog.rs
# crates/aether-admin/src/provider/quota.rs
# crates/aether-model-fetch/src/strategy.rs
# crates/aether-provider-pool/src/lib.rs
# crates/aether-provider-pool/src/service.rs
# crates/aether-provider-transport/src/provider_types.rs
# frontend/src/features/providers/components/ProviderDetailDrawer.vue
# frontend/src/utils/__tests__/providerKeyQuota.spec.ts
# frontend/src/utils/providerKeyQuota.ts
# frontend/src/views/admin/PoolManagement.vue
|
2026-05-22 17:13:57 +08:00 |
|
fawney19
|
ef04f4b0fb
|
Add automatic B/T compact unit formatting
|
2026-05-22 17:13:16 +08:00 |
|
Mas0nShi
|
ce02f1ae8c
|
Add Gemini CLI v1internal quota support
|
2026-05-22 16:58:04 +08:00 |
|
zhiqicloud
|
a4a5f70a10
|
Merge upstream/main into feat/one-click-update
|
2026-05-22 15:28:27 +08:00 |
|
zhiqicloud
|
b59c3a9e3b
|
feat: support admin online update and deploy flow
|
2026-05-22 15:15:17 +08:00 |
|
fawney19
|
504c1ccb37
|
feat: restructure notification services
|
2026-05-22 01:45:46 +08:00 |
|
Entropy.Xu
|
129c7c90c0
|
fix(provider): 修复 Windsurf 原生工具桥接
|
2026-05-21 01:02:02 +08:00 |
|
Entropy.Xu
|
0a0a8b31c7
|
fix(provider): 隐藏 Windsurf refresh token 刷新入口
|
2026-05-21 01:02:02 +08:00 |
|
Entropy.Xu
|
0226e14251
|
feat(provider): 原生接入 Windsurf provider
|
2026-05-21 01:02:02 +08:00 |
|
zhiqicloud
|
3a318a86b2
|
支持官方直连支付、退款配置与套餐联动
|
2026-05-20 00:21:56 +08:00 |
|
fawney19
|
9fc9c334c9
|
Merge remote-tracking branch 'origin/pr/487'
# Conflicts:
# crates/aether-data/src/lifecycle/bootstrap/postgres.rs
# crates/aether-data/src/lifecycle/migrate/tests.rs
# crates/aether-data/src/repository/oauth_providers/postgres.rs
# crates/aether-data/src/repository/oauth_providers/sqlite.rs
# frontend/src/views/admin/OAuthSettings.vue
|
2026-05-19 02:27:39 +08:00 |
|
fawney19
|
afedd90c80
|
Merge commit 'refs/pull/481/head' of github-fawney19:fawney19/Aether
# Conflicts:
# apps/aether-gateway/src/ai_serving/api.rs
# apps/aether-gateway/src/ai_serving/planner/standard/family/request.rs
# apps/aether-gateway/src/ai_serving/planner/standard/openai/chat/decision/request.rs
# apps/aether-gateway/src/ai_serving/planner/standard/openai/responses/decision/request.rs
|
2026-05-19 01:46:41 +08:00 |
|
fawney19
|
e4315fbbf0
|
fix: refine frontend admin and auth UI
|
2026-05-18 12:41:57 +08:00 |
|
fawney19
|
92813e6122
|
feat: add routing profile scheduling policies
|
2026-05-18 11:03:49 +08:00 |
|
dalamudx
|
48deff15c4
|
fix(oauth): fix login failures and add provider icon_url config
- Fix FIND_OAUTH_LINKED_USER_SQL missing allowed_providers_mode columns
- Fix TOUCH_OAUTH_LINK_SQL json/jsonb type mismatch in COALESCE
- Add icon_url field to OAuth provider config (DB, API, frontend)
- Fix admin OAuth test: accept 404 as reachable, use system proxy
|
2026-05-17 21:33:02 +08:00 |
|
mayrain
|
936e1ae37b
|
feat(grok): add admin oauth and quota support
|
2026-05-16 21:15:38 +08:00 |
|
fawney19
|
3a5922d4ee
|
fix: use codex quota refresh for account checks
|
2026-05-16 20:16:23 +08:00 |
|
fawney19
|
e4f427f921
|
Merge remote-tracking branch 'entropy-xu/payment-billing-plans'
# Conflicts:
# crates/aether-data/src/lifecycle/bootstrap/postgres.rs
# crates/aether-data/src/lifecycle/migrate/tests.rs
# frontend/src/views/admin/Users.vue
|
2026-05-15 16:37:17 +08:00 |
|
fawney19
|
509bd30252
|
Redesign sensitive info protection settings
|
2026-05-14 11:14:20 +08:00 |
|
fawney19
|
acd44328d6
|
feat: add version update flow
|
2026-05-13 22:28:05 +08:00 |
|
Entropy.Xu
|
10285c5eb9
|
feat: add payment gateway and billing plans
|
2026-05-13 01:18:38 +08:00 |
|
Alice
|
757c264e3e
|
新增 Codex Spark 额度展示
解析 GPT-5.3-Codex-Spark 额度窗口,并在号池页面和提供商账号抽屉中展示 Spark 周额度与 5H 额度。Spark 额度仅用于展示,不影响普通 Codex 周额度和 5H 额度的调度与筛选逻辑。
|
2026-05-09 10:44:45 +08:00 |
|
RWDai
|
9eb17eca32
|
refactor(pool): share batch selection helpers
|
2026-05-07 19:16:49 +08:00 |
|
fawney19
|
fd44906bb7
|
fix provider pool quota status handling
|
2026-05-07 11:28:44 +08:00 |
|
Codex
|
41f75a3f19
|
feat: show chatgpt web image quota
|
2026-05-06 22:58:47 +08:00 |
|
fawney19
|
fb642f7d62
|
feat: improve OAuth provider configuration
|
2026-05-04 00:18:05 +08:00 |
|
fawney19
|
4fc7cecf30
|
Fix OAuth token import and table filters
|
2026-05-01 02:14:49 +08:00 |
|
fawney19
|
e751289dfb
|
Support per-format provider key auth
|
2026-04-29 15:46:50 +08:00 |
|
fawney19
|
3d20c05ef7
|
Fix OAuth refresh through tunnel proxy
|
2026-04-28 19:45:34 +08:00 |
|
fawney19
|
f3c9835759
|
feat(pool): 引入 pro_first 调度预设、Pool 候选持久化跳过与诊断信息优化
- 新增 pro_first 调度预设(Pro 优先),更新 plus_first 仅针对 Plus 计划,移除 free_team_first
- Pool 内部候选(pool_key_index 不为空)跳过 DB 持久化(available/skipped/unused 均适用)
- LRU 排序新增 catalog_lru_score 回退:runtime 无记录时使用 last_used_at_unix_secs
- 执行路径 miss 诊断消息细化为中文,按 reason 分类输出可读说明
- build_local_request_candidate_status_record 补充 extra_data 和 created_at_unix_ms 字段
- OpenAI CLI 计划构建流程补充候选评估进度跟踪与 terminal reason 设置
- 前端 PoolSchedulingDialog 增加 pro_first 预设展示,修复 LRU 默认预设检测逻辑
|
2026-04-24 13:29:05 +08:00 |
|
fawney19
|
063ef02306
|
fix(oauth): 系统导入时清理失效标记并强制刷新 refresh_token,前端徽章优先使用 account_id
- 后端 admin 系统导入 OAuth 凭据时重置 expires_at 与失效标记,并在存在 refresh_token 时触发一次本地刷新
- 前端 OAuth 徽章改为优先展示 account_id,采用去前缀后 5 字符的紧凑格式
|
2026-04-21 18:06:39 +08:00 |
|
fawney19
|
25a2b417be
|
refactor: 优化调度候选排序与用量写入链路并改进 Fernet 缓存与前端批量列表
|
2026-04-21 16:19:07 +08:00 |
|
fawney19
|
87afe4898e
|
fix(frontend): 为配额自动刷新加入 5 分钟冷却并优化 OAuth org 徽章显示
- 新增 quotaAutoRefreshCooldown 工具,按 provider 维度限制后台自动刷新频率,手动触发(刷新 token、变更 key)通过 ignoreCooldown 绕过
- OAuth org 徽章去除 org- 前缀后再缩略,避免 org:org-xx 的重复前缀,并缩小字号高度以适配紧凑布局
|
2026-04-20 15:56:59 +08:00 |
|
fawney19
|
d100c934c0
|
fix(frontend): 优化 OAuth 身份徽章优先级并避免 Kiro 订阅标签重复
- getOAuthOrgBadge 优先展示 organization id, 其次回落到 account_id 或 account_user_id, 不再使用 account_name 作为徽章文案
- Kiro provider 的订阅标签仅在与 OAuth plan 标签不一致时显示, 避免重复徽章
- 补充 getOAuthOrgBadge 的单元测试覆盖组织优先与回落场景
|
2026-04-20 15:00:17 +08:00 |
|
fawney19
|
9b48a008dc
|
fix(frontend): 合并 OAuth 状态展示并移除 Codex 积分信息
- providerKeyStatus: 合并 snapshot 与 legacy OAuth 状态,按严重程度取优并补全失效原因
- ProviderDetailDrawer: 移除 Codex 积分摘要与相关字段显示
|
2026-04-20 14:27:48 +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
|
7eae1f90f6
|
Unify quota snapshots and oauth refresh handling
|
2026-04-17 18:22:41 +08:00 |
|
 Entropy.Xuandfawney19
|
ac1a126756
|
fix(kiro,pool,model): 对齐 Kiro 管理链路并修复全局模型删除行为 (#305)
* feat(pool): 号池支持跳过额度耗尽账号
- 新增 pool_advanced.skip_exhausted_accounts 开关及高级设置 UI, 默认关闭并兼容旧配置
- 为 Codex/Kiro 增加额度耗尽判定, 接入请求侧候选跳过并新增 account_quota_exhausted skip reason
- 号池列表将额度耗尽账号标记为 blocked/额度耗尽, 并补充前后端相关测试
* fix(kiro): 对齐账号管理与 provider-query 的 Rust 行为
- 修复 Kiro 单条导入误走 import-refresh-token 的前端分流, 并为误用路径返回明确错误提示
- 为 Kiro 导入与本地请求链补齐 bearer 兼容, 同步放开账号启停等 Key 更新操作的 auth_type 校验
- 实现 Kiro provider-query 本地模型测试与 failover 执行链, 并修复结果弹窗在无 trace 时无法展示 attempts/响应体的问题
* fix(model): 删除全局模型时级联清理关联提供商模型
- 对齐 Python 版本删除逻辑, GlobalModel 删除前先在事务内清理关联的 Provider Model 记录
- 修复已绑定 Provider 的模型在 Rust SQL 仓库下会被外键约束拦住、无法正常删除的问题
- 增加管理端回归测试, 覆盖绑定 Provider Model 的 GlobalModel 删除场景
* fix(kiro,ci): 恢复 Kiro OAuth 持久化并修复 Rust CI
* Fix oauth-managed provider key semantics
---------
Co-authored-by: fawney19 <[email protected]>
|
2026-04-17 12:57:06 +08:00 |
|
fawney19
|
6aa16ec792
|
feat(data): 废弃 usage 表 HTTP/结算列,迁移至 settlement_snapshots 与 http_audits
- 新增迁移 20260413030000:标记 billing_status、finalized_at、request_headers 等列为 DEPRECATED
- 更新 baseline_v2.sql 同步废弃注释,BASELINE_V2_CUTOFF_VERSION 升至 20260413030000
- usage/sql.rs:inline body 阈值归零,强制所有 body 走 blob 存储;upsert 时清空 legacy header/output_price 列
- 查询层优先读 usage_settlement_snapshots 的 billing_status、finalized_at、output_price_per_1m
- runtime.rs:stale usage 处理同步写入 usage_settlement_snapshots;SELECT FOR UPDATE 改为 FOR UPDATE OF usage
- 前端:PerformanceAnalysis 页面重构为实时面板,新增 prometheus 工具函数与 monitoring API
|
2026-04-13 14:53:46 +08:00 |
|
AAEE86
|
3fcb2b1514
|
fix(dashboard): 修复今日统计口径并对齐每日统计日期显示
- 前端请求 /api/dashboard/stats 时传递 timezone 和 tz_offset_minutes
- 后端仪表盘汇总过滤 pending/streaming 和占位 provider,修正今日请求/Token/费用统计
- 今日 Token 卡片增加 K/M 单位显示,并补充写缓存/读缓存 Token 信息
- 修复每日统计 YYYY-MM-DD 被按 UTC 解析导致的“今天/昨天”串天问题
- 补充前后端回归测试,覆盖统计口径和日期解析场景
|
2026-04-12 11:20:39 +08:00 |
|
fawney19
|
5d96d6673b
|
refactor: 大规模模块拆分与代码精简,新增 ai-pipeline/data-contracts 独立 crate
- 新增 aether-ai-pipeline 和 aether-data-contracts crate,将 pipeline 逻辑与数据契约从 gateway 中解耦
- 重构 admin handlers:拆分单体模块为 auth/billing/endpoint/features/model/observability/provider/system 等独立子模块
- 合并 chat/cli 重复代码路径:精简 conversion、finalize、planner 中的 sync/chat/cli 分支
- 重构 scheduler/executor/data 层,引入 facade 模式降低模块间耦合
- 移除冗余的 intent 模块,将 plan_fallback/policy/stream_path/sync_path 迁移至 executor
- 前端适配:调整 admin API 调用和 provider 模型测试对话框
|
2026-04-07 02:50:19 +08:00 |
|
fawney19
|
46737d32f8
|
feat: 引入 status_snapshot 统一 provider key 状态管理
- 新增 StatusSnapshot 模型,聚合 OAuth / 账号 / 配额三维状态
- 新增 StatusSnapshotStore 负责快照的持久化与查询
- 重构 response_builder / endpoint_models,基于 snapshot 输出状态字段
- 前端抽取 providerKeyStatus / oauthRefreshFeedback 工具函数,
统一 PoolManagement、ProviderDetailDrawer、BatchDialog 的状态展示
- errorParser 增加已知 OAuth 错误的友好提示
- refresher 适配 snapshot 写入,account_state 扩展状态分类
- 新增 alembic 迁移及存量数据回填脚本
- 补充前后端单元测试
|
2026-03-20 19:16:52 +08:00 |
|