codexmate 0.0.20 → 0.0.22

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 (96) hide show
  1. package/README.md +289 -152
  2. package/README.zh.md +321 -0
  3. package/cli/agents-files.js +224 -0
  4. package/cli/archive-helpers.js +446 -0
  5. package/cli/auth-profiles.js +359 -0
  6. package/cli/builtin-proxy.js +1044 -0
  7. package/cli/claude-proxy.js +998 -0
  8. package/cli/config-bootstrap.js +384 -0
  9. package/cli/openai-bridge.js +950 -0
  10. package/cli/openclaw-config.js +629 -0
  11. package/cli/session-usage.concurrent.js +28 -0
  12. package/cli/session-usage.js +112 -0
  13. package/cli/session-usage.models.js +176 -0
  14. package/cli/skills.js +1141 -0
  15. package/cli/zip-commands.js +510 -0
  16. package/cli.js +9408 -9719
  17. package/lib/cli-models-utils.js +109 -1
  18. package/lib/cli-path-utils.js +69 -0
  19. package/lib/cli-sessions.js +386 -0
  20. package/lib/download-artifacts.js +77 -0
  21. package/lib/task-orchestrator.js +869 -0
  22. package/package.json +14 -10
  23. package/res/logo.png +0 -0
  24. package/res/vue.global.prod.js +13 -0
  25. package/web-ui/app.js +193 -15
  26. package/web-ui/index.html +5 -1
  27. package/web-ui/logic.agents-diff.mjs +1 -1
  28. package/web-ui/logic.claude.mjs +60 -0
  29. package/web-ui/logic.runtime.mjs +11 -7
  30. package/web-ui/logic.sessions.mjs +372 -21
  31. package/web-ui/modules/api.mjs +22 -1
  32. package/web-ui/modules/app.computed.dashboard.mjs +23 -10
  33. package/web-ui/modules/app.computed.index.mjs +4 -0
  34. package/web-ui/modules/app.computed.main-tabs.mjs +198 -0
  35. package/web-ui/modules/app.computed.session.mjs +521 -9
  36. package/web-ui/modules/app.methods.agents.mjs +62 -11
  37. package/web-ui/modules/app.methods.codex-config.mjs +189 -34
  38. package/web-ui/modules/app.methods.index.mjs +7 -1
  39. package/web-ui/modules/app.methods.install.mjs +24 -20
  40. package/web-ui/modules/app.methods.navigation.mjs +142 -1
  41. package/web-ui/modules/app.methods.openclaw-core.mjs +339 -39
  42. package/web-ui/modules/app.methods.openclaw-editing.mjs +39 -4
  43. package/web-ui/modules/app.methods.openclaw-persist.mjs +122 -4
  44. package/web-ui/modules/app.methods.providers.mjs +192 -53
  45. package/web-ui/modules/app.methods.session-actions.mjs +99 -19
  46. package/web-ui/modules/app.methods.session-browser.mjs +196 -5
  47. package/web-ui/modules/app.methods.session-timeline.mjs +22 -15
  48. package/web-ui/modules/app.methods.session-trash.mjs +3 -0
  49. package/web-ui/modules/app.methods.startup-claude.mjs +70 -71
  50. package/web-ui/modules/app.methods.task-orchestration.mjs +471 -0
  51. package/web-ui/modules/config-mode.computed.mjs +2 -0
  52. package/web-ui/modules/config-template-confirm-pref.mjs +33 -0
  53. package/web-ui/modules/i18n.mjs +1609 -0
  54. package/web-ui/modules/plugins.computed.mjs +220 -0
  55. package/web-ui/modules/plugins.methods.mjs +620 -0
  56. package/web-ui/modules/plugins.storage.mjs +37 -0
  57. package/web-ui/partials/index/layout-footer.html +1 -57
  58. package/web-ui/partials/index/layout-header.html +299 -175
  59. package/web-ui/partials/index/modal-config-template-agents.html +79 -29
  60. package/web-ui/partials/index/modal-confirm-toast.html +1 -1
  61. package/web-ui/partials/index/modal-health-check.html +14 -14
  62. package/web-ui/partials/index/modal-openclaw-config.html +47 -42
  63. package/web-ui/partials/index/modal-skills.html +130 -114
  64. package/web-ui/partials/index/modals-basic.html +71 -102
  65. package/web-ui/partials/index/panel-config-claude.html +50 -12
  66. package/web-ui/partials/index/panel-config-codex.html +34 -37
  67. package/web-ui/partials/index/panel-config-openclaw.html +10 -16
  68. package/web-ui/partials/index/panel-docs.html +147 -0
  69. package/web-ui/partials/index/panel-market.html +38 -38
  70. package/web-ui/partials/index/panel-orchestration.html +397 -0
  71. package/web-ui/partials/index/panel-plugins.html +243 -0
  72. package/web-ui/partials/index/panel-sessions.html +51 -146
  73. package/web-ui/partials/index/panel-settings.html +188 -96
  74. package/web-ui/partials/index/panel-usage.html +353 -0
  75. package/web-ui/session-helpers.mjs +221 -10
  76. package/web-ui/styles/base-theme.css +120 -229
  77. package/web-ui/styles/controls-forms.css +59 -51
  78. package/web-ui/styles/docs-panel.css +247 -0
  79. package/web-ui/styles/layout-shell.css +394 -128
  80. package/web-ui/styles/modals-core.css +18 -3
  81. package/web-ui/styles/navigation-panels.css +184 -183
  82. package/web-ui/styles/plugins-panel.css +518 -0
  83. package/web-ui/styles/responsive.css +102 -62
  84. package/web-ui/styles/sessions-list.css +13 -27
  85. package/web-ui/styles/sessions-preview.css +13 -7
  86. package/web-ui/styles/sessions-toolbar-trash.css +25 -0
  87. package/web-ui/styles/sessions-usage.css +581 -6
  88. package/web-ui/styles/settings-panel.css +166 -0
  89. package/web-ui/styles/skills-list.css +16 -11
  90. package/web-ui/styles/skills-market.css +63 -2
  91. package/web-ui/styles/task-orchestration.css +776 -0
  92. package/web-ui/styles/titles-cards.css +67 -66
  93. package/web-ui/styles.css +4 -0
  94. package/README.en.md +0 -259
  95. package/res/screenshot.png +0 -0
  96. package/res/vue.global.js +0 -18552
