pi-web-ui 0.91.0 → 0.93.0

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.
Files changed (64) hide show
  1. package/CHANGELOG.md +90 -1
  2. package/README.md +69 -14
  3. package/README.zh-CN.md +36 -10
  4. package/bin/pi-web-ui.mjs +39 -8
  5. package/dist/server/agent-service.js +938 -163
  6. package/dist/server/auth-cookie.js +26 -0
  7. package/dist/server/claim-files-tool.js +115 -0
  8. package/dist/server/claim-store.js +301 -0
  9. package/dist/server/client-state.js +114 -6
  10. package/dist/server/conversation-read-tool.js +371 -28
  11. package/dist/server/conversation-touches.js +357 -0
  12. package/dist/server/delegate-task.js +10 -3
  13. package/dist/server/dsh/dsh-agent-service.js +50 -1
  14. package/dist/server/files-service.js +78 -26
  15. package/dist/server/http-proxy.js +72 -0
  16. package/dist/server/index.js +94 -11
  17. package/dist/server/model-admin.js +124 -2
  18. package/dist/server/model-enrich.js +478 -0
  19. package/dist/server/patch-node-pty.js +11 -0
  20. package/dist/server/plugin-schedule.js +27 -2
  21. package/dist/server/plugins.js +66 -10
  22. package/dist/server/present-files-tool.js +303 -0
  23. package/dist/server/protocol-version.js +1 -1
  24. package/dist/server/read-tool.js +125 -0
  25. package/dist/server/resolve-global-sdk.js +72 -0
  26. package/dist/server/sdk-origin.js +64 -0
  27. package/dist/server/serialize.js +80 -22
  28. package/dist/server/settings-service.js +19 -1
  29. package/dist/server/skill-tool.js +2 -1
  30. package/dist/server/subagents.js +30 -13
  31. package/dist/server/terminals.js +38 -18
  32. package/dist/server/text-sniff.js +15 -0
  33. package/dist/server/themes.js +32 -2
  34. package/dist/server/tool-info.js +89 -0
  35. package/dist/server/tool-manager.js +110 -11
  36. package/package.json +2 -2
  37. package/plugin-sdk/README.md +1 -0
  38. package/plugins/catalog.json +20 -0
  39. package/themes/ayu-light.css +136 -0
  40. package/themes/catppuccin-latte.css +140 -0
  41. package/themes/catppuccin.css +144 -0
  42. package/themes/codex.css +136 -0
  43. package/themes/cyberpunk.css +4 -0
  44. package/themes/dazzle.css +4 -0
  45. package/themes/everforest-light.css +136 -0
  46. package/themes/geist.css +136 -0
  47. package/themes/gruvbox-light.css +136 -0
  48. package/themes/kanagawa-lotus.css +136 -0
  49. package/themes/md-preview.css +4 -0
  50. package/themes/mist.css +4 -0
  51. package/themes/nord.css +134 -0
  52. package/themes/one-dark.css +135 -0
  53. package/themes/paper.css +16 -12
  54. package/themes/rose-pine-dawn.css +136 -0
  55. package/themes/sakura.css +4 -0
  56. package/themes/solarized-light.css +135 -0
  57. package/themes/tokyo-night.css +144 -0
  58. package/themes/white.css +4 -0
  59. package/web/dist/assets/{TerminalPanel-GtDQ1h85.js → TerminalPanel-C1A23aI-.js} +1 -1
  60. package/web/dist/assets/index-B48QWf0I.js +364 -0
  61. package/web/dist/assets/index-DGL5OInG.css +1 -0
  62. package/web/dist/index.html +2 -2
  63. package/web/dist/assets/index-CdsKltOS.css +0 -1
  64. package/web/dist/assets/index-OoULNF70.js +0 -363
