Commit Graph

  • 3e27f4db24 chore: bump version to 1.4.0, document cooldown probing and elastic pools JianFeeeee 2026-08-30 08:07:01 +08:00
  • 23705042ee chore: ignore local agent state, clean packaged installers JianFeeeee 2026-08-30 08:06:49 +08:00
  • 02cb8c0e33 fix(adapters): reflow live sensenova reasoning field, add trae adapter JianFeeeee 2026-08-30 08:06:22 +08:00
  • 6575058556 feat(webui): scroll-paged record table, pool metrics, probe-aware health tags JianFeeeee 2026-08-30 08:06:11 +08:00
  • d42c02b15d perf(gateway): load request logs on demand instead of holding them in memory JianFeeeee 2026-08-30 08:05:54 +08:00
  • df9aeed5fb feat(lua): elastic adapter worker pools instead of monotonic growth JianFeeeee 2026-08-30 08:05:13 +08:00
  • 21cd0429a2 feat(provider): half-cooldown probe so recovered slots return immediately JianFeeeee 2026-08-30 08:04:50 +08:00
  • 2ed1f0ecde style: gofmt the tree JianFeeeee 2026-08-30 08:04:22 +08:00
  • 624fd74b45 fix: anthropic tool-call round-trip, cache zero-hit parity, round-robin load balancing v1.3.0 JianFeeeee 2026-08-28 12:02:46 +08:00
  • 94cbcb6771 docs: source templates, split image AUTO chain, headless/desktop installers JianFeeeee 2026-08-27 13:02:48 +08:00
  • a5384d9fb6 chore: bump version to 1.2.0 1.2.0 JianFeeeee 2026-08-27 12:26:36 +08:00
  • ab20f1be48 fix(webui): specify DELETE method for source/template removal JianFeeeee 2026-08-27 12:14:41 +08:00
  • 8334cffbc9 feat(templates): source templates for multi-key balancing JianFeeeee 2026-08-27 12:09:38 +08:00
  • a42ff62d06 feat(scheduler): separate image-generation AUTO chain with UI toggle JianFeeeee 2026-08-26 21:02:33 +08:00
  • 66585549f1 fix(webui): allow image models in priority/AUTO chain editor JianFeeeee 2026-08-26 20:36:05 +08:00
  • 747dff5b76 fix(gateway): record actual served model for image requests JianFeeeee 2026-08-26 20:28:20 +08:00
  • 5d045f97a8 chore: bump version to 1.1.1 1.1.1 JianFeeeee 2026-08-26 15:53:54 +08:00
  • e48baa1bb3 fix(webui): missing HTTP method on fetch calls with body JianFeeeee 2026-08-26 00:34:57 +08:00
  • 519b18518a chore: bump version to 1.1.0 1.1.0 dev 2026-08-25 18:28:22 +08:00
  • 77b00bfe3f feat(gateway): brute-force protection for /api/login dev 2026-08-25 11:01:49 +08:00
  • 21ec8f59d8 feat: surface zero cache hits — distinguish 'missed' from 'not reported' dev 2026-08-25 10:04:44 +08:00
  • ec89daad62 fix(adapters): pass through cache tokens in the remaining 8 adapters dev 2026-08-25 09:52:55 +08:00
  • 24609289e8 feat: record cache hit/miss per request in audit trail and WebUI dev 2026-08-25 09:36:21 +08:00
  • 18c2385c61 feat: add per-source TTFB and tokens/s metrics to status page dev 2026-08-25 08:24:08 +08:00
  • 2a5c7bbbc7 fix: auto-generate prompt_tokens_details from prompt_cache_hit_tokens in MarshalJSON dev 2026-08-25 08:01:18 +08:00
  • 045ecf47bc feat(types): pass through upstream cache tokens in TokenUsage dev 2026-08-25 07:57:32 +08:00
  • 334b984c25 fix(webui,gui): repair dead export button + wire chat clear; prune UI redundancy dev 2026-08-24 23:13:54 +08:00
  • f3d5ba6cea refactor(gateway): deduplicate stats CSV export paths dev 2026-08-24 22:41:48 +08:00
  • 98847adfd6 refactor(gateway): collapse chat.go four-way duplication dev 2026-08-24 22:38:38 +08:00
  • 5bb94db08c refactor: unify oneLineStr/oneLine into types.OneLine dev 2026-08-24 22:26:51 +08:00
  • ef396f9b47 chore: remove dead code found in redundancy audit dev 2026-08-24 22:25:21 +08:00
  • c8a300c998 fix(gateway): forward Flush through statusRecorder so SSE streams in real time dev 2026-08-24 22:22:38 +08:00
  • 210243f724 test(e2e): track renamed auto-chain 503 summary phrasing JianFeeeee 2026-08-24 19:19:14 +08:00
  • b2183df1e8 feat(adapter): move per-source error condensing into transform_error hooks JianFeeeee 2026-08-24 19:17:36 +08:00
  • 6eac80bc6c fix(provider): condense upstream error bodies before they reach clients JianFeeeee 2026-08-24 18:56:06 +08:00
  • e3a36bc7ca test(gateway): anchor audit-replay fixture to hour buckets JianFeeeee 2026-08-24 16:08:19 +08:00
  • 31b1ed2c96 feat(gateway): collapse multi-tier failure details into short client message JianFeeeee 2026-08-24 16:02:31 +08:00
  • e19cff248f fix(provider): fail the candidate on error-only streams instead of serving empty replies JianFeeeee 2026-08-24 15:41:45 +08:00
  • bb3af3bdb3 feat(gateway): pass through upstream finish_reason end-to-end JianFeeeee 2026-08-24 15:05:50 +08:00
  • 9c99ded8c0 fix(adapter): send x-opencode-* identity headers so zen stops returning empty tool-call replies JianFeeeee 2026-08-24 14:37:09 +08:00
  • 690f55c6f1 feat: proactive rate limiting (RPM) + 429 short cooldown for sources JianFeeeee 2026-08-24 02:00:25 +08:00
  • 3069cfce4e fix(gateway): pass through upstream token usage in streams for all adapters 1.0.1 jianf 2026-08-18 23:24:01 +08:00
  • cb9c025952 !1 merge main into main JianFeeeee 2026-08-18 19:14:46 +08:00
  • 83e6d88813 feat(gateway): pass through exact upstream token usage in streams valuelesser 2026-08-18 19:04:44 +08:00
  • 6f1c806591 fix(gateway): emit OpenAI-standard token usage in responses valuelesser 2026-08-18 18:14:37 +08:00
  • 98c08d51c4 fix(gui): re-enable hardware acceleration — remove blanket disableHardwareAcceleration() jianf 2026-08-17 23:02:49 +08:00
  • ca81048637 fix(gui): ship icon.png as real resource for packaged window icon (linux/mac/win) jianf 2026-08-17 20:57:27 +08:00
  • b9f2486037 fix(gui): strip host LD_LIBRARY_PATH from packaging + defensive GPU/icon fixes JianFeeeee 2026-08-17 19:50:34 +08:00
  • 8c5279b416 fix(status): source column reflects real traffic + theme-aware tray menu jianf 2026-08-17 17:37:04 +08:00
  • 23bd9e5552 fix(gui): resolve GNOME taskbar icon via WM_CLASS/StartupWMClass match jianf 2026-08-17 10:33:10 +08:00
  • d75d8411c0 chore(compliance): drop opencode zen free-pool from default config and docs JianFeeeee 2026-08-17 08:53:42 +08:00
  • f67831c3c2 fix(gui): desktop shell stability — gated ready state, iframe retry with backoff, theme toggle JianFeeeee 2026-08-17 08:53:28 +08:00
  • e356885130 test(lua): add opencode role normalization test JianFeeeee 2026-08-16 17:51:43 +08:00
  • a1d119f513 delete: 删除文件 plan.md 1.0.0 JianFeeeee 2026-08-16 15:10:59 +08:00
  • 3061a70087 style(ui): normalize index.html formatting (expanded attrs, 2-space indent) jianf 2026-08-16 13:15:38 +08:00
  • ae1e1d39b4 chore(ui): remove NapCat design-DNA references and napcat-design-dna.json; neutralize design attribution comments jianf 2026-08-16 13:05:53 +08:00
  • 3c82b07ff4 chore: remove outdated README screenshots/dupes, drop AI-assist local state (.pi-glla/.codegraph) from tracking, declare AI-assisted dev in README jianf 2026-08-16 13:00:23 +08:00
  • e4ce205b7c docs: clarify backend is a pure single binary (no docker-specific artifact); container hosting is just running the binary jianf 2026-08-16 12:51:54 +08:00
  • 8843b8cca5 feat(gui): dockerized Windows cross-build (win-builder image + one-shot dist script) + GUI/backend scenario docs jianf 2026-08-16 12:49:55 +08:00
  • 47f3b44d92 feat(gui): Electron desktop with embedded core, tray, autostart, win/linux packaging jianf 2026-08-16 09:53:05 +08:00
  • 40e08b14d2 fix: zen adapter strips multimodal parts (upstream is text-only) JianFeeeee 2026-08-13 22:08:15 +08:00
  • 2bc1d0e67a feat: opencode zen adapter + first-run config generation, fix stats/stream bugs JianFeeeee 2026-08-13 12:25:07 +08:00
  • d06210204b feat: config.yaml only, OpenRouter free models, remove runtime.json config JianFeeeee 2026-08-13 10:18:19 +08:00
  • 084c9fee2b fix: narrow-screen sidebar no longer blurred root 2026-08-12 16:05:52 +08:00
  • 3a590e5053 UI重构: 采用NapCat设计语言 root 2026-08-12 13:51:29 +08:00
  • 32303e4238 fix(ui): cache the status page so switching back to home no longer rebuilds the whole dashboard root 2026-08-11 18:44:12 +08:00
  • 788e5a3d0d fix(ui): tokens card — fix 252px height overflow, show all models with usage in legend root 2026-08-11 18:39:09 +08:00
  • bce3f1b23d fix(ui): eliminate KPI card height jump on load — all five cards fixed at 206px, chart area flex:1 root 2026-08-11 18:02:28 +08:00
  • dbee5188f8 feat(ui): align skeleton height to real KPI cards + add page/tab/card entry animations root 2026-08-11 17:55:24 +08:00
  • 12c61317fb feat(ui): loading skeleton for the KPI row so first paint isn't a sudden blank->cards pop root 2026-08-11 17:50:23 +08:00
  • a83abee378 fix(ui): stop rebuilding the five KPI cards every 3s poll (was causing a visible flicker) root 2026-08-11 17:42:51 +08:00
  • c006c3988e perf(ui): probe sources asynchronously so /api/status no longer blocks on upstream reachability root 2026-08-11 17:37:49 +08:00
  • 5ca3b7f680 fix(ui): chat model dropdown shows source (src:model pin), tokens card stacked bar + swatch legend, tokens in/out on two lines root 2026-08-11 17:34:19 +08:00
  • eee0122092 fix(ui): status pie — draw true annulus slices (hollow center), fixes yellow blob root 2026-08-11 17:06:53 +08:00
  • 4b75a88247 fix(ui): status pie — drop center number, carve clean donut hole root 2026-08-11 17:05:18 +08:00
  • f4289c025c fix(ui): active request card -> real-time QPS-style sparkline; remove pie slice outline root 2026-08-11 17:03:26 +08:00
  • ac0caf9e0c fix(ui): status block = pie chart (no labels) with color legend below root 2026-08-11 16:58:44 +08:00
  • 7f91985583 fix(ui): restore five uniform KPI cards — title + big value + subtitle + real canvas charts (no gray-shell placeholders) root 2026-08-11 16:57:04 +08:00
  • 82f90d5114 fix(ui): unify five KPI blocks into identical cards with canvas placeholders root 2026-08-11 16:51:58 +08:00
  • 5bafac1d02 fix(ui): status-code donut as 5th KPI block — crisp path arcs, no clipping, compact chips root 2026-08-11 16:28:23 +08:00
  • 675789693c fix(ui): status-code donut chart with hover tooltips + model usage % = share of total; plan.md P4-9/P4-10 root 2026-08-11 16:08:43 +08:00
  • 20d2268546 fix: close P10 audit items — P10-1 sources API admin guard, P10-2 scope prefix strip, P10-3 runtime source timeout w/ stream-safe clients root 2026-08-11 15:21:05 +08:00
  • 854b3e2e37 fix: AUTO tier order ascending + stats/CSV export completeness + UI key-view toggle & exit affordance root 2026-08-11 13:36:23 +08:00
  • 32e2fd521a update: 2026-08-11 code review findings + WebUI crash fix & 41s delay analysis (P10-1..P10-5, P4-1..P4-6) JianFeeeee 2026-08-11 10:30:58 +08:00
  • 7647b7dff8 fix: WebUI chat crashes on streaming reasoning — sendChat never passed the reason flag to addMsg, so .think/.tk-hint were null and first reasoning_content chunk threw 'Cannot set properties of null'; pass reason=true and hide the empty box until thinking arrives JianFeeeee 2026-08-11 09:52:12 +08:00
  • e8ef73321c fix: restart wipes stats history — LoadAudit replayed only the last 3000 lines (92% of which are 3s access events) and fed access rows into aggregates; now replays every real request into totals/quota windows, skips event rows, tolerates >64KB lines; +TestLoadAuditFullReplay JianFeeeee 2026-08-11 08:42:13 +08:00
  • 6221502adc fix: right-click ctx menu never closes — showCtx appended the menu but never stored it in ctxEl, so hideCtx (item click / outside press) was always a no-op; priority page and keys page affected JianFeeeee 2026-08-11 00:15:16 +08:00
  • 88802f9ef6 feat: AUTO chain rewrite — silent failover+busy skip+pref round-robin+503 tier summary; chain edits reset slot cooldowns (P0/P1); stats by_status + audit jsonl rotation; UI priority-page health badges & status-code card; ctx-menu capture-phase close (outside-press guard); main.go ops warnings; local bundled-Lua verified tests (3 latent bugs fixed); plan.md JianFeeeee 2026-08-10 23:58:31 +08:00
  • 397af36fbb update: 更新文件 README.md JianFeeeee 2026-08-10 15:13:13 +08:00
  • 63c2b13b4b fix: WebUI 密钥用量导出 CSV + 修复 Stats API key 过滤 bug root 2026-08-10 14:52:30 +08:00
  • 41c9b0e14a feat: source-model routing disambiguation (source-model/:/ prefix); same-tier round-robin load balancing; public_base_url for copy config; fmtTok(B/M/K) unit scaling; status column reorder (reachability first); drop emoji from seed-warn modal; fix tests for first-run adapter seeding; install lua5.1 dev lib root 2026-08-10 12:55:22 +08:00
  • fe06e0861a feat(seed-warn): dynamic seed key detection in UI modal; feat(https): TLS config (tls_cert_file/tls_key_file) with dynamic base_url; docs: rotate admin key reminder root 2026-08-10 12:11:32 +08:00
  • a5c370018c docs: remind to rotate the admin key after first start (seed key lives in plaintext config.yaml) root 2026-08-10 11:53:14 +08:00
  • f46b02089c feat(delete): real deletes — adapters seeded once into adapter_dir (existing dir is authoritative), sources removed from config.yaml on delete; drop tombstone mechanism for both. Docs: multi-key architecture, gateway_keys as seed root 2026-08-10 11:52:51 +08:00
  • e2dd4d9727 fix(ui): clipboard fallback for non-secure contexts; touch-friendly delete button on key scope blocks; append named model after AUTO when adding (+ docs sync: encrypted storage, AUTO chain, live probing, image endpoint) root 2026-08-10 11:10:59 +08:00
  • 62c8a07b88 fix(ui): sources page model tags wrap 4 per row (same grid as status page) root 2026-08-10 10:37:57 +08:00
  • 839f33ba01 feat(secrets): encrypt sensitive store fields (AES-GCM, master.key 0600, api_key_env) + fast models-endpoint probing (fix zen backlog + source status) + UI cleanup (drop redundant parens labels, grid models 4/row) root 2026-08-10 10:33:03 +08:00
  • e0978db150 fix(ui): logout power icon was italic (<i> default style); hide it on wide screens, normalize font-style root 2026-08-10 09:38:33 +08:00
  • fa65dcbe70 fix(ui): narrow-screen header (hide brand name, icon-only nav, scrollable), wrap wide tables for horizontal scroll, add favicon root 2026-08-10 09:35:21 +08:00
  • 597babe331 fix(stats): drop empty-model records from model aggregates; clean stale blank audit entries root 2026-08-10 08:57:33 +08:00