@@ -0,0 +1,166 @@
1
+ /* ============================================
2
+ Settings Panel (refined layout)
3
+ - Keep existing warm-neutral theme
4
+ - Add clearer hierarchy, grid rhythm, and card affordance
5
+ ============================================ */
6
+
7
+ .settings-layout {
8
+ padding: 4px 0 0;
9
+ }
10
+
11
+ .settings-grid {
12
+ display: grid;
13
+ grid-template-columns: repeat(12, minmax(0, 1fr));
14
+ gap: 12px;
15
+ }
16
+
17
+ .settings-card {
18
+ grid-column: span 6;
19
+ border-radius: var(--radius-xl);
20
+ border: 1px solid rgba(216, 201, 184, 0.42);
21
+ background:
22
+ linear-gradient(180deg, rgba(255, 255, 255, 0.94) 0%, rgba(255, 253, 252, 0.88) 100%);
23
+ box-shadow: var(--shadow-card);
24
+ padding: 14px 14px 12px;
25
+ display: flex;
26
+ flex-direction: column;
27
+ gap: 10px;
28
+ min-width: 0;
29
+ position: relative;
30
+ overflow: hidden;
31
+ }
32
+
33
+ .settings-card::before {
34
+ content: '';
35
+ position: absolute;
36
+ inset: 0;
37
+ background:
38
+ radial-gradient(900px 240px at 10% 0%, rgba(199, 116, 98, 0.12) 0%, rgba(199, 116, 98, 0) 55%),
39
+ radial-gradient(700px 240px at 90% 10%, rgba(199, 116, 98, 0.07) 0%, rgba(199, 116, 98, 0) 60%);
40
+ pointer-events: none;
41
+ opacity: 0.7;
42
+ }
43
+
44
+ .settings-card > * {
45
+ position: relative;
46
+ z-index: 1;
47
+ }
48
+
49
+ .settings-card--wide {
50
+ grid-column: 1 / -1;
51
+ }
52
+
53
+ .settings-card--danger {
54
+ border-color: rgba(196, 69, 54, 0.28);
55
+ }
56
+
57
+ .settings-card--danger::before {
58
+ background:
59
+ radial-gradient(980px 260px at 10% 0%, rgba(196, 69, 54, 0.13) 0%, rgba(196, 69, 54, 0) 55%),
60
+ radial-gradient(740px 240px at 90% 10%, rgba(199, 116, 98, 0.08) 0%, rgba(199, 116, 98, 0) 60%);
61
+ }
62
+
63
+ .settings-card-header {
64
+ display: flex;
65
+ flex-direction: column;
66
+ gap: 3px;
67
+ }
68
+
69
+ .settings-card-header-row {
70
+ flex-direction: row;
71
+ justify-content: space-between;
72
+ align-items: flex-start;
73
+ gap: 12px;
74
+ }
75
+
76
+ .settings-card-title {
77
+ font-size: 13px;
78
+ font-weight: 700;
79
+ letter-spacing: -0.01em;
80
+ color: var(--color-text-primary);
81
+ }
82
+
83
+ .settings-card-meta {
84
+ font-size: 11px;
85
+ color: var(--color-text-tertiary);
86
+ line-height: 1.35;
87
+ }
88
+
89
+ .settings-card-body {
90
+ display: flex;
91
+ flex-direction: column;
92
+ gap: 10px;
93
+ min-width: 0;
94
+ }
95
+
96
+ .settings-card-hint {
97
+ font-size: 12px;
98
+ color: var(--color-text-tertiary);
99
+ line-height: 1.45;
100
+ }
101
+
102
+ .settings-card-hint code {
103
+ font-family: var(--font-family-mono);
104
+ font-size: 11px;
105
+ padding: 1px 6px;
106
+ border-radius: 999px;
107
+ border: 1px solid var(--color-border);
108
+ background: rgba(248, 243, 238, 0.7);
109
+ color: var(--color-text-secondary);
110
+ }
111
+
112
+ .settings-field-row {
113
+ display: grid;
114
+ grid-template-columns: 88px minmax(0, 1fr);
115
+ align-items: center;
116
+ gap: 10px;
117
+ }
118
+
119
+ .settings-field-label {
120
+ font-size: 11px;
121
+ color: var(--color-text-muted);
122
+ font-weight: 600;
123
+ letter-spacing: 0.02em;
124
+ }
125
+
126
+ .settings-actions {
127
+ display: flex;
128
+ flex-wrap: wrap;
129
+ gap: 10px;
130
+ align-items: center;
131
+ justify-content: flex-start;
132
+ }
133
+
134
+ .settings-card-actions {
135
+ display: flex;
136
+ flex-wrap: wrap;
137
+ gap: 10px;
138
+ align-items: center;
139
+ justify-content: flex-end;
140
+ margin-top: 2px;
141
+ }
142
+
143
+ .settings-toggle {
144
+ padding: 8px 10px;
145
+ border-radius: 12px;
146
+ border: 1px solid rgba(216, 201, 184, 0.4);
147
+ background: rgba(248, 243, 238, 0.6);
148
+ }
149
+
150
+ /* Re-balance action buttons inside cards */
151
+ .settings-card .btn-tool {
152
+ width: auto;
153
+ max-width: 100%;
154
+ }
155
+
156
+ /* Mobile / narrow */
157
+ @media (max-width: 860px) {
158
+ .settings-card {
159
+ grid-column: 1 / -1;
160
+ }
161
+ .settings-field-row {
162
+ grid-template-columns: 1fr;
163
+ align-items: stretch;
164
+ }
165
+ }
166
+
@@ -14,29 +14,35 @@
14
14
  margin-bottom: var(--spacing-sm);