@@ -0,0 +1,136 @@
1
+ /* theme-name: 神奈川莲 */
2
+ /* theme-name-en: Kanagawa Lotus */
3
+ /* theme-group: classic */
4
+ :root {
5
+ color-scheme: light;
6
+ --bg: #f2ecbc;
7
+ --bg-elev: #e5ddb0;
8
+ --bg-elev2: #dcd5ac;
9
+ --border: #d5cea3;
10
+ --border-soft: #e5ddb0;
11
+ --text: #545464;
12
+ --text-dim: #65624f;
13
+ --text-faint: #6b685a;
14
+ --accent: #4d699b;
15
+ --accent-soft: rgba(77, 105, 155, 0.14);
16
+ --green: #6f894e;
17
+ --green-soft: rgba(111, 137, 78, 0.12);
18
+ --red: #c84053;
19
+ --red-soft: rgba(200, 64, 83, 0.1);
20
+ --amber: #de9800;
21
+ --blue: #3b82f6;
22
+ --blue-soft: rgba(59, 130, 246, 0.12);
23
+ --term-bg: #f2ecbc;
24
+ --term-fg: #545464;
25
+ --term-cursor: #4d699b;
26
+ --term-cursor-accent: #f2ecbc;
27
+ --term-selection: rgba(77, 105, 155, 0.24);
28
+ --term-black: #545464;
29
+ --term-red: #c84053;
30
+ --term-green: #6f894e;
31
+ --term-yellow: #de9800;
32
+ --term-blue: #4d699b;
33
+ --term-magenta: #b35b79;
34
+ --term-cyan: #597b75;
35
+ --term-white: #e5ddb0;
36
+ --term-bright-black: #716e61;
37
+ --term-bright-red: #c84053;
38
+ --term-bright-green: #6f894e;
39
+ --term-bright-yellow: #de9800;
40
+ --term-bright-blue: #4d699b;
41
+ --term-bright-magenta: #b35b79;
42
+ --term-bright-cyan: #597b75;
43
+ --term-bright-white: #f2ecbc;
44
+ --mono: "SF Mono", "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;
45
+ --mermaid-font-size: 12px;
46
+ --tooltip-bg: #e5ddb0;
47
+ --code-bg: #e5ddb0;
48
+ --code-text: #545464;
49
+ --code-border: var(--border-soft);
50
+ --code-pad: 8px 10px;
51
+ --card-body-pad: 4px 14px 12px;
52
+ --err-text: #c84053;
53
+ --red-text: #c84053;
54
+ --amber-text: #a37000;
55
+ --info-blue: #4d699b;
56
+ --link: #4d699b;
57
+ --link-hover: #3d5680;
58
+ --link-soft: #4d699b;
59
+ --md-strong: #545464;
60
+ --skill-blue: #4d699b;
61
+ --plugin-purple: #b58cff;
62
+ --auth-green: #6f894e;
63
+ --scroll-thumb: #d5cea3;
64
+ --scroll-thumb-hover: #bfb586;
65
+ --notice-err-bg: #401d23;
66
+ --notice-warn-bg: #38251f;
67
+ --notice-info-bg: #1b2544;
68
+ --notice-err-border: #ef4444;
69
+ --notice-warn-border: #f59e0b;
70
+ --notice-info-border: #3b82f6;
71
+ --send-blue: #4d699b;
72
+ --send-blue-hover: #3d5680;
73
+ --stop-red: #ef4444;
74
+ --stop-red-hover: #dc2626;
75
+ --brand-grad-a: #4d699b;
76
+ --brand-grad-b: #624c83;
77
+ --on-amber: #1a1a1a;
78
+ --search-active-fg: #1a1d26;
79
+ --switch-knob: #ffffff;
80
+ --bg-elev3: rgba(255, 255, 255, 0.06);
81
+ --sunken-bg: rgba(0, 0, 0, 0.15);
82
+ --glow-015: rgba(255, 255, 255, 0.015);
83
+ --glow-025: rgba(255, 255, 255, 0.025);
84
+ --glow-03: rgba(255, 255, 255, 0.03);
85
+ --glow-04: rgba(255, 255, 255, 0.04);
86
+ --glow-05: rgba(255, 255, 255, 0.05);
87
+ --glow-12: rgba(255, 255, 255, 0.12);
88
+ --glow-18: rgba(255, 255, 255, 0.18);
89
+ --glow-22: rgba(255, 255, 255, 0.22);
90
+ --glow-38: rgba(255, 255, 255, 0.38);
91
+ --control-fg: #716e61;
92
+ --control-bg: #e5ddb0;
93
+ --control-border: #d5cea3;
94
+ --bg-image: none;
95
+ --bg-image-dim: 0.78;
96
+ --bg-image-blur: 0px;
97
+ --wallpaper-panel-alpha: 100%;
98
+ --topbar-bg: #e5ddb0;
99
+ --statusbar-bg: #f2ecbc;
100
+ --panel-bg: #e5ddb0;
101
+ --card-bg: #e5ddb0;
102
+ --chip-bg: #dcd5ac;
103
+ --msgs-bg: #f2ecbc;
104
+ --inputbox-bg: #dcd5ac;
105
+ --menu-bg: var(--bg-elev2);
106
+ }
107
+
108
+ /* ---- syntax highlighting (Kanagawa Lotus) ---- */
109
+ .hljs {
110
+ color: #545464;
111
+ background: #e5ddb0;
112
+ }
113
+ .hljs-keyword,
114
+ .hljs-meta .hljs-keyword {
115
+ color: #624c83;
116
+ font-weight: 600;
117
+ }
118
+ .hljs-title,
119
+ .hljs-title.function_ {
120
+ color: #4d699b;
121
+ }
122
+ .hljs-number,
123
+ .hljs-literal {
124
+ color: #b35b79;
125
+ }
126
+ .hljs-string {
127
+ color: #6f894e;
128
+ }
129
+ .hljs-built_in,
130
+ .hljs-type {
131
+ color: #a37000;
132
+ }
133
+ .hljs-comment {
134
+ color: #6b685a;
135
+ font-style: italic;
136
+ }
@@ -17,6 +17,8 @@
17
17
  --red: #f87171;
