Sakurasan
|
ef3025dd80
|
refactor: complete backend rewrite for multi-protocol proxy
Major rewrite of the Go backend to support:
- Three API format imports: openai, anthropic, compatible
- Three protocol conversions: Chat Completions, Responses, Messages
- Hub-and-spoke architecture with Chat as intermediate format
Deleted:
- opencat.go (old entry)
- store/, team/, pkg/team/, pkg/store/ (old data layer)
- internal/model/, internal/consts/ (old types)
- internal/service/team/, internal/controller/team/ (old handlers)
- llm/ (removed LLM client library, pure proxy mode)
- dist/, assets/ (old build artifacts)
Added:
- internal/store/ — 9 GORM models + multi-DB support
- internal/pkg/ — crypto (AES-GCM), apikey, jwt, ratelimit, resp, tokenizer
- internal/channel/ — channel selection, weighted LB, health checks
- internal/proxy/convert/ — 6 protocol conversion functions + SSE streaming
- internal/proxy/ — gateway with request dispatch and upstream selection
- internal/usage/ — async usage recorder with batch writes
- internal/api/ — management API (auth, users, keys, channels, models)
- Makefile for build/test/deploy
Fixed API to match frontend expectations:
- Login response wraps token in { data: { token } }
- GET /api/profile route added
- Profile response wraps user in { code, data }
- Role returned as number (10=admin, 1=user)
|
2026-08-30 11:49:31 +08:00 |
|
Sakurasan
|
33f5e7b71a
|
rewrite: toast stacking with daisyui toast container
- module-level reactive toast list in composables/toast (setToast signature unchanged, 13 call sites untouched)
- multiple toasts stack simultaneously in daisyUI toast container, each auto-dismisses (3s) with close button
- TransitionGroup enter/leave animation (transform/opacity, honors reduced-motion)
- drop provide/inject queue that blocked consecutive toasts
|
2026-08-30 01:54:57 +08:00 |
|
Sakurasan
|
1e07c5903f
|
redesign: site-wide UI/UX overhaul per web-interface-guidelines
- unified design system: focus-visible rings, reduced-motion, color-scheme,
theme persistence, tightened emerald radius tokens (checkbox circle bug)
- redesigned all pages: Home/Login/Signup/404, dashboard shell, Overview hero
(time-based gradient), list pages with empty states, form modals, detail pages
- role-scoped navigation: console menu vs admin console with cross-switch
entries, Chinese route titles and breadcrumbs
- theme switcher (light/dark/auto) via composables/theme, home + dashboard
- state-driven dropdowns (touch-safe logout), menu divider pointer-events fix
- btn-primary unified to black-on-white / white-on-black per theme
- update REFACTOR_PLAN.md (increments 2-6)
|
2026-08-30 01:35:10 +08:00 |
|
Sakurasan
|
ac0a6808ec
|
refactor: frontend TS migration + Tailwind4/daisyUI5 unify + BUILDPLATFORM docker build
- migrate frontend to TypeScript (vue-tsc strict in build), upgrade all deps to latest (Vite 8, Tailwind 4, daisyUI 5, Pinia 4, vue-router 5)
- restructure frontend dirs (api/components/common/layouts/styles/types/views)
- drop Element Plus, add daisyUI TagInput; main CSS 490KB->163KB, entry JS 618KB->1.3KB
- rewrite Dockerfile(.cn): frontend/backend stages pinned to $BUILDPLATFORM, CGO_ENABLED=0 cross-compile, no QEMU in multi-arch builds; add .dockerignore
- local dev: Vite /api proxy + make dev targets; go:embed all:dist with .gitkeep so backend runs without prior frontend build
- fix latent bugs: Keys.vue users ref, Settings.vue undefined userStore, Login.vue Ref-as-error display, res.error misuse
- add REFACTOR_PLAN.md (phased refactor log)
|
2026-08-29 23:27:31 +08:00 |
|
Sakurasan
|
9c604460b1
|
fix empty models
|
2025-04-22 02:52:56 +08:00 |
|
Sakurasan
|
51d4651c6c
|
up
|
2025-04-21 20:19:48 +08:00 |
|
Sakurasan
|
b80f0759a5
|
fix select key
|
2025-04-20 18:33:59 +08:00 |
|
Sakurasan
|
b83c6d9786
|
fix active key,suffix
|
2025-04-20 16:22:23 +08:00 |
|
Sakurasan
|
fe0f2a7e88
|
key icon
|
2025-04-20 02:59:08 +08:00 |
|
Sakurasan
|
ed42f3ded7
|
fix UI & token copy
|
2025-04-20 02:03:13 +08:00 |
|
Sakurasan
|
54246c542a
|
up
|
2025-04-19 01:35:18 +08:00 |
|
Sakurasan
|
ca305f4199
|
fetch model & add apitype
|
2025-04-19 01:21:28 +08:00 |
|
Sakurasan
|
e0b531c578
|
fix passkey
|
2025-04-18 02:47:10 +08:00 |
|
Sakurasan
|
afb51b0a94
|
remove
|
2025-04-17 23:56:28 +08:00 |
|
Sakurasan
|
3c4619b98c
|
fix UI
|
2025-04-17 23:50:02 +08:00 |
|
Sakurasan
|
efd38034ac
|
push home
|
2025-04-17 23:35:03 +08:00 |
|
Sakurasan
|
d4bf227cd8
|
fix UI
|
2025-04-17 23:15:43 +08:00 |
|
Sakurasan
|
fca67cae40
|
fix UI
|
2025-04-17 23:09:57 +08:00 |
|
Sakurasan
|
d4cbc27a77
|
fix bug
|
2025-04-16 23:39:56 +08:00 |
|
Sakurasan
|
2360e7d2bf
|
update baseurl
|
2025-04-16 19:04:22 +08:00 |
|
Sakurasan
|
15f17f4e8d
|
frontend
|
2025-04-16 18:14:53 +08:00 |
|