diff --git a/changelog/unreleased/01-features.md b/changelog/unreleased/01-features.md new file mode 100644 index 00000000..791c5ee5 --- /dev/null +++ b/changelog/unreleased/01-features.md @@ -0,0 +1,13 @@ +### English + +- **New** · Overview stats: request outcome mix (ok / incomplete / error / canceled), cache hit rate, streaming share and canceled requests; the account pool lists cooling accounts with reason, countdown and backoff level, plus the session-affinity hit rate. +- **New** · Overview drill-down: click a model, account, provider or error kind, or drag a range on the traffic chart, to open the matching logs. Time windows add 30d and custom; stats auto-refresh every 30s and can be paused. +- **New** · Usage page with sortable tables by model, account and provider (requests, success rate, p95, tokens, cache, credits). The traffic chart switches between requests, tokens and latency. +- **New** · Live concurrency: an overview strip (in-flight vs. capacity, last 60s), per-account in-flight bars and a sidebar indicator. + +### 中文 + +- **新功能** · 概览统计:请求结果构成(成功 / 未完成 / 失败 / 取消)、缓存命中率、流式占比与取消数;账号池列出冷却账号的原因、倒计时与退避等级,并显示会话亲和命中率。 +- **新功能** · 概览下钻:点击模型、账号、供应商或错误类型,或在流量图上拖选时间段,直接打开对应日志。时间窗口新增 30 天与自定义;统计每 30 秒自动刷新,可暂停。 +- **新功能** · 新增「用量」页,按模型、账号、供应商展示可排序表格(请求数、成功率、p95、Tokens、缓存、积分);流量图可切换请求 / Tokens / 延迟。 +- **新功能** · 实时并发:概览顶部并发条(当前并发 / 总容量、近 60 秒)、每个账号的并发细条,以及侧边栏并发指示。 diff --git a/changelog/unreleased/02-console.md b/changelog/unreleased/02-console.md new file mode 100644 index 00000000..e09f43a9 --- /dev/null +++ b/changelog/unreleased/02-console.md @@ -0,0 +1,11 @@ +### English + +- **Console** · Roomier sidebar; denser overview without decorative icons; the Accounts page header is one toolbar (status, provider, search, actions). +- **Console** · Calmer styling: one small-text size, smaller radii and shadows, neutral status boxes; pages show content without skeleton fades or entrance animations. +- **Console** · Edit-account modal is wider; the model picker adds search, select all / clear, and flags saved models that left the catalog. + +### 中文 + +- **界面** · 侧边栏更宽松;概览更紧凑,去掉装饰图标;账号页顶部合并为一行工具栏(状态、供应商、搜索、操作)。 +- **界面** · 样式更克制:小字统一字号,圆角与阴影收小,状态提示改用中性底色;页面加载后直接显示内容,不再有骨架屏淡入和入场动画。 +- **界面** · 编辑账号弹窗加宽;模型选择支持搜索、全选 / 清空,并标出已下线的模型。 diff --git a/changelog/unreleased/03-api.md b/changelog/unreleased/03-api.md new file mode 100644 index 00000000..6a5d6310 --- /dev/null +++ b/changelog/unreleased/03-api.md @@ -0,0 +1,7 @@ +### English + +- **API** · New `GET /api/live` for live concurrency. `/api/logs/stats` accepts `dim=model,account,provider` and `limit`, with p95, token, cache and credit totals; `/api/logs/requests` accepts `provider`. Existing calls behave as before. + +### 中文 + +- **API** · 新增 `GET /api/live` 实时并发接口;`/api/logs/stats` 支持 `dim=model,account,provider` 与 `limit`,返回 p95、Token、缓存与积分合计;`/api/logs/requests` 支持 `provider` 筛选。原有调用行为不变。 diff --git a/changelog/unreleased/account-model-picker.md b/changelog/unreleased/account-model-picker.md deleted file mode 100644 index a35cac93..00000000 --- a/changelog/unreleased/account-model-picker.md +++ /dev/null @@ -1,7 +0,0 @@ -### English - -- Console: the edit-account modal is wider, and its model restriction picker now has search, a selected/total count, select all and clear for the filtered list, one-line rows, and marks saved models that left the catalog as offline with a remove action. - -### 中文 - -- 控制台:编辑账号弹窗加宽;可用模型选择支持搜索、显示「已选 / 共」、对筛选结果全选和清空,每个模型单行显示,已不在目录中的已选模型标记为「已下线」并可移除。 diff --git a/changelog/unreleased/accounts-toolbar.md b/changelog/unreleased/accounts-toolbar.md deleted file mode 100644 index 899a839c..00000000 --- a/changelog/unreleased/accounts-toolbar.md +++ /dev/null @@ -1,7 +0,0 @@ -### English - -- Simplify the Accounts page header into one toolbar: a status switch with counts (the needs-attention count turns red), a provider dropdown, search, and the refresh and add buttons. The separate stat row and the shown-count text are gone, and Clear filters now also resets the provider. - -### 中文 - -- 账号页顶部合并为一行工具栏:带数量的状态切换(需处理数量为红色)、供应商下拉、搜索,以及刷新积分和添加账号按钮。去掉单独的统计行和"已显示数量"文字;"清除筛选"现在也会重置供应商。 diff --git a/changelog/unreleased/console-kill-ai-slop.md b/changelog/unreleased/console-kill-ai-slop.md deleted file mode 100644 index 962a7c01..00000000 --- a/changelog/unreleased/console-kill-ai-slop.md +++ /dev/null @@ -1,7 +0,0 @@ -### English - -- Tighten the console's visual noise: small text now uses one 12 px caption size, oversized card radii and the toast's heavy shadow are reduced, and account errors, update status, and the key "all providers" tag use neutral surfaces instead of tinted red, green, or yellow boxes. - -### 中文 - -- 收敛控制台视觉噪音:小字统一为 12 px 一档,卡片过大圆角与通知的重阴影减小,账号错误、更新状态和密钥“全部供应商”标签改用中性底色,不再使用红/绿/黄整块着色。 diff --git a/changelog/unreleased/live-concurrency.md b/changelog/unreleased/live-concurrency.md deleted file mode 100644 index 65dceb51..00000000 --- a/changelog/unreleased/live-concurrency.md +++ /dev/null @@ -1,9 +0,0 @@ -### English - -- Overview is denser (tighter card padding, gaps, metric size and chart height) and opens with a slim one-row live readout: current concurrency against total capacity (sum of `max_inflight` over enabled accounts), requests started in the last 60 seconds, and a 60-second concurrency trace. It polls the new lightweight `GET /api/live` every 2.5s, only while the tab is visible. -- The overview account pool shows a thin `in_flight / max_inflight` bar per account; saturated accounts are marked in a warning tone. - -### 中文 - -- 概览页整体更紧凑(卡片内边距、间距、指标字号与图表高度下调),顶部新增单行实时读数:当前并发 / 总容量(已启用账号 `max_inflight` 之和)、近 60 秒请求数,以及近 60 秒并发走势。通过新增的轻量接口 `GET /api/live` 每 2.5 秒轮询,仅在页面可见时轮询。 -- 概览账号池为每个账号显示 `in_flight / max_inflight` 细条,满载账号以警示色标出。 diff --git a/changelog/unreleased/logs-skeleton-flash.md b/changelog/unreleased/logs-skeleton-flash.md deleted file mode 100644 index 9a0c847a..00000000 --- a/changelog/unreleased/logs-skeleton-flash.md +++ /dev/null @@ -1,7 +0,0 @@ -### English - -- **Console** · Usage logs: the request history now fades in once after the skeleton instead of flashing; paging and filtering keep the current rows (dimmed) while loading rather than replaying the skeleton. Other pages with a full-page skeleton fade in the same way. - -### 中文 - -- **界面** · 使用日志:请求历史在骨架屏结束后只淡入一次,不再闪烁;翻页、筛选时保留当前列表(变暗)等待加载,不再重播骨架屏动画。其他整页骨架屏的页面也统一为单次淡入。 diff --git a/changelog/unreleased/no-skeleton-fade.md b/changelog/unreleased/no-skeleton-fade.md deleted file mode 100644 index 639fd4e9..00000000 --- a/changelog/unreleased/no-skeleton-fade.md +++ /dev/null @@ -1,7 +0,0 @@ -### English - -- **Console** · Skeleton screens now swap to content instantly with no fade or entrance animation on any page, and route changes no longer play an entrance animation; usage logs no longer dim, slide or re-animate on paging, filtering, tab switches or auto-refresh. - -### 中文 - -- **界面** · 所有页面的骨架屏结束后直接显示内容,不再有淡入或入场动画,切换页面也不再播放入场动画;使用日志在翻页、筛选、切换标签和自动刷新时不再变暗、滑动或重播动画。 diff --git a/changelog/unreleased/overview-drilldown.md b/changelog/unreleased/overview-drilldown.md deleted file mode 100644 index 5e4a0100..00000000 --- a/changelog/unreleased/overview-drilldown.md +++ /dev/null @@ -1,9 +0,0 @@ -### English - -- **Console** · Overview rankings drill down: clicking a model, account or error kind opens the logs page filtered to it over the overview's current window, and drag-selecting a range on the traffic chart opens the logs for that range. The logs page filters now live in the URL and stay in sync with its controls. -- **Console** · The overview time window adds 30d and a custom from/to range. Stats refresh every 30s in the background (no skeleton), with a pause toggle, and skip refreshes while the tab is hidden. - -### 中文 - -- **界面** · 概览排行支持下钻:点击模型、账号或错误类型,会按概览当前时间窗口打开已筛选的日志页;在流量图上拖选时间段,可直接查看该时段的日志。日志页筛选条件写入 URL,并与筛选控件双向同步。 -- **界面** · 概览时间窗口新增 30 天与自定义起止时间;统计每 30 秒在后台刷新(不显示骨架屏),可暂停,标签页隐藏时不刷新。 diff --git a/changelog/unreleased/overview-stats.md b/changelog/unreleased/overview-stats.md deleted file mode 100644 index 0a4f0759..00000000 --- a/changelog/unreleased/overview-stats.md +++ /dev/null @@ -1,11 +0,0 @@ -### English - -- **Console** · The overview's third ranking card now shows request outcomes (ok / incomplete / error / canceled) as a stacked bar together with the error mix and the busiest accounts; new metric cards show cache hit rate (cache read / prompt tokens), streaming share and canceled requests. -- **Console** · The account pool card lists each cooling account with its reason, a live countdown and restart backoff level, and shows the session-affinity hit rate. -- **Console** · Cards and icon tiles get a subtle solid surface (top highlight, close and soft lift shadows); live status dots pulse gently (off under reduced motion); metric numbers roll like an odometer. - -### 中文 - -- **界面** · 概览第三个排行卡片同时展示请求结果构成(成功 / 未完成 / 失败 / 取消,堆叠条)、错误构成与热门账号;新增缓存命中率(缓存读取 / 输入 token)、流式占比与已取消请求指标卡片。 -- **界面** · 账号池卡片列出每个冷却中账号的原因、实时倒计时与重启退避等级,并显示会话亲和命中率。 -- **界面** · 卡片与图标块采用更细腻的实体表面(顶部高光、贴近阴影与柔和抬升阴影);在线状态点轻微脉动(减少动态效果时关闭);指标数字以滚轮方式滚动。 diff --git a/changelog/unreleased/sidebar-roomy.md b/changelog/unreleased/sidebar-roomy.md deleted file mode 100644 index 01752ee0..00000000 --- a/changelog/unreleased/sidebar-roomy.md +++ /dev/null @@ -1,7 +0,0 @@ -### English -- Sidebar redesign: wider (260px), taller 40px items with 20px icons, clearer group spacing, a larger brand block with the collapse toggle, and a soft filled active state replacing the accent rail. -- Sidebar footer is calmer and adds a live in-flight request indicator (polls every 3s while the page is visible). - -### 中文 -- 侧边栏重新设计:宽度 260px,导航项高 40px、图标 20px,分组间距更清晰,品牌区更大并集成折叠按钮,选中态改为柔和填充,移除强调竖条。 -- 侧边栏底部更简洁,并新增实时并发请求指示(页面可见时每 3 秒刷新)。 diff --git a/changelog/unreleased/usage-metrics.md b/changelog/unreleased/usage-metrics.md deleted file mode 100644 index 180afb41..00000000 --- a/changelog/unreleased/usage-metrics.md +++ /dev/null @@ -1,11 +0,0 @@ -### English - -- **Console** · The overview traffic chart switches between requests, tokens (input / output / cache read) and latency (p95 / p50). The stats series now carries per-bucket tokens and p50/p95 latency. -- **Console** · New Usage page (sidebar → Usage) with sortable tables by model, account and provider: requests, success rate, p95, tokens, cache write and credits, using the same 1h / 24h / 7d / 30d / custom windows as the overview. Rows open the matching logs. -- **API** · `/api/logs/stats` accepts `dim=model,account,provider` and `limit` (default 6, max 500), and its grouped rows add p95 latency, token, cache and credit totals. Calls without these parameters behave as before. `/api/logs/requests` accepts `provider`, and the overview's provider rankings now drill down to the logs. - -### 中文 - -- **界面** · 概览流量图可在请求、Tokens(输入 / 输出 / 缓存读取)与延迟(p95 / p50)之间切换;统计序列新增每个时间桶的 token 与 p50/p95 延迟。 -- **界面** · 新增“用量”页面(侧边栏 → 用量),按模型、账号、供应商展示可排序的完整表格:请求数、成功率、p95、Tokens、缓存写入与积分;时间窗口与概览一致(1 小时 / 24 小时 / 7 天 / 30 天 / 自定义),点击行可查看对应日志。 -- **API** · `/api/logs/stats` 支持 `dim=model,account,provider` 与 `limit`(默认 6,最大 500),分组结果新增 p95 延迟、token、缓存与积分合计;不带这些参数的请求行为不变。`/api/logs/requests` 支持 `provider` 筛选,概览的供应商排行也可下钻到日志。