18
18
  --red-soft: rgba(248, 113, 113, 0.12);
19
19
  --amber: #fbbf24;
20
+ --blue: #3b82f6;
21
+ --blue-soft: rgba(59, 130, 246, 0.12);
20
22
  --term-bg: #0b0d12;
21
23
  --term-fg: #e6e8ef;
22
24
  --term-cursor: #8b5cf6;
@@ -67,6 +69,8 @@
67
69
  --notice-info-border: #3b82f6;
68
70
  --send-blue: #3b82f6;
69
71
  --send-blue-hover: #2563eb;
72
+ --stop-red: #ef4444;
73
+ --stop-red-hover: #dc2626;
70
74
  --brand-grad-a: #8b5cf6;
71
75
  --brand-grad-b: #6366f1;
72
76
  --on-amber: #1a1a1a;
package/themes/mist.css CHANGED
@@ -17,6 +17,8 @@
17
17
  --red: #dc2626;
18
18
  --red-soft: rgba(220, 38, 38, 0.1);
19
19
  --amber: #d97706;
20
+ --blue: #3b82f6;
21
+ --blue-soft: rgba(59, 130, 246, 0.12);
20
22
  --term-bg: #f8fafc;
21
23
  --term-fg: #1e293b;
22
24
  --term-cursor: #0284c7;
@@ -67,6 +69,8 @@
67
69
  --notice-info-border: #2563eb;
68
70
  --send-blue: #0284c7;
69
71
  --send-blue-hover: #0369a1;
72
+ --stop-red: #ef4444;
73
+ --stop-red-hover: #dc2626;
70
74
  --brand-grad-a: #38bdf8;
71
75
  --brand-grad-b: #0284c7;
72
76
  --on-amber: #1a1a1a;
