Commit Graph
183 Commits
Author SHA1 Message Date
zyycnandCodex a28ecbe4aa fix: dashboard API alignment and fingerprint diagnostics
- Align Metric cards, AccountOverview, ServiceStatus with backend response shapes
- Replace fake SVG trend chart with ECharts driven by event log aggregation
- Switch trend tabs to usage/latency/errors with context-aware summary panel
- Repurpose service status as fingerprint status (version, platform, chromium, UA)
- Add fingerprint updated_at to backend diagnostics API and DB query
- Fix API Keys, Settings, Accounts page type mismatches
- Two-column layout for User Agent and update time rows

Co-authored-by: Codex <noreply@openai.com>
2026-06-21 16:56:02 +08:00
zyycnandClaude Opus 4.8 788c1a72a3 feat: implement admin panel and logout functionality
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-21 02:50:15 +08:00
zyycnandCodex 5b227cca09 fix: align OpenAI real-chain behavior
Co-authored-by: Codex <noreply@openai.com>
2026-06-20 23:51:11 +08:00
zyycnandCodex 0cf99a8b2e fix: align OpenAI real-chain behavior
Co-authored-by: Codex <noreply@openai.com>
2026-06-20 21:03:36 +08:00
zyycnandCodex e06c90c38c refactor: clean runtime storage schema
Co-authored-by: Codex <noreply@openai.com>
2026-06-20 18:16:04 +08:00
zyycnandCodex 17de9ffe57 fix: align upstream request and account lifecycle
- use OpenAI fork WebSocket transport and aligned request headers

- persist refresh/account failure states and dedupe account imports by identity

- document real-chain and risk-control audit results

Co-authored-by: Codex <noreply@openai.com>
2026-06-20 15:33:42 +08:00
zyycnandCodex b8c14f5dd1 chore: clean project test layout
Co-authored-by: Codex <noreply@openai.com>
2026-06-19 22:13:30 +08:00
zyycnandCodex 8763187266 docs: add architecture overview
Co-authored-by: Codex <noreply@openai.com>
2026-06-19 20:53:26 +08:00
zyycnandCodex 87c199f543 docs: add architecture overview
Co-authored-by: Codex <noreply@openai.com>
2026-06-18 01:34:01 +08:00
zyycn 8ee764f3f7 docs: add codex desktop websocket parity design 2026-06-17 00:02:08 +08:00
ZyyandCodex 0a2d10f75d docs: add architecture overview
Co-authored-by: Codex <noreply@openai.com>
2026-06-16 17:46:48 +08:00
ZyyandCodex 5ca1acd050 feat: restore frontend login page
Co-authored-by: Codex <noreply@openai.com>
2026-06-16 17:36:42 +08:00
zyycnandCodex 1b7cd7c320 feat: restore dashboard layout fidelity
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 23:31:38 +08:00
ZyyandCodex ff580e57f8 feat: add vue dashboard web app
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 23:31:08 +08:00
ZyyandCodex 4ea7d86592 test: remove unused refresh fixtures
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 19:00:53 +08:00
ZyyandCodex 86180b99d4 test: remove synthetic stream goldens
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 18:52:21 +08:00
ZyyandCodex c588fe2447 test: remove open-ended parity goldens
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 18:39:54 +08:00
ZyyandCodex 6d78536414 test: add response conversion parity goldens
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 18:24:48 +08:00
ZyyandCodex f6087cb33c test: add compact chat error goldens
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 17:21:51 +08:00
ZyyandCodex dbafc451a6 fix: align responses streaming fallback errors
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 16:57:45 +08:00
zyycnandCodex 221dc08b3e codex: add sse parser golden
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 13:30:34 +08:00
zyycnandCodex 36162aefaf codex: add websocket golden
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 13:22:43 +08:00
zyycnandCodex bf53bbfe47 codex: add stream golden
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 13:15:40 +08:00
zyycnandCodex 83d13b6c90 codex: align recovery transition
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 13:08:10 +08:00
zyycnandCodex a7fd8a7fe3 codex: align recovery action
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 12:51:11 +08:00
zyycnandCodex 16027e9a84 codex: align responses errors
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 12:34:11 +08:00
zyycnandCodex 728e7c5415 codex: align history fallback
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 12:18:25 +08:00
zyycnandCodex 80c5b45d47 codex: cover implicit resume
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 12:05:34 +08:00
zyycnandCodex 4547bb6744 codex: persist refresh state
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 11:56:51 +08:00
zyycnandCodex f0e62e4d9c docs: clarify refresh gap
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 11:40:58 +08:00
zyycnandCodex c0d6d78abd docs: mark responses parity
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 11:37:38 +08:00
zyycnandCodex 56d8476275 codex: forward body version
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 11:34:54 +08:00
zyycnandCodex 4202a31f69 docs: align parity status
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 11:29:28 +08:00
zyycnandCodex cce1233aa7 codex: recover refresh failures
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 11:26:46 +08:00
zyycnandCodex aa060bfec4 codex: preserve usage windows
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 11:15:53 +08:00
zyycnandCodex 3ae55c994c codex: audit active limit
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 11:05:59 +08:00
zyycnandCodex e8557932bd codex: scope cookies
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 11:03:56 +08:00
zyycnandCodex 44c3306023 codex: track image usage
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 10:47:40 +08:00
zyycnandCodex 8e9e89aeff codex: verify dirty quota
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 10:19:58 +08:00
zyycnandCodex 0ecd630923 codex: mark dirty quota
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 10:05:44 +08:00
zyycnandCodex da870157a1 codex: persist quota verification
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 10:02:53 +08:00
zyycnandCodex f208d14382 codex: cover transport failures
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 09:57:06 +08:00
zyycnandCodex 193e992a47 codex: persist failed request attempts
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 09:53:51 +08:00
zyycnandCodex 7f1f86ce69 codex: persist retry request attempts
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 09:41:12 +08:00
zyycnandCodex 8f59c85f22 codex: align cloudflare fallback errors
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 09:36:53 +08:00
zyycnandCodex c30c821f20 codex: align fallback exhaustion errors
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 09:30:17 +08:00
zyycnandCodex 847388edc0 codex: align sse usage extraction
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 09:19:38 +08:00
zyycnandCodex 1ae8aa1636 codex: clean expired cookies
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 09:14:04 +08:00
zyycnandCodex 5b4f52c6c2 codex: handle partial sse close
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 09:06:42 +08:00
zyycnandCodex dfe57321e8 openai: support websocket deflate
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 08:57:38 +08:00