@mseep/anything-analyzer 3.6.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.codeartsdoer/.codebaseignore +0 -0
- package/.codeartsdoer/AGENTS.md +12 -0
- package/.github/workflows/build.yml +146 -0
- package/README.en.md +264 -0
- package/README.md +276 -0
- package/RELEASE_NOTES.md +16 -0
- package/USAGE.md +490 -0
- package/color-preview-r3.html +414 -0
- package/color-preview.html +414 -0
- package/dev-app-update.yml +3 -0
- package/electron-builder.yml +36 -0
- package/electron.vite.config.ts +40 -0
- package/package.json +53 -0
- package/report-2026-04-13-copilot-claude-sonnet-4.6.md +955 -0
- package/resources/doloffer-logo.png +0 -0
- package/resources/entitlements.mac.plist +12 -0
- package/resources/icon.ico +0 -0
- package/resources/icon.png +0 -0
- package/src/main/ai/ai-analyzer.ts +517 -0
- package/src/main/ai/crypto-script-extractor.ts +206 -0
- package/src/main/ai/data-assembler.ts +205 -0
- package/src/main/ai/llm-router.ts +1120 -0
- package/src/main/ai/prompt-builder.ts +349 -0
- package/src/main/ai/scene-detector.ts +302 -0
- package/src/main/capture/capture-engine.ts +130 -0
- package/src/main/capture/interaction-recorder.ts +171 -0
- package/src/main/capture/js-injector.ts +57 -0
- package/src/main/capture/replay-engine.ts +256 -0
- package/src/main/capture/storage-collector.ts +76 -0
- package/src/main/cdp/cdp-manager.ts +233 -0
- package/src/main/db/database.ts +41 -0
- package/src/main/db/migrations.ts +235 -0
- package/src/main/db/repositories.ts +574 -0
- package/src/main/fingerprint/http-spoofing.ts +48 -0
- package/src/main/fingerprint/presets.ts +173 -0
- package/src/main/fingerprint/profile-generator.ts +115 -0
- package/src/main/fingerprint/profile-store.ts +52 -0
- package/src/main/index.ts +260 -0
- package/src/main/ipc.ts +856 -0
- package/src/main/logger.ts +42 -0
- package/src/main/mcp/mcp-config.ts +66 -0
- package/src/main/mcp/mcp-manager.ts +155 -0
- package/src/main/mcp/mcp-server.ts +1038 -0
- package/src/main/prompt-templates.ts +170 -0
- package/src/main/proxy/ca-manager.ts +204 -0
- package/src/main/proxy/cert-download-page.ts +171 -0
- package/src/main/proxy/cert-installer.ts +242 -0
- package/src/main/proxy/mitm-proxy-config.ts +37 -0
- package/src/main/proxy/mitm-proxy-server.ts +1085 -0
- package/src/main/proxy/system-proxy.ts +248 -0
- package/src/main/session/session-manager.ts +724 -0
- package/src/main/tab-manager.ts +582 -0
- package/src/main/updater.ts +111 -0
- package/src/main/window.ts +235 -0
- package/src/preload/hook-script.ts +270 -0
- package/src/preload/index.ts +211 -0
- package/src/preload/interaction-hook.ts +286 -0
- package/src/preload/stealth-script.ts +302 -0
- package/src/preload/target-preload.ts +15 -0
- package/src/renderer/App.tsx +656 -0
- package/src/renderer/components/AiLogDetail.tsx +173 -0
- package/src/renderer/components/AiLogList.tsx +101 -0
- package/src/renderer/components/AiLogView.module.css +364 -0
- package/src/renderer/components/AiLogView.tsx +86 -0
- package/src/renderer/components/AnalyzeBar.module.css +79 -0
- package/src/renderer/components/AnalyzeBar.tsx +104 -0
- package/src/renderer/components/BrowserPanel.module.css +67 -0
- package/src/renderer/components/BrowserPanel.tsx +90 -0
- package/src/renderer/components/ControlBar.module.css +47 -0
- package/src/renderer/components/ControlBar.tsx +205 -0
- package/src/renderer/components/HookLog.tsx +132 -0
- package/src/renderer/components/InteractionLog.tsx +183 -0
- package/src/renderer/components/MCPServerModal.tsx +427 -0
- package/src/renderer/components/PromptTemplateModal.tsx +254 -0
- package/src/renderer/components/ReportView.module.css +413 -0
- package/src/renderer/components/ReportView.tsx +429 -0
- package/src/renderer/components/RequestDetail.module.css +191 -0
- package/src/renderer/components/RequestDetail.tsx +202 -0
- package/src/renderer/components/RequestLog.module.css +69 -0
- package/src/renderer/components/RequestLog.tsx +208 -0
- package/src/renderer/components/SessionList.module.css +245 -0
- package/src/renderer/components/SessionList.tsx +247 -0
- package/src/renderer/components/SettingsModal.tsx +100 -0
- package/src/renderer/components/StatusBar.module.css +44 -0
- package/src/renderer/components/StatusBar.tsx +102 -0
- package/src/renderer/components/StorageView.module.css +41 -0
- package/src/renderer/components/StorageView.tsx +178 -0
- package/src/renderer/components/TabBar.module.css +88 -0
- package/src/renderer/components/TabBar.tsx +70 -0
- package/src/renderer/components/Titlebar.module.css +254 -0
- package/src/renderer/components/Titlebar.tsx +169 -0
- package/src/renderer/components/settings/FingerprintSection.tsx +198 -0
- package/src/renderer/components/settings/GeneralSection.tsx +164 -0
- package/src/renderer/components/settings/LLMSection.tsx +148 -0
- package/src/renderer/components/settings/MCPServerSection.tsx +136 -0
- package/src/renderer/components/settings/MitmProxySection.tsx +320 -0
- package/src/renderer/components/settings/ProxySection.tsx +110 -0
- package/src/renderer/css-modules.d.ts +4 -0
- package/src/renderer/hooks/useCapture.ts +383 -0
- package/src/renderer/hooks/useConfirm.tsx +91 -0
- package/src/renderer/hooks/useSession.ts +136 -0
- package/src/renderer/hooks/useTabs.ts +103 -0
- package/src/renderer/i18n/en.ts +167 -0
- package/src/renderer/i18n/index.ts +47 -0
- package/src/renderer/i18n/zh.ts +170 -0
- package/src/renderer/index.html +12 -0
- package/src/renderer/main.tsx +15 -0
- package/src/renderer/styles/global.css +144 -0
- package/src/renderer/styles/themes/ayu-dark.css +59 -0
- package/src/renderer/styles/themes/catppuccin.css +59 -0
- package/src/renderer/styles/themes/discord.css +59 -0
- package/src/renderer/styles/themes/dracula.css +59 -0
- package/src/renderer/styles/themes/github-dark.css +59 -0
- package/src/renderer/styles/themes/gruvbox.css +59 -0
- package/src/renderer/styles/themes/index.css +11 -0
- package/src/renderer/styles/themes/light.css +59 -0
- package/src/renderer/styles/themes/nord.css +59 -0
- package/src/renderer/styles/themes/one-dark.css +59 -0
- package/src/renderer/styles/themes/tokyo-night.css +59 -0
- package/src/renderer/styles/tokens.css +137 -0
- package/src/renderer/theme.ts +31 -0
- package/src/renderer/ui/Badge.module.css +38 -0
- package/src/renderer/ui/Badge.tsx +36 -0
- package/src/renderer/ui/Button.module.css +142 -0
- package/src/renderer/ui/Button.tsx +46 -0
- package/src/renderer/ui/Collapse.module.css +49 -0
- package/src/renderer/ui/Collapse.tsx +57 -0
- package/src/renderer/ui/CopyableBlock.module.css +56 -0
- package/src/renderer/ui/CopyableBlock.tsx +42 -0
- package/src/renderer/ui/Empty.module.css +19 -0
- package/src/renderer/ui/Empty.tsx +34 -0
- package/src/renderer/ui/Icons.tsx +346 -0
- package/src/renderer/ui/Input.module.css +103 -0
- package/src/renderer/ui/Input.tsx +94 -0
- package/src/renderer/ui/InputNumber.module.css +68 -0
- package/src/renderer/ui/InputNumber.tsx +104 -0
- package/src/renderer/ui/Modal.module.css +83 -0
- package/src/renderer/ui/Modal.tsx +67 -0
- package/src/renderer/ui/Popconfirm.module.css +73 -0
- package/src/renderer/ui/Popconfirm.tsx +74 -0
- package/src/renderer/ui/Progress.module.css +35 -0
- package/src/renderer/ui/Progress.tsx +30 -0
- package/src/renderer/ui/Select.module.css +91 -0
- package/src/renderer/ui/Select.tsx +100 -0
- package/src/renderer/ui/Spinner.module.css +44 -0
- package/src/renderer/ui/Spinner.tsx +27 -0
- package/src/renderer/ui/Switch.module.css +39 -0
- package/src/renderer/ui/Switch.tsx +43 -0
- package/src/renderer/ui/Tabs.module.css +76 -0
- package/src/renderer/ui/Tabs.tsx +53 -0
- package/src/renderer/ui/Tag.module.css +66 -0
- package/src/renderer/ui/Tag.tsx +47 -0
- package/src/renderer/ui/Timeline.module.css +42 -0
- package/src/renderer/ui/Timeline.tsx +29 -0
- package/src/renderer/ui/Toast.module.css +99 -0
- package/src/renderer/ui/Toast.tsx +90 -0
- package/src/renderer/ui/Tooltip.module.css +26 -0
- package/src/renderer/ui/Tooltip.tsx +23 -0
- package/src/renderer/ui/VirtualTable.module.css +230 -0
- package/src/renderer/ui/VirtualTable.tsx +416 -0
- package/src/renderer/ui/index.ts +55 -0
- package/src/shared/types.ts +695 -0
- package/tests/main/ai/crypto-script-extractor.test.ts +281 -0
- package/tests/main/ai/llm-router.test.ts +1537 -0
- package/tests/main/ai/prompt-builder.test.ts +178 -0
- package/tests/main/ai/scene-detector.test.ts +212 -0
- package/tests/main/db/migrations.test.ts +134 -0
- package/tests/main/release-workflow.test.ts +59 -0
- package/tsconfig.json +7 -0
- package/tsconfig.node.json +23 -0
- package/tsconfig.web.json +24 -0
- package/vitest.config.ts +13 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/* Theme: Ayu Dark 深邃橙 (L) */
|
|
2
|
+
[data-theme="ayu-dark"] {
|
|
3
|
+
--color-base: #0b0e14;
|
|
4
|
+
--color-frame: #0a0d12;
|
|
5
|
+
--color-bar: #0f1219;
|
|
6
|
+
--color-content: #0b0e14;
|
|
7
|
+
--color-sidebar: #0d1017;
|
|
8
|
+
--color-surface: #131721;
|
|
9
|
+
--color-elevated: #1c2030;
|
|
10
|
+
|
|
11
|
+
--color-border: #1c2030;
|
|
12
|
+
--color-border-subtle: #232838;
|
|
13
|
+
--color-border-hover: #2d3440;
|
|
14
|
+
|
|
15
|
+
--color-hover: rgba(191, 189, 182, 0.04);
|
|
16
|
+
--color-active: #1c2030;
|
|
17
|
+
--color-selected: rgba(230, 180, 80, 0.06);
|
|
18
|
+
--color-focus-ring: rgba(230, 180, 80, 0.4);
|
|
19
|
+
|
|
20
|
+
--text-primary: #bfbdb6;
|
|
21
|
+
--text-secondary: #acb6bf;
|
|
22
|
+
--text-muted: #565b66;
|
|
23
|
+
--text-label: #454950;
|
|
24
|
+
--text-disabled: #2d3440;
|
|
25
|
+
|
|
26
|
+
--color-accent: #e6b450;
|
|
27
|
+
--color-accent-bg: rgba(230, 180, 80, 0.08);
|
|
28
|
+
--color-accent-border: rgba(230, 180, 80, 0.15);
|
|
29
|
+
|
|
30
|
+
--color-success: #7fd962;
|
|
31
|
+
--color-success-bg: rgba(127, 217, 98, 0.08);
|
|
32
|
+
--color-success-border: rgba(127, 217, 98, 0.15);
|
|
33
|
+
|
|
34
|
+
--color-info: #73b8ff;
|
|
35
|
+
--color-info-bg: rgba(115, 184, 255, 0.08);
|
|
36
|
+
--color-info-border: rgba(115, 184, 255, 0.15);
|
|
37
|
+
|
|
38
|
+
--color-warning: #ffb454;
|
|
39
|
+
--color-warning-bg: rgba(255, 180, 84, 0.08);
|
|
40
|
+
--color-warning-border: rgba(255, 180, 84, 0.15);
|
|
41
|
+
|
|
42
|
+
--color-error: #d95757;
|
|
43
|
+
--color-error-bg: rgba(217, 87, 87, 0.08);
|
|
44
|
+
--color-error-border: rgba(217, 87, 87, 0.15);
|
|
45
|
+
|
|
46
|
+
--color-primary: #e6b450;
|
|
47
|
+
--color-primary-hover: #d9a840;
|
|
48
|
+
--color-primary-text: #0b0e14;
|
|
49
|
+
|
|
50
|
+
--color-purple: #d2a6ff;
|
|
51
|
+
--color-purple-bg: rgba(210, 166, 255, 0.1);
|
|
52
|
+
--color-orange: #ffb454;
|
|
53
|
+
--color-orange-bg: rgba(255, 180, 84, 0.1);
|
|
54
|
+
|
|
55
|
+
--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
|
|
56
|
+
--shadow-md: 0 4px 12px rgba(0, 0, 0, 0.5);
|
|
57
|
+
--shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.6);
|
|
58
|
+
--shadow-overlay: 0 16px 48px rgba(0, 0, 0, 0.7);
|
|
59
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/* Theme: Catppuccin Mocha 奶茶色 (F) */
|
|
2
|
+
[data-theme="catppuccin"] {
|
|
3
|
+
--color-base: #1e1e2e;
|
|
4
|
+
--color-frame: #181825;
|
|
5
|
+
--color-bar: #181825;
|
|
6
|
+
--color-content: #1e1e2e;
|
|
7
|
+
--color-sidebar: #181825;
|
|
8
|
+
--color-surface: #313244;
|
|
9
|
+
--color-elevated: #45475a;
|
|
10
|
+
|
|
11
|
+
--color-border: #313244;
|
|
12
|
+
--color-border-subtle: #45475a;
|
|
13
|
+
--color-border-hover: #585b70;
|
|
14
|
+
|
|
15
|
+
--color-hover: rgba(205, 214, 244, 0.04);
|
|
16
|
+
--color-active: #313244;
|
|
17
|
+
--color-selected: rgba(137, 180, 250, 0.08);
|
|
18
|
+
--color-focus-ring: rgba(137, 180, 250, 0.4);
|
|
19
|
+
|
|
20
|
+
--text-primary: #cdd6f4;
|
|
21
|
+
--text-secondary: #bac2de;
|
|
22
|
+
--text-muted: #a6adc8;
|
|
23
|
+
--text-label: #6c7086;
|
|
24
|
+
--text-disabled: #585b70;
|
|
25
|
+
|
|
26
|
+
--color-accent: #89b4fa;
|
|
27
|
+
--color-accent-bg: rgba(137, 180, 250, 0.1);
|
|
28
|
+
--color-accent-border: rgba(137, 180, 250, 0.2);
|
|
29
|
+
|
|
30
|
+
--color-success: #a6e3a1;
|
|
31
|
+
--color-success-bg: rgba(166, 227, 161, 0.08);
|
|
32
|
+
--color-success-border: rgba(166, 227, 161, 0.15);
|
|
33
|
+
|
|
34
|
+
--color-info: #89b4fa;
|
|
35
|
+
--color-info-bg: rgba(137, 180, 250, 0.08);
|
|
36
|
+
--color-info-border: rgba(137, 180, 250, 0.15);
|
|
37
|
+
|
|
38
|
+
--color-warning: #f9e2af;
|
|
39
|
+
--color-warning-bg: rgba(249, 226, 175, 0.08);
|
|
40
|
+
--color-warning-border: rgba(249, 226, 175, 0.15);
|
|
41
|
+
|
|
42
|
+
--color-error: #f38ba8;
|
|
43
|
+
--color-error-bg: rgba(243, 139, 168, 0.08);
|
|
44
|
+
--color-error-border: rgba(243, 139, 168, 0.15);
|
|
45
|
+
|
|
46
|
+
--color-primary: #cba6f7;
|
|
47
|
+
--color-primary-hover: #b491e0;
|
|
48
|
+
--color-primary-text: #1e1e2e;
|
|
49
|
+
|
|
50
|
+
--color-purple: #cba6f7;
|
|
51
|
+
--color-purple-bg: rgba(203, 166, 247, 0.1);
|
|
52
|
+
--color-orange: #fab387;
|
|
53
|
+
--color-orange-bg: rgba(250, 179, 135, 0.1);
|
|
54
|
+
|
|
55
|
+
--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
|
|
56
|
+
--shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
|
|
57
|
+
--shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.5);
|
|
58
|
+
--shadow-overlay: 0 16px 48px rgba(0, 0, 0, 0.6);
|
|
59
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/* Theme: Discord 暖灰 (D) */
|
|
2
|
+
[data-theme="discord"] {
|
|
3
|
+
--color-base: #313338;
|
|
4
|
+
--color-frame: #1e1f22;
|
|
5
|
+
--color-bar: #2b2d31;
|
|
6
|
+
--color-content: #313338;
|
|
7
|
+
--color-sidebar: #2b2d31;
|
|
8
|
+
--color-surface: #383a40;
|
|
9
|
+
--color-elevated: #404249;
|
|
10
|
+
|
|
11
|
+
--color-border: #1e1f22;
|
|
12
|
+
--color-border-subtle: #2b2d31;
|
|
13
|
+
--color-border-hover: #404249;
|
|
14
|
+
|
|
15
|
+
--color-hover: rgba(255, 255, 255, 0.04);
|
|
16
|
+
--color-active: #35373c;
|
|
17
|
+
--color-selected: rgba(255, 255, 255, 0.06);
|
|
18
|
+
--color-focus-ring: rgba(88, 101, 242, 0.4);
|
|
19
|
+
|
|
20
|
+
--text-primary: #f2f3f5;
|
|
21
|
+
--text-secondary: #b5bac1;
|
|
22
|
+
--text-muted: #949ba4;
|
|
23
|
+
--text-label: #80848e;
|
|
24
|
+
--text-disabled: #5c5e66;
|
|
25
|
+
|
|
26
|
+
--color-accent: #5865f2;
|
|
27
|
+
--color-accent-bg: rgba(88, 101, 242, 0.1);
|
|
28
|
+
--color-accent-border: rgba(88, 101, 242, 0.2);
|
|
29
|
+
|
|
30
|
+
--color-success: #57f287;
|
|
31
|
+
--color-success-bg: rgba(87, 242, 135, 0.08);
|
|
32
|
+
--color-success-border: rgba(87, 242, 135, 0.15);
|
|
33
|
+
|
|
34
|
+
--color-info: #5865f2;
|
|
35
|
+
--color-info-bg: rgba(88, 101, 242, 0.08);
|
|
36
|
+
--color-info-border: rgba(88, 101, 242, 0.15);
|
|
37
|
+
|
|
38
|
+
--color-warning: #fee75c;
|
|
39
|
+
--color-warning-bg: rgba(254, 231, 92, 0.08);
|
|
40
|
+
--color-warning-border: rgba(254, 231, 92, 0.15);
|
|
41
|
+
|
|
42
|
+
--color-error: #ed4245;
|
|
43
|
+
--color-error-bg: rgba(237, 66, 69, 0.08);
|
|
44
|
+
--color-error-border: rgba(237, 66, 69, 0.15);
|
|
45
|
+
|
|
46
|
+
--color-primary: #5865f2;
|
|
47
|
+
--color-primary-hover: #4752c4;
|
|
48
|
+
--color-primary-text: #ffffff;
|
|
49
|
+
|
|
50
|
+
--color-purple: #5865f2;
|
|
51
|
+
--color-purple-bg: rgba(88, 101, 242, 0.1);
|
|
52
|
+
--color-orange: #f97316;
|
|
53
|
+
--color-orange-bg: rgba(249, 115, 22, 0.1);
|
|
54
|
+
|
|
55
|
+
--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
|
|
56
|
+
--shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
|
|
57
|
+
--shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.5);
|
|
58
|
+
--shadow-overlay: 0 16px 48px rgba(0, 0, 0, 0.6);
|
|
59
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/* Theme: Dracula 黑紫 (H) */
|
|
2
|
+
[data-theme="dracula"] {
|
|
3
|
+
--color-base: #282a36;
|
|
4
|
+
--color-frame: #191a21;
|
|
5
|
+
--color-bar: #21222c;
|
|
6
|
+
--color-content: #282a36;
|
|
7
|
+
--color-sidebar: #21222c;
|
|
8
|
+
--color-surface: #343746;
|
|
9
|
+
--color-elevated: #44475a;
|
|
10
|
+
|
|
11
|
+
--color-border: #44475a;
|
|
12
|
+
--color-border-subtle: #363949;
|
|
13
|
+
--color-border-hover: #6272a4;
|
|
14
|
+
|
|
15
|
+
--color-hover: rgba(248, 248, 242, 0.04);
|
|
16
|
+
--color-active: #44475a;
|
|
17
|
+
--color-selected: rgba(255, 121, 198, 0.08);
|
|
18
|
+
--color-focus-ring: rgba(189, 147, 249, 0.4);
|
|
19
|
+
|
|
20
|
+
--text-primary: #f8f8f2;
|
|
21
|
+
--text-secondary: #c0c0c0;
|
|
22
|
+
--text-muted: #6272a4;
|
|
23
|
+
--text-label: #565b7e;
|
|
24
|
+
--text-disabled: #44475a;
|
|
25
|
+
|
|
26
|
+
--color-accent: #bd93f9;
|
|
27
|
+
--color-accent-bg: rgba(189, 147, 249, 0.1);
|
|
28
|
+
--color-accent-border: rgba(189, 147, 249, 0.2);
|
|
29
|
+
|
|
30
|
+
--color-success: #50fa7b;
|
|
31
|
+
--color-success-bg: rgba(80, 250, 123, 0.08);
|
|
32
|
+
--color-success-border: rgba(80, 250, 123, 0.15);
|
|
33
|
+
|
|
34
|
+
--color-info: #8be9fd;
|
|
35
|
+
--color-info-bg: rgba(139, 233, 253, 0.08);
|
|
36
|
+
--color-info-border: rgba(139, 233, 253, 0.15);
|
|
37
|
+
|
|
38
|
+
--color-warning: #f1fa8c;
|
|
39
|
+
--color-warning-bg: rgba(241, 250, 140, 0.08);
|
|
40
|
+
--color-warning-border: rgba(241, 250, 140, 0.15);
|
|
41
|
+
|
|
42
|
+
--color-error: #ff5555;
|
|
43
|
+
--color-error-bg: rgba(255, 85, 85, 0.08);
|
|
44
|
+
--color-error-border: rgba(255, 85, 85, 0.15);
|
|
45
|
+
|
|
46
|
+
--color-primary: #ff79c6;
|
|
47
|
+
--color-primary-hover: #ff92d0;
|
|
48
|
+
--color-primary-text: #282a36;
|
|
49
|
+
|
|
50
|
+
--color-purple: #bd93f9;
|
|
51
|
+
--color-purple-bg: rgba(189, 147, 249, 0.1);
|
|
52
|
+
--color-orange: #ffb86c;
|
|
53
|
+
--color-orange-bg: rgba(255, 184, 108, 0.1);
|
|
54
|
+
|
|
55
|
+
--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
|
|
56
|
+
--shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
|
|
57
|
+
--shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.5);
|
|
58
|
+
--shadow-overlay: 0 16px 48px rgba(0, 0, 0, 0.6);
|
|
59
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/* Theme: GitHub Dark 高对比 (E) */
|
|
2
|
+
[data-theme="github-dark"] {
|
|
3
|
+
--color-base: #0d1117;
|
|
4
|
+
--color-frame: #010409;
|
|
5
|
+
--color-bar: #161b22;
|
|
6
|
+
--color-content: #0d1117;
|
|
7
|
+
--color-sidebar: #161b22;
|
|
8
|
+
--color-surface: #161b22;
|
|
9
|
+
--color-elevated: #21262d;
|
|
10
|
+
|
|
11
|
+
--color-border: #21262d;
|
|
12
|
+
--color-border-subtle: #30363d;
|
|
13
|
+
--color-border-hover: #484f58;
|
|
14
|
+
|
|
15
|
+
--color-hover: rgba(255, 255, 255, 0.04);
|
|
16
|
+
--color-active: #21262d;
|
|
17
|
+
--color-selected: rgba(56, 139, 253, 0.1);
|
|
18
|
+
--color-focus-ring: rgba(56, 139, 253, 0.4);
|
|
19
|
+
|
|
20
|
+
--text-primary: #f0f6fc;
|
|
21
|
+
--text-secondary: #c9d1d9;
|
|
22
|
+
--text-muted: #8b949e;
|
|
23
|
+
--text-label: #6e7681;
|
|
24
|
+
--text-disabled: #484f58;
|
|
25
|
+
|
|
26
|
+
--color-accent: #58a6ff;
|
|
27
|
+
--color-accent-bg: rgba(56, 139, 253, 0.1);
|
|
28
|
+
--color-accent-border: rgba(56, 139, 253, 0.2);
|
|
29
|
+
|
|
30
|
+
--color-success: #3fb950;
|
|
31
|
+
--color-success-bg: rgba(63, 185, 80, 0.08);
|
|
32
|
+
--color-success-border: rgba(63, 185, 80, 0.15);
|
|
33
|
+
|
|
34
|
+
--color-info: #58a6ff;
|
|
35
|
+
--color-info-bg: rgba(88, 166, 255, 0.08);
|
|
36
|
+
--color-info-border: rgba(88, 166, 255, 0.15);
|
|
37
|
+
|
|
38
|
+
--color-warning: #d29922;
|
|
39
|
+
--color-warning-bg: rgba(210, 153, 34, 0.08);
|
|
40
|
+
--color-warning-border: rgba(210, 153, 34, 0.15);
|
|
41
|
+
|
|
42
|
+
--color-error: #f85149;
|
|
43
|
+
--color-error-bg: rgba(248, 81, 73, 0.08);
|
|
44
|
+
--color-error-border: rgba(248, 81, 73, 0.15);
|
|
45
|
+
|
|
46
|
+
--color-primary: #238636;
|
|
47
|
+
--color-primary-hover: #2ea043;
|
|
48
|
+
--color-primary-text: #ffffff;
|
|
49
|
+
|
|
50
|
+
--color-purple: #bc8cff;
|
|
51
|
+
--color-purple-bg: rgba(188, 140, 255, 0.1);
|
|
52
|
+
--color-orange: #f0883e;
|
|
53
|
+
--color-orange-bg: rgba(240, 136, 62, 0.1);
|
|
54
|
+
|
|
55
|
+
--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
|
|
56
|
+
--shadow-md: 0 4px 12px rgba(0, 0, 0, 0.5);
|
|
57
|
+
--shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.6);
|
|
58
|
+
--shadow-overlay: 0 16px 48px rgba(0, 0, 0, 0.7);
|
|
59
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/* Theme: Gruvbox 复古暖调 (K) */
|
|
2
|
+
[data-theme="gruvbox"] {
|
|
3
|
+
--color-base: #282828;
|
|
4
|
+
--color-frame: #1d2021;
|
|
5
|
+
--color-bar: #32302f;
|
|
6
|
+
--color-content: #282828;
|
|
7
|
+
--color-sidebar: #282828;
|
|
8
|
+
--color-surface: #3c3836;
|
|
9
|
+
--color-elevated: #504945;
|
|
10
|
+
|
|
11
|
+
--color-border: #3c3836;
|
|
12
|
+
--color-border-subtle: #504945;
|
|
13
|
+
--color-border-hover: #665c54;
|
|
14
|
+
|
|
15
|
+
--color-hover: rgba(235, 219, 178, 0.04);
|
|
16
|
+
--color-active: #504945;
|
|
17
|
+
--color-selected: rgba(254, 128, 25, 0.08);
|
|
18
|
+
--color-focus-ring: rgba(254, 128, 25, 0.4);
|
|
19
|
+
|
|
20
|
+
--text-primary: #fbf1c7;
|
|
21
|
+
--text-secondary: #d5c4a1;
|
|
22
|
+
--text-muted: #928374;
|
|
23
|
+
--text-label: #7c6f64;
|
|
24
|
+
--text-disabled: #504945;
|
|
25
|
+
|
|
26
|
+
--color-accent: #fe8019;
|
|
27
|
+
--color-accent-bg: rgba(254, 128, 25, 0.1);
|
|
28
|
+
--color-accent-border: rgba(254, 128, 25, 0.2);
|
|
29
|
+
|
|
30
|
+
--color-success: #b8bb26;
|
|
31
|
+
--color-success-bg: rgba(184, 187, 38, 0.08);
|
|
32
|
+
--color-success-border: rgba(184, 187, 38, 0.15);
|
|
33
|
+
|
|
34
|
+
--color-info: #83a598;
|
|
35
|
+
--color-info-bg: rgba(131, 165, 152, 0.08);
|
|
36
|
+
--color-info-border: rgba(131, 165, 152, 0.15);
|
|
37
|
+
|
|
38
|
+
--color-warning: #fabd2f;
|
|
39
|
+
--color-warning-bg: rgba(250, 189, 47, 0.08);
|
|
40
|
+
--color-warning-border: rgba(250, 189, 47, 0.15);
|
|
41
|
+
|
|
42
|
+
--color-error: #fb4934;
|
|
43
|
+
--color-error-bg: rgba(251, 73, 52, 0.08);
|
|
44
|
+
--color-error-border: rgba(251, 73, 52, 0.15);
|
|
45
|
+
|
|
46
|
+
--color-primary: #fe8019;
|
|
47
|
+
--color-primary-hover: #e57212;
|
|
48
|
+
--color-primary-text: #282828;
|
|
49
|
+
|
|
50
|
+
--color-purple: #d3869b;
|
|
51
|
+
--color-purple-bg: rgba(211, 134, 155, 0.1);
|
|
52
|
+
--color-orange: #fe8019;
|
|
53
|
+
--color-orange-bg: rgba(254, 128, 25, 0.1);
|
|
54
|
+
|
|
55
|
+
--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
|
|
56
|
+
--shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
|
|
57
|
+
--shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.5);
|
|
58
|
+
--shadow-overlay: 0 16px 48px rgba(0, 0, 0, 0.6);
|
|
59
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/* Theme index — import all theme overrides */
|
|
2
|
+
@import './light.css';
|
|
3
|
+
@import './discord.css';
|
|
4
|
+
@import './github-dark.css';
|
|
5
|
+
@import './catppuccin.css';
|
|
6
|
+
@import './dracula.css';
|
|
7
|
+
@import './nord.css';
|
|
8
|
+
@import './tokyo-night.css';
|
|
9
|
+
@import './gruvbox.css';
|
|
10
|
+
@import './ayu-dark.css';
|
|
11
|
+
@import './one-dark.css';
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/* Theme: Light — 亮色清爽 (G) — Tailwind Slate 色系 */
|
|
2
|
+
[data-theme="light"] {
|
|
3
|
+
--color-base: #f8fafc;
|
|
4
|
+
--color-frame: #ffffff;
|
|
5
|
+
--color-bar: #ffffff;
|
|
6
|
+
--color-content: #ffffff;
|
|
7
|
+
--color-sidebar: #f8fafc;
|
|
8
|
+
--color-surface: #f1f5f9;
|
|
9
|
+
--color-elevated: #ffffff;
|
|
10
|
+
|
|
11
|
+
--color-border: #e2e8f0;
|
|
12
|
+
--color-border-subtle: #e2e8f0;
|
|
13
|
+
--color-border-hover: #cbd5e1;
|
|
14
|
+
|
|
15
|
+
--color-hover: rgba(0, 0, 0, 0.04);
|
|
16
|
+
--color-active: #f1f5f9;
|
|
17
|
+
--color-selected: rgba(59, 130, 246, 0.08);
|
|
18
|
+
--color-focus-ring: rgba(59, 130, 246, 0.4);
|
|
19
|
+
|
|
20
|
+
--text-primary: #0f172a;
|
|
21
|
+
--text-secondary: #334155;
|
|
22
|
+
--text-muted: #64748b;
|
|
23
|
+
--text-label: #94a3b8;
|
|
24
|
+
--text-disabled: #cbd5e1;
|
|
25
|
+
|
|
26
|
+
--color-success: #22c55e;
|
|
27
|
+
--color-success-bg: rgba(34, 197, 94, 0.08);
|
|
28
|
+
--color-success-border: rgba(34, 197, 94, 0.2);
|
|
29
|
+
|
|
30
|
+
--color-info: #3b82f6;
|
|
31
|
+
--color-info-bg: rgba(59, 130, 246, 0.08);
|
|
32
|
+
--color-info-border: rgba(59, 130, 246, 0.2);
|
|
33
|
+
|
|
34
|
+
--color-warning: #eab308;
|
|
35
|
+
--color-warning-bg: rgba(234, 179, 8, 0.08);
|
|
36
|
+
--color-warning-border: rgba(234, 179, 8, 0.2);
|
|
37
|
+
|
|
38
|
+
--color-error: #ef4444;
|
|
39
|
+
--color-error-bg: rgba(239, 68, 68, 0.08);
|
|
40
|
+
--color-error-border: rgba(239, 68, 68, 0.2);
|
|
41
|
+
|
|
42
|
+
--color-accent: #3b82f6;
|
|
43
|
+
--color-accent-bg: rgba(59, 130, 246, 0.08);
|
|
44
|
+
--color-accent-border: rgba(59, 130, 246, 0.15);
|
|
45
|
+
|
|
46
|
+
--color-primary: #3b82f6;
|
|
47
|
+
--color-primary-hover: #2563eb;
|
|
48
|
+
--color-primary-text: #ffffff;
|
|
49
|
+
|
|
50
|
+
--color-purple: #7c3aed;
|
|
51
|
+
--color-purple-bg: rgba(124, 58, 237, 0.08);
|
|
52
|
+
--color-orange: #ea580c;
|
|
53
|
+
--color-orange-bg: rgba(234, 88, 12, 0.08);
|
|
54
|
+
|
|
55
|
+
--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
|
|
56
|
+
--shadow-md: 0 4px 12px rgba(0, 0, 0, 0.07);
|
|
57
|
+
--shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.1);
|
|
58
|
+
--shadow-overlay: 0 16px 48px rgba(0, 0, 0, 0.12);
|
|
59
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/* Theme: Nord 极光蓝 (I) */
|
|
2
|
+
[data-theme="nord"] {
|
|
3
|
+
--color-base: #2e3440;
|
|
4
|
+
--color-frame: #272c36;
|
|
5
|
+
--color-bar: #3b4252;
|
|
6
|
+
--color-content: #2e3440;
|
|
7
|
+
--color-sidebar: #2e3440;
|
|
8
|
+
--color-surface: #3b4252;
|
|
9
|
+
--color-elevated: #434c5e;
|
|
10
|
+
|
|
11
|
+
--color-border: #3b4252;
|
|
12
|
+
--color-border-subtle: #434c5e;
|
|
13
|
+
--color-border-hover: #4c566a;
|
|
14
|
+
|
|
15
|
+
--color-hover: rgba(236, 239, 244, 0.04);
|
|
16
|
+
--color-active: #434c5e;
|
|
17
|
+
--color-selected: rgba(136, 192, 208, 0.08);
|
|
18
|
+
--color-focus-ring: rgba(136, 192, 208, 0.4);
|
|
19
|
+
|
|
20
|
+
--text-primary: #eceff4;
|
|
21
|
+
--text-secondary: #d8dee9;
|
|
22
|
+
--text-muted: #81a1c1;
|
|
23
|
+
--text-label: #616e88;
|
|
24
|
+
--text-disabled: #4c566a;
|
|
25
|
+
|
|
26
|
+
--color-accent: #88c0d0;
|
|
27
|
+
--color-accent-bg: rgba(136, 192, 208, 0.1);
|
|
28
|
+
--color-accent-border: rgba(136, 192, 208, 0.2);
|
|
29
|
+
|
|
30
|
+
--color-success: #a3be8c;
|
|
31
|
+
--color-success-bg: rgba(163, 190, 140, 0.08);
|
|
32
|
+
--color-success-border: rgba(163, 190, 140, 0.15);
|
|
33
|
+
|
|
34
|
+
--color-info: #81a1c1;
|
|
35
|
+
--color-info-bg: rgba(129, 161, 193, 0.08);
|
|
36
|
+
--color-info-border: rgba(129, 161, 193, 0.15);
|
|
37
|
+
|
|
38
|
+
--color-warning: #ebcb8b;
|
|
39
|
+
--color-warning-bg: rgba(235, 203, 139, 0.08);
|
|
40
|
+
--color-warning-border: rgba(235, 203, 139, 0.15);
|
|
41
|
+
|
|
42
|
+
--color-error: #bf616a;
|
|
43
|
+
--color-error-bg: rgba(191, 97, 106, 0.08);
|
|
44
|
+
--color-error-border: rgba(191, 97, 106, 0.15);
|
|
45
|
+
|
|
46
|
+
--color-primary: #88c0d0;
|
|
47
|
+
--color-primary-hover: #7ab3c3;
|
|
48
|
+
--color-primary-text: #2e3440;
|
|
49
|
+
|
|
50
|
+
--color-purple: #b48ead;
|
|
51
|
+
--color-purple-bg: rgba(180, 142, 173, 0.1);
|
|
52
|
+
--color-orange: #d08770;
|
|
53
|
+
--color-orange-bg: rgba(208, 135, 112, 0.1);
|
|
54
|
+
|
|
55
|
+
--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.25);
|
|
56
|
+
--shadow-md: 0 4px 12px rgba(0, 0, 0, 0.35);
|
|
57
|
+
--shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.45);
|
|
58
|
+
--shadow-overlay: 0 16px 48px rgba(0, 0, 0, 0.55);
|
|
59
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/* Theme: One Dark 经典灰蓝 (M) */
|
|
2
|
+
[data-theme="one-dark"] {
|
|
3
|
+
--color-base: #282c34;
|
|
4
|
+
--color-frame: #1b1e24;
|
|
5
|
+
--color-bar: #21252b;
|
|
6
|
+
--color-content: #282c34;
|
|
7
|
+
--color-sidebar: #21252b;
|
|
8
|
+
--color-surface: #2c313a;
|
|
9
|
+
--color-elevated: #3e4451;
|
|
10
|
+
|
|
11
|
+
--color-border: #2c313a;
|
|
12
|
+
--color-border-subtle: #3e4451;
|
|
13
|
+
--color-border-hover: #4b5263;
|
|
14
|
+
|
|
15
|
+
--color-hover: rgba(171, 178, 191, 0.04);
|
|
16
|
+
--color-active: #2c313a;
|
|
17
|
+
--color-selected: rgba(97, 175, 239, 0.08);
|
|
18
|
+
--color-focus-ring: rgba(97, 175, 239, 0.4);
|
|
19
|
+
|
|
20
|
+
--text-primary: #d7dae0;
|
|
21
|
+
--text-secondary: #abb2bf;
|
|
22
|
+
--text-muted: #636d83;
|
|
23
|
+
--text-label: #5c6370;
|
|
24
|
+
--text-disabled: #3e4451;
|
|
25
|
+
|
|
26
|
+
--color-accent: #61afef;
|
|
27
|
+
--color-accent-bg: rgba(97, 175, 239, 0.1);
|
|
28
|
+
--color-accent-border: rgba(97, 175, 239, 0.2);
|
|
29
|
+
|
|
30
|
+
--color-success: #98c379;
|
|
31
|
+
--color-success-bg: rgba(152, 195, 121, 0.08);
|
|
32
|
+
--color-success-border: rgba(152, 195, 121, 0.15);
|
|
33
|
+
|
|
34
|
+
--color-info: #61afef;
|
|
35
|
+
--color-info-bg: rgba(97, 175, 239, 0.08);
|
|
36
|
+
--color-info-border: rgba(97, 175, 239, 0.15);
|
|
37
|
+
|
|
38
|
+
--color-warning: #e5c07b;
|
|
39
|
+
--color-warning-bg: rgba(229, 192, 123, 0.08);
|
|
40
|
+
--color-warning-border: rgba(229, 192, 123, 0.15);
|
|
41
|
+
|
|
42
|
+
--color-error: #e06c75;
|
|
43
|
+
--color-error-bg: rgba(224, 108, 117, 0.08);
|
|
44
|
+
--color-error-border: rgba(224, 108, 117, 0.15);
|
|
45
|
+
|
|
46
|
+
--color-primary: #61afef;
|
|
47
|
+
--color-primary-hover: #528bcc;
|
|
48
|
+
--color-primary-text: #1b1e24;
|
|
49
|
+
|
|
50
|
+
--color-purple: #c678dd;
|
|
51
|
+
--color-purple-bg: rgba(198, 120, 221, 0.1);
|
|
52
|
+
--color-orange: #d19a66;
|
|
53
|
+
--color-orange-bg: rgba(209, 154, 102, 0.1);
|
|
54
|
+
|
|
55
|
+
--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
|
|
56
|
+
--shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
|
|
57
|
+
--shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.5);
|
|
58
|
+
--shadow-overlay: 0 16px 48px rgba(0, 0, 0, 0.6);
|
|
59
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/* Theme: Tokyo Night 东京霓虹 (J) */
|
|
2
|
+
[data-theme="tokyo-night"] {
|
|
3
|
+
--color-base: #1a1b26;
|
|
4
|
+
--color-frame: #16161e;
|
|
5
|
+
--color-bar: #1f2335;
|
|
6
|
+
--color-content: #1a1b26;
|
|
7
|
+
--color-sidebar: #1a1b26;
|
|
8
|
+
--color-surface: #292e42;
|
|
9
|
+
--color-elevated: #33394e;
|
|
10
|
+
|
|
11
|
+
--color-border: #292e42;
|
|
12
|
+
--color-border-subtle: #33394e;
|
|
13
|
+
--color-border-hover: #3b4261;
|
|
14
|
+
|
|
15
|
+
--color-hover: rgba(192, 202, 245, 0.04);
|
|
16
|
+
--color-active: #292e42;
|
|
17
|
+
--color-selected: rgba(122, 162, 247, 0.08);
|
|
18
|
+
--color-focus-ring: rgba(122, 162, 247, 0.4);
|
|
19
|
+
|
|
20
|
+
--text-primary: #c0caf5;
|
|
21
|
+
--text-secondary: #a9b1d6;
|
|
22
|
+
--text-muted: #565f89;
|
|
23
|
+
--text-label: #414868;
|
|
24
|
+
--text-disabled: #3b4261;
|
|
25
|
+
|
|
26
|
+
--color-accent: #7aa2f7;
|
|
27
|
+
--color-accent-bg: rgba(122, 162, 247, 0.1);
|
|
28
|
+
--color-accent-border: rgba(122, 162, 247, 0.2);
|
|
29
|
+
|
|
30
|
+
--color-success: #9ece6a;
|
|
31
|
+
--color-success-bg: rgba(158, 206, 106, 0.08);
|
|
32
|
+
--color-success-border: rgba(158, 206, 106, 0.15);
|
|
33
|
+
|
|
34
|
+
--color-info: #7dcfff;
|
|
35
|
+
--color-info-bg: rgba(125, 207, 255, 0.08);
|
|
36
|
+
--color-info-border: rgba(125, 207, 255, 0.15);
|
|
37
|
+
|
|
38
|
+
--color-warning: #e0af68;
|
|
39
|
+
--color-warning-bg: rgba(224, 175, 104, 0.08);
|
|
40
|
+
--color-warning-border: rgba(224, 175, 104, 0.15);
|
|
41
|
+
|
|
42
|
+
--color-error: #f7768e;
|
|
43
|
+
--color-error-bg: rgba(247, 118, 142, 0.08);
|
|
44
|
+
--color-error-border: rgba(247, 118, 142, 0.15);
|
|
45
|
+
|
|
46
|
+
--color-primary: #7aa2f7;
|
|
47
|
+
--color-primary-hover: #6a92e7;
|
|
48
|
+
--color-primary-text: #1a1b26;
|
|
49
|
+
|
|
50
|
+
--color-purple: #bb9af7;
|
|
51
|
+
--color-purple-bg: rgba(187, 154, 247, 0.1);
|
|
52
|
+
--color-orange: #ff9e64;
|
|
53
|
+
--color-orange-bg: rgba(255, 158, 100, 0.1);
|
|
54
|
+
|
|
55
|
+
--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.35);
|
|
56
|
+
--shadow-md: 0 4px 12px rgba(0, 0, 0, 0.45);
|
|
57
|
+
--shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.55);
|
|
58
|
+
--shadow-overlay: 0 16px 48px rgba(0, 0, 0, 0.65);
|
|
59
|
+
}
|