@@ -0,0 +1,134 @@
1
+ /* theme-name: 北欧极光 */
2
+ /* theme-name-en: Nord */
3
+ /* theme-group: classic */
4
+ :root {
5
+ color-scheme: dark;
6
+ --bg: #2e3440;
7
+ --bg-elev: #3b4252;
8
+ --bg-elev2: #434c5e;
9
+ --border: #4c566a;
10
+ --border-soft: #3b4252;
11
+ --text: #d8dee9;
12
+ --text-dim: #e5e9f0;
13
+ --text-faint: #818c9f;
14
+ --accent: #88c0d0;
15
+ --accent-soft: rgba(136, 192, 208, 0.14);
16
+ --green: #a3be8c;
17
+ --green-soft: rgba(163, 190, 140, 0.12);
18
+ --red: #bf616a;
19
+ --red-soft: rgba(191, 97, 106, 0.12);
20
+ --amber: #ebcb8b;
21
+ --blue: #3b82f6;
22
+ --blue-soft: rgba(59, 130, 246, 0.12);
23
+ --term-bg: #242933;
24
+ --term-fg: #d8dee9;
25
+ --term-cursor: #88c0d0;
26
+ --term-cursor-accent: #242933;
27
+ --term-selection: rgba(67, 76, 94, 0.5);
28
+ --term-black: #3b4252;
29
+ --term-red: #bf616a;
30
+ --term-green: #a3be8c;
31
+ --term-yellow: #ebcb8b;
32
+ --term-blue: #81a1c1;
33
+ --term-magenta: #b48ead;
34
+ --term-cyan: #88c0d0;
35
+ --term-white: #e5e9f0;
36
+ --term-bright-black: #4c566a;
37
+ --term-bright-red: #bf616a;
38
+ --term-bright-green: #a3be8c;
39
+ --term-bright-yellow: #ebcb8b;
40
+ --term-bright-blue: #81a1c1;
41
+ --term-bright-magenta: #b48ead;
42
+ --term-bright-cyan: #8fbcbb;
43
+ --term-bright-white: #eceff4;
44
+ --mono: "SF Mono", "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;
45
+ --mermaid-font-size: 12px;
46
+ --tooltip-bg: #3b4252;
47
+ --code-bg: #242933;
48
+ --code-text: #d8dee9;
49
+ --code-border: var(--border-soft);
50
+ --code-pad: 8px 10px;
51
+ --card-body-pad: 4px 14px 12px;
52
+ --err-text: #bf616a;
53
+ --red-text: #bf616a;
54
+ --amber-text: #ebcb8b;
55
+ --info-blue: #81a1c1;
56
+ --link: #88c0d0;
57
+ --link-hover: #81a1c1;
58
+ --link-soft: #88c0d0;
59
+ --md-strong: #eceff4;
60
+ --skill-blue: #88c0d0;
61
+ --plugin-purple: #b58cff;
62
+ --auth-green: #a3be8c;
63
+ --scroll-thumb: #434c5e;
64
+ --scroll-thumb-hover: #4c566a;
65
+ --notice-err-bg: #401d23;
66
+ --notice-warn-bg: #38251f;
67
+ --notice-info-bg: #1b2544;
68
+ --notice-err-border: #ef4444;
69
+ --notice-warn-border: #f59e0b;
70
+ --notice-info-border: #3b82f6;
71
+ --send-blue: #88c0d0;
72
+ --send-blue-hover: #81a1c1;
73
+ --stop-red: #ef4444;
74
+ --stop-red-hover: #dc2626;
75
+ --brand-grad-a: #88c0d0;
76
+ --brand-grad-b: #81a1c1;
77
+ --on-amber: #1a1a1a;
78
+ --search-active-fg: #1a1d26;
79
+ --switch-knob: #ffffff;
80
+ --bg-elev3: rgba(255, 255, 255, 0.06);
81
+ --sunken-bg: rgba(0, 0, 0, 0.15);
82
+ --glow-015: rgba(255, 255, 255, 0.015);
83
+ --glow-025: rgba(255, 255, 255, 0.025);
84
+ --glow-03: rgba(255, 255, 255, 0.03);
85
+ --glow-04: rgba(255, 255, 255, 0.04);
86
+ --glow-05: rgba(255, 255, 255, 0.05);
87
+ --glow-12: rgba(255, 255, 255, 0.12);
88
+ --glow-18: rgba(255, 255, 255, 0.18);
89
+ --glow-22: rgba(255, 255, 255, 0.22);
90
+ --glow-38: rgba(255, 255, 255, 0.38);
91
+ --control-fg: #d8dee9;
92
+ --control-bg: #3b4252;
93
+ --control-border: #4c566a;
94
+ --bg-image: none;
95
+ --bg-image-dim: 0.78;
96
+ --bg-image-blur: 0px;
97
+ --wallpaper-panel-alpha: 100%;
98
+ --topbar-bg: #3b4252;
99
+ --statusbar-bg: #242933;
100
+ --panel-bg: #3b4252;
101
+ --card-bg: #3b4252;
102
+ --chip-bg: #434c5e;
103
+ --msgs-bg: #2e3440;
104
+ --inputbox-bg: #434c5e;
105
+ --menu-bg: var(--bg-elev2);
106
+ }
107
+
108
+ /* ---- syntax highlighting (Nord) ---- */
109
+ .hljs {
110
+ color: #d8dee9;
111
+ background: #242933;
112
+ }
113
+ .hljs-keyword,
114
+ .hljs-meta .hljs-keyword {
115
+ color: #81a1c1;
116
+ }
117
+ .hljs-title,
118
+ .hljs-title.function_ {
119
+ color: #88c0d0;
120
+ }
121
+ .hljs-number,
122
+ .hljs-literal {
123
+ color: #b48ead;
124
+ }
125
+ .hljs-string {
126
+ color: #a3be8c;
127
+ }
128
+ .hljs-built_in,
129
+ .hljs-type {
130
+ color: #ebcb8b;
131
+ }
132
+ .hljs-comment {
133
+ color: #616e88;
134
+ }
@@ -0,0 +1,135 @@
1
+ /* theme-name: One Dark */
2
+ /* theme-name-en: One Dark Pro */
3
+ /* theme-group: classic */
4
+ :root {
5
+ color-scheme: dark;
6
+ --bg: #282c34;
7
+ --bg-elev: #21252b;
8
+ --bg-elev2: #2c313a;
9
+ --border: #3e4451;
10
+ --border-soft: #31363f;
11
+ --text: #abb2bf;
12
+ --text-dim: #828997;
13
+ --text-faint: #5c6370;
14
+ --accent: #61afef;
15
+ --accent-soft: rgba(97, 175, 239, 0.14);
16
+ --green: #98c379;
17
+ --green-soft: rgba(152, 195, 121, 0.12);
18
+ --red: #e06c75;
19
+ --red-soft: rgba(224, 108, 117, 0.12);
20
+ --amber: #e5c07b;
21
+ --blue: #3b82f6;
22
+ --blue-soft: rgba(59, 130, 246, 0.12);
23
+ --term-bg: #1e2227;
24
+ --term-fg: #abb2bf;
25
+ --term-cursor: #528bff;
26
+ --term-cursor-accent: #1e2227;
27
+ --term-selection: rgba(62, 68, 81, 0.5);
28
+ --term-black: #282c34;
29
+ --term-red: #e06c75;
30
+ --term-green: #98c379;
31
+ --term-yellow: #e5c07b;
32
+ --term-blue: #61afef;
33
+ --term-magenta: #c678dd;
34
+ --term-cyan: #56b6c2;
35
+ --term-white: #abb2bf;
36
+ --term-bright-black: #5c6370;
37
+ --term-bright-red: #e06c75;
38
+ --term-bright-green: #98c379;
39
+ --term-bright-yellow: #e5c07b;
40
+ --term-bright-blue: #61afef;
41
+ --term-bright-magenta: #c678dd;
42
+ --term-bright-cyan: #56b6c2;
43
+ --term-bright-white: #ffffff;
44
+ --mono: "SF Mono", "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;
45
+ --mermaid-font-size: 12px;
46
+ --tooltip-bg: #21252b;
47
+ --code-bg: #1e2227;
48
+ --code-text: #abb2bf;
49
+ --code-border: var(--border-soft);
50
+ --code-pad: 8px 10px;
51
+ --card-body-pad: 4px 14px 12px;
52
+ --err-text: #e06c75;
53
+ --red-text: #e06c75;
54
+ --amber-text: #e5c07b;
55
+ --info-blue: #56b6c2;
56
+ --link: #61afef;
57
+ --link-hover: #528bff;
58
+ --link-soft: #61afef;
59
+ --md-strong: #ffffff;
60
+ --skill-blue: #61afef;
61
+ --plugin-purple: #b58cff;
62
+ --auth-green: #98c379;
63
+ --scroll-thumb: #3e4451;
64
+ --scroll-thumb-hover: #4b5263;
65
+ --notice-err-bg: #401d23;
66
+ --notice-warn-bg: #38251f;
67
+ --notice-info-bg: #1b2544;
68
+ --notice-err-border: #ef4444;
69
+ --notice-warn-border: #f59e0b;
70
+ --notice-info-border: #3b82f6;
71
+ --send-blue: #61afef;
72
+ --send-blue-hover: #528bff;
73
+ --stop-red: #ef4444;
74
+ --stop-red-hover: #dc2626;
75
+ --brand-grad-a: #61afef;
76
+ --brand-grad-b: #c678dd;
77
+ --on-amber: #1a1a1a;
78
+ --search-active-fg: #1a1d26;
79
+ --switch-knob: #ffffff;
80
+ --bg-elev3: rgba(255, 255, 255, 0.06);
81
+ --sunken-bg: rgba(0, 0, 0, 0.15);
82
+ --glow-015: rgba(255, 255, 255, 0.015);
83
+ --glow-025: rgba(255, 255, 255, 0.025);
84
+ --glow-03: rgba(255, 255, 255, 0.03);
85
+ --glow-04: rgba(255, 255, 255, 0.04);
86
+ --glow-05: rgba(255, 255, 255, 0.05);
87
+ --glow-12: rgba(255, 255, 255, 0.12);
88
+ --glow-18: rgba(255, 255, 255, 0.18);
89
+ --glow-22: rgba(255, 255, 255, 0.22);
90
+ --glow-38: rgba(255, 255, 255, 0.38);
91
+ --control-fg: #828997;
92
+ --control-bg: #21252b;
93
+ --control-border: #3e4451;
94
+ --bg-image: none;
95
+ --bg-image-dim: 0.78;
96
+ --bg-image-blur: 0px;
97
+ --wallpaper-panel-alpha: 100%;
98
+ --topbar-bg: #21252b;
99
+ --statusbar-bg: #1e2227;
100
+ --panel-bg: #21252b;
101
+ --card-bg: #21252b;
102
+ --chip-bg: #2c313a;
103
+ --msgs-bg: #282c34;
104
+ --inputbox-bg: #2c313a;
105
+ --menu-bg: var(--bg-elev2);
106
+ }
107
+
108
+ /* ---- syntax highlighting (One Dark Pro) ---- */
109
+ .hljs {
110
+ color: #abb2bf;
111
+ background: #1e2227;
112
+ }
113
+ .hljs-keyword,
114
+ .hljs-meta .hljs-keyword {
115
+ color: #c678dd;
116
+ }
117
+ .hljs-title,
118
+ .hljs-title.function_ {
119
+ color: #61afef;
120
+ }
121
+ .hljs-number,
122
+ .hljs-literal {
123
+ color: #d19a66;
124
+ }
125
+ .hljs-string {
126
+ color: #98c379;
127
+ }
128
+ .hljs-built_in,
129
+ .hljs-type {
130
+ color: #e5c07b;
131
+ }
132
+ .hljs-comment {
133
+ color: #5c6370;
134
+ font-style: italic;
135
+ }
package/themes/paper.css CHANGED
@@ -6,10 +6,10 @@
6
6
  --bg-elev: #fffdf6;