15
15
  max-height: min(52vh, 440px);
16
16
  overflow-y: auto;
17
- padding-right: 2px;
18
- scrollbar-width: thin;
19
- scrollbar-color: rgba(166, 149, 130, 0.82) transparent;
17
+ padding-right: 0;
18
+ scrollbar-width: none;
19
+ -ms-overflow-style: none;
20
+ }
21
+
22
+ .skills-manager-grid .skill-list {
23
+ max-height: min(60vh, 520px);
24
+ }
25
+
26
+ .skills-manager-grid .skills-import-list {
27
+ max-height: min(34vh, 320px);
20
28
  }
21
29
 
22
30
  .skill-list::-webkit-scrollbar {
23
- width: 6px;
24
- height: 6px;
31
+ width: 0;
32
+ height: 0;
25
33
  }
26
34
 
27
35
  .skill-list::-webkit-scrollbar-track {
28
36
  background: transparent;
29
- border-radius: 999px;
30
37
  }
31
38
 
32
39
  .skill-list::-webkit-scrollbar-thumb {
33
- background: linear-gradient(to bottom, rgba(191, 174, 154, 0.95) 0%, rgba(160, 141, 121, 0.9) 100%);
34
- border-radius: 999px;
35
- border: 1px solid rgba(255, 255, 255, 0.9);
40
+ background: transparent;
41
+ border: 0;
36
42
  }
