feat: add privacy mode, thinking levels, PWA support, and i18n

- Add privacy mode to hide IP and user preferences from AI requests
- Add model thinking levels (low/medium/high) for context analysis depth
- Add PWA support with service worker, manifest, and app icons
- Add SettingsPanel for user preferences (theme, background, language)
- Add i18n translations for en/zh/ja/ko/de/fr
- Add Pinia store for centralized settings management
- Update backend to support user preferences and thinking levels
- Update config to use absolute API URLs
This commit is contained in:
2026-02-19 10:22:27 +08:00
parent d2b64ad5d6
commit aa6133e3ed
24 changed files with 1291 additions and 222 deletions

View File

@@ -13,14 +13,14 @@
color-scheme: light;
--app-bg: #f4f6fb;
--app-text: #1f2937;
--panel-bg: #ffffff;
--panel-bg: rgba(255, 255, 255, 0.5);
--panel-border: #d7deea;
--panel-shadow: 0 8px 24px rgba(16, 24, 40, 0.12);
--btn-bg: #ffffff;
--btn-bg: rgba(255, 255, 255, 0.5);
--btn-fg: #5b6470;
--btn-hover-bg: #4a90d9;
--btn-hover-fg: #ffffff;
--btn-disabled-bg: #cfd5df;
--btn-disabled-bg: rgba(207, 213, 223, 0.5);
--btn-disabled-fg: #8a92a0;
--overlay-bg: rgba(15, 23, 42, 0.3);
--tooltip-bg: #111827;
@@ -30,8 +30,8 @@
--scrollbar-thumb: #d4dae4;
--scrollbar-thumb-hover: #bbc4d2;
--focus-ring: #3b82f6;
--toggle-bg-start: #fff8dd;
--toggle-bg-end: #f2f4ff;
--toggle-bg-start: rgba(255, 248, 221, 0.5);
--toggle-bg-end: rgba(242, 244, 255, 0.5);
--toggle-thumb-bg: #ffffff;
--toggle-sun: #f59e0b;
--toggle-moon: #475569;
@@ -61,14 +61,14 @@
color-scheme: dark;
--app-bg: #0f1117;
--app-text: #e5e7eb;
--panel-bg: #1a1e27;
--panel-bg: rgba(26, 30, 39, 0.5);
--panel-border: #2f3644;
--panel-shadow: 0 10px 26px rgba(0, 0, 0, 0.5);
--btn-bg: #222834;
--btn-bg: rgba(34, 40, 52, 0.5);
--btn-fg: #d2d8e4;
--btn-hover-bg: #6ea8ff;
--btn-hover-fg: #0d1117;
--btn-disabled-bg: #2e3441;
--btn-disabled-bg: rgba(46, 52, 65, 0.5);
--btn-disabled-fg: #7a8498;
--overlay-bg: rgba(2, 6, 23, 0.65);
--tooltip-bg: #f8fafc;
@@ -78,8 +78,8 @@
--scrollbar-thumb: #40485a;
--scrollbar-thumb-hover: #5f6980;
--focus-ring: #60a5fa;
--toggle-bg-start: #2d3140;
--toggle-bg-end: #1f2430;
--toggle-bg-start: rgba(45, 49, 64, 0.5);
--toggle-bg-end: rgba(31, 36, 48, 0.5);
--toggle-thumb-bg: #dbe3f2;
--toggle-sun: #fbbf24;
--toggle-moon: #e2e8f0;
@@ -106,10 +106,10 @@
}
:root[data-theme='light'] .milkdown {
--crepe-color-background: #ffffff;
--crepe-color-background: transparent;
--crepe-color-on-background: #000000;
--crepe-color-surface: #f7f7f7;
--crepe-color-surface-low: #ededed;
--crepe-color-surface: rgba(247, 247, 247, 0.5);
--crepe-color-surface-low: rgba(237, 237, 237, 0.5);
--crepe-color-on-surface: #1c1c1c;
--crepe-color-on-surface-variant: #4d4d4d;
--crepe-color-outline: #a8a8a8;
@@ -126,10 +126,10 @@
}
:root[data-theme='dark'] .milkdown {
--crepe-color-background: #1a1a1a;
--crepe-color-background: transparent;
--crepe-color-on-background: #e6e6e6;
--crepe-color-surface: #121212;
--crepe-color-surface-low: #1c1c1c;
--crepe-color-surface: rgba(18, 18, 18, 0.5);
--crepe-color-surface-low: rgba(28, 28, 28, 0.5);
--crepe-color-on-surface: #d1d1d1;
--crepe-color-on-surface-variant: #a9a9a9;
--crepe-color-outline: #757575;