7
7
  --bg-elev2: #efe7d3;
8
8
  --border: #ddcfae;
9
- --border-soft: #e7dcc2;
9
+ --border-soft: #ded1b3;
10
10
  --text: #3f372c;
11
11
  --text-dim: #6f6250;
12
- --text-faint: #a2937a;
12
+ --text-faint: #6c5a41;
13
13
  --accent: #b45309;
14
14
  --accent-soft: rgba(180, 83, 9, 0.12);
15
15
  --green: #15803d;
@@ -17,6 +17,8 @@
17
17
  --red: #b91c1c;
18
18
  --red-soft: rgba(185, 28, 28, 0.1);
19
19
  --amber: #d97706;
20
+ --blue: #3b82f6;
21
+ --blue-soft: rgba(59, 130, 246, 0.12);
20
22
  --term-bg: #f7f1e3;
21
23
  --term-fg: #3f372c;
22
24
  --term-cursor: #b45309;
@@ -30,7 +32,7 @@
30
32
  --term-magenta: #9333ea;
31
33
  --term-cyan: #0e7490;
32
34
  --term-white: #3f372c;
33
- --term-bright-black: #a2937a;
35
+ --term-bright-black: #6c5a41;
34
36
  --term-bright-red: #b91c1c;
35
37
  --term-bright-green: #15803d;