37
43
 
38
44
  .skill-list::-webkit-scrollbar-thumb:hover {
39
- background: linear-gradient(to bottom, rgba(176, 157, 137, 0.95) 0%, rgba(145, 126, 107, 0.92) 100%);
45
+ background: transparent;
40
46
  }
41
47
 
42
48
  .skill-item {
@@ -295,4 +301,3 @@
295
301
  box-shadow: 0 2px 6px rgba(200, 74, 58, 0.25);
296
302
  border-color: transparent;
297
303
  }
298
-
@@ -61,7 +61,7 @@
61
61
  }
62
62
 
63
63
  .skills-modal {
64
- width: min(96vw, 920px);
64
+ width: min(96vw, 1100px);
65
65
  }
66
66
 
67
67
  .skills-modal-header {
@@ -83,6 +83,54 @@
83
83
  gap: 8px;
84
84
  }
85
85
 
86
+ /* =========================
87
+ Skills manager two-column layout
88
+ ========================= */
89
+
90
+ .skills-manager-grid {
91
+ display: grid;
92
+ grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.85fr);
93
+ gap: var(--spacing-sm);
94
+ align-items: start;
95
+ }
96
+
97
+ .skills-manager-col {
98
+ min-width: 0;
99
+ }
100
+
101
+ .skills-actions-panel {
102
+ margin-bottom: 0;
103
+ }
104
+
105
+ .skills-actions-grid {
106
+ display: grid;
107
+ grid-template-columns: repeat(2, minmax(0, 1fr));
108
+ gap: 10px;
109
+ }
110
+
111
+ .skills-actions-grid .btn {
112
+ margin-top: 0;
113
+ min-height: 44px;
114
+ padding: 12px 14px;
115
+ display: inline-flex;
116
+ align-items: center;
117
+ justify-content: center;
118
+ line-height: 1.1;
119
+ }
120
+
121
+ .skills-actions-grid .skills-close-btn {
122
+ grid-column: 1 / -1;
123
+ }
124
+
125
+ @media (max-width: 980px) {
126
+ .skills-manager-grid {
127
+ grid-template-columns: 1fr;
128
+ }
129
+ .skills-actions-grid {
130
+ grid-template-columns: 1fr;
131
+ }
132
+ }
133
+
86
134
  .skills-root-box {
87
135
  border: 1px solid var(--color-border-soft);
88
136
  border-radius: var(--radius-sm);
@@ -174,6 +222,20 @@
174
222
  flex-wrap: wrap;
175
223
  }
176
224
 
225
+ /* 缩减顶部操作按钮尺寸(刷新概览 / 打开 Skills 管理),并确保两者对齐 */
226
+ .selector-header.market-overview-header .market-header-actions .btn-tool-compact,
227
+ .selector-header.market-overview-header .market-header-actions .btn-tool.btn-tool-compact {
228
+ min-height: 22px !important;
229
+ padding: 2px 7px !important;
230
+ font-size: 10px !important;
231
+ line-height: 1 !important;
232
+ white-space: nowrap;
233
+ width: auto;
234
+ display: inline-flex;
235
+ align-items: center;
236
+ justify-content: center;
237
+ }
238
+
177
239
  .market-target-switch {
178
240
  display: flex;
179
241
  flex-wrap: wrap;
@@ -332,4 +394,3 @@
332
394
  width: 210px;
333
395
  flex: 0 0 auto;
334
396
  }
335
-