36
38
  --term-bright-yellow: #a16207;
@@ -67,6 +69,8 @@
67
69
  --notice-info-border: #57534e;
68
70
  --send-blue: #b45309;
69
71
  --send-blue-hover: #92400e;
72
+ --stop-red: #ef4444;
73
+ --stop-red-hover: #dc2626;
70
74
  --brand-grad-a: #d97706;
71
75
  --brand-grad-b: #b45309;
72
76
  --on-amber: #1a1a1a;
@@ -89,14 +93,14 @@
89
93
  --bg-image: none;
90
94
  --bg-image-dim: 0.78;
91
95
  --bg-image-blur: 0px;
92
- --wallpaper-panel-alpha: 62%;
93
- --topbar-bg: color-mix(in srgb, var(--bg-elev) var(--wallpaper-panel-alpha, 62%), transparent);
94
- --statusbar-bg: color-mix(in srgb, var(--bg-elev) var(--wallpaper-panel-alpha, 62%), transparent);
95
- --panel-bg: color-mix(in srgb, var(--bg-elev) var(--wallpaper-panel-alpha, 62%), transparent);
96
- --card-bg: color-mix(in srgb, var(--bg-elev) var(--wallpaper-panel-alpha, 62%), transparent);
97
- --chip-bg: color-mix(in srgb, var(--bg-elev2) var(--wallpaper-panel-alpha, 62%), transparent);
98
- --msgs-bg: color-mix(in srgb, var(--bg-elev) var(--wallpaper-panel-alpha, 62%), transparent);
99
- --inputbox-bg: color-mix(in srgb, var(--bg-elev2) var(--wallpaper-panel-alpha, 62%), transparent);
96
+ --wallpaper-panel-alpha: 100%;
97
+ --topbar-bg: #fffdf6;
98
+ --statusbar-bg: #fffdf6;
99
+ --panel-bg: #fffdf6;
100
+ --card-bg: #fffdf6;
101
+ --chip-bg: #efe7d3;
102
+ --msgs-bg: #fffdf6;
103
+ --inputbox-bg: #efe7d3;
100
104
  --menu-bg: var(--bg-elev2);
101
105
  }
102
106
 
@@ -144,7 +148,7 @@
144
148
  .hljs-comment,
145
149
  .hljs-code,
146
150
  .hljs-formula {
147
- color: #8a7d64;
151
+ color: #5f533e;
148
152
  }
149
153
  .hljs-name,
150
154
  .hljs-quote,
@@ -0,0 +1,136 @@
1
+ /* theme-name: 玫瑰松晨 */
2
+ /* theme-name-en: Rose Pine Dawn */
3
+ /* theme-group: classic */
4
+ :root {
5
+ color-scheme: light;
6
+ --bg: #faf4ed;
7
+ --bg-elev: #fffaf3;
8
+ --bg-elev2: #f2e9e1;
9
+ --border: #e4dcd3;
10
+ --border-soft: #efe7dd;
11
+ --text: #464261;
12
+ --text-dim: #6d687e;
13
+ --text-faint: #726c81;
14
+ --accent: #907aa9;
15
+ --accent-soft: rgba(144, 122, 169, 0.14);
16
+ --green: #56949f;
17
+ --green-soft: rgba(86, 148, 159, 0.12);
18
+ --red: #b4637a;
19
+ --red-soft: rgba(180, 99, 122, 0.12);
20
+ --amber: #ea9d34;
21
+ --blue: #3b82f6;
22
+ --blue-soft: rgba(59, 130, 246, 0.12);
23
+ --term-bg: #faf4ed;
24
+ --term-fg: #464261;
25
+ --term-cursor: #907aa9;
26
+ --term-cursor-accent: #fffaf3;
27
+ --term-selection: rgba(144, 122, 169, 0.25);
28
+ --term-black: #464261;
29
+ --term-red: #b4637a;
30
+ --term-green: #286983;
31
+ --term-yellow: #ea9d34;
32
+ --term-blue: #907aa9;
33
+ --term-magenta: #b4637a;
34
+ --term-cyan: #56949f;
35
+ --term-white: #fffaf3;
36
+ --term-bright-black: #797593;
37
+ --term-bright-red: #b4637a;
38
+ --term-bright-green: #286983;
39
+ --term-bright-yellow: #ea9d34;
40
+ --term-bright-blue: #907aa9;
41
+ --term-bright-magenta: #b4637a;
42
+ --term-bright-cyan: #56949f;
43
+ --term-bright-white: #ffffff;
44
+ --mono: "SF Mono", "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;
45
+ --mermaid-font-size: 12px;
46
+ --tooltip-bg: #fffaf3;
47
+ --code-bg: #f2e9e1;
48
+ --code-text: #464261;
49
+ --code-border: var(--border-soft);
50
+ --code-pad: 8px 10px;
51
+ --card-body-pad: 4px 14px 12px;
52
+ --err-text: #b4637a;
53
+ --red-text: #b4637a;
54
+ --amber-text: #b46a1e;
55
+ --info-blue: #286983;
56
+ --link: #286983;
57
+ --link-hover: #1e5266;
58
+ --link-soft: #286983;
59
+ --md-strong: #464261;
60
+ --skill-blue: #56949f;
61
+ --plugin-purple: #b58cff;
62
+ --auth-green: #56949f;
63
+ --scroll-thumb: #e0d8ce;
64
+ --scroll-thumb-hover: #c9bfb2;
65
+ --notice-err-bg: #401d23;
66
+ --notice-warn-bg: #38251f;
67
+ --notice-info-bg: #1b2544;
68
+ --notice-err-border: #ef4444;
69
+ --notice-warn-border: #f59e0b;
70
+ --notice-info-border: #3b82f6;
71
+ --send-blue: #907aa9;
72
+ --send-blue-hover: #79759c;
73
+ --stop-red: #ef4444;
74
+ --stop-red-hover: #dc2626;
75
+ --brand-grad-a: #907aa9;
76
+ --brand-grad-b: #d7827e;
77
+ --on-amber: #1a1a1a;
78
+ --search-active-fg: #1a1d26;
79
+ --switch-knob: #ffffff;
80
+ --bg-elev3: rgba(255, 255, 255, 0.06);
81
+ --sunken-bg: rgba(0, 0, 0, 0.15);
82
+ --glow-015: rgba(255, 255, 255, 0.015);
83
+ --glow-025: rgba(255, 255, 255, 0.025);
84
+ --glow-03: rgba(255, 255, 255, 0.03);
85
+ --glow-04: rgba(255, 255, 255, 0.04);
86
+ --glow-05: rgba(255, 255, 255, 0.05);
87
+ --glow-12: rgba(255, 255, 255, 0.12);
88
+ --glow-18: rgba(255, 255, 255, 0.18);
89
+ --glow-22: rgba(255, 255, 255, 0.22);
90
+ --glow-38: rgba(255, 255, 255, 0.38);
91
+ --control-fg: #797593;
92
+ --control-bg: #f2e9e1;
93
+ --control-border: #e4dcd3;
94
+ --bg-image: none;
95
+ --bg-image-dim: 0.78;
96
+ --bg-image-blur: 0px;
97
+ --wallpaper-panel-alpha: 100%;
98
+ --topbar-bg: #fffaf3;
99
+ --statusbar-bg: #faf4ed;
100
+ --panel-bg: #fffaf3;
101
+ --card-bg: #fffaf3;
102
+ --chip-bg: #f2e9e1;
103
+ --msgs-bg: #faf4ed;
104
+ --inputbox-bg: #f2e9e1;
105
+ --menu-bg: var(--bg-elev2);
106
+ }
107
+
108
+ /* ---- syntax highlighting (Rosé Pine Dawn) ---- */
109
+ .hljs {
110
+ color: #464261;
111
+ background: #f2e9e1;
112
+ }
113
+ .hljs-keyword,
114
+ .hljs-meta .hljs-keyword {
115
+ color: #907aa9;
116
+ font-weight: 600;
117
+ }
118
+ .hljs-title,
119
+ .hljs-title.function_ {
120
+ color: #286983;
121
+ }
122
+ .hljs-number,
123
+ .hljs-literal {
124
+ color: #b4637a;
125
+ }
126
+ .hljs-string {
127
+ color: #d7827e;
128
+ }
129
+ .hljs-built_in,
130
+ .hljs-type {
131
+ color: #56949f;
132
+ }
133
+ .hljs-comment {
134
+ color: #726c81;
135
+ font-style: italic;
136
+ }
package/themes/sakura.css CHANGED
@@ -17,6 +17,8 @@
17
17
  --red: #e11d48;
18
18
  --red-soft: rgba(225, 29, 72, 0.1);
19
19
  --amber: #d97706;
20
+ --blue: #3b82f6;
21
+ --blue-soft: rgba(59, 130, 246, 0.12);
20
22
  --term-bg: #fffbfc;
21
23
  --term-fg: #4a2b35;
22
24
  --term-cursor: #db2777;
@@ -67,6 +69,8 @@
67
69
  --notice-info-border: #a855f7;
68
70
  --send-blue: #db2777;
69
71
  --send-blue-hover: #be185d;
72
+ --stop-red: #ef4444;
73
+ --stop-red-hover: #dc2626;
70
74
  --brand-grad-a: #f472b6;
71
75
  --brand-grad-b: #db2777;
72
76
  --on-amber: #1a1a1a;