@nextclaw/ui 0.6.4 → 0.6.6
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/CHANGELOG.md +12 -0
- package/dist/assets/{ChannelsList-D_sFrLcv.js → ChannelsList-VqzbAMCc.js} +1 -1
- package/dist/assets/ChatPage-CjZqsBmn.js +34 -0
- package/dist/assets/{DocBrowser-BjlljUNM.js → DocBrowser-DvU-iUeB.js} +1 -1
- package/dist/assets/{MarketplacePage-Dob7bQI5.js → MarketplacePage--wFfsNH0.js} +1 -1
- package/dist/assets/{ModelConfig-BesYoiw5.js → ModelConfig-cY5UsbfA.js} +1 -1
- package/dist/assets/{ProvidersList-NOoQyb_C.js → ProvidersList-qZwaFoFt.js} +1 -1
- package/dist/assets/{RuntimeConfig-CGLGP3_g.js → RuntimeConfig-BY2Axlte.js} +1 -1
- package/dist/assets/{SecretsConfig-DP_InKs3.js → SecretsConfig-B25P3J7V.js} +2 -2
- package/dist/assets/{SessionsConfig-XJbSPDZp.js → SessionsConfig-CxA9gIBw.js} +1 -1
- package/dist/assets/{card-Bg0moANO.js → card-CCSDsedj.js} +1 -1
- package/dist/assets/index-CD8a2KMH.js +2 -0
- package/dist/assets/index-DKOXGZc8.css +1 -0
- package/dist/assets/{label-DZuLJB_b.js → label-BxzAKPzU.js} +1 -1
- package/dist/assets/{logos-BDO7tmL-.js → logos-C3oHQ9kv.js} +1 -1
- package/dist/assets/{page-layout-BL29v3Ct.js → page-layout-DaLNSFKw.js} +1 -1
- package/dist/assets/{switch-DxH8lRYW.js → switch-DHOCEi5L.js} +1 -1
- package/dist/assets/{tabs-custom-BPd_6USz.js → tabs-custom-zdFy3fnK.js} +1 -1
- package/dist/assets/{useConfig-CJjG7ys-.js → useConfig-CDl9UK5m.js} +3 -3
- package/dist/assets/{useConfirmDialog-C-G5k7zK.js → useConfirmDialog-D3ZVa92J.js} +1 -1
- package/dist/assets/{vendor-Ylg6Wdt_.js → vendor-Dj2ULvht.js} +61 -56
- package/dist/index.html +3 -3
- package/package.json +1 -1
- package/src/components/chat/ChatThread.tsx +4 -2
- package/src/index.css +264 -29
- package/src/lib/i18n.ts +2 -0
- package/dist/assets/ChatPage-dDje_-4b.js +0 -32
- package/dist/assets/index-8RAlp6Gn.js +0 -2
- package/dist/assets/index-r3k4oB78.css +0 -1
package/dist/index.html
CHANGED
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
<link rel="icon" type="image/svg+xml" href="/logo.svg" />
|
|
7
7
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
8
8
|
<title>NextClaw - 系统配置</title>
|
|
9
|
-
<script type="module" crossorigin src="/assets/index-
|
|
10
|
-
<link rel="modulepreload" crossorigin href="/assets/vendor-
|
|
11
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
9
|
+
<script type="module" crossorigin src="/assets/index-CD8a2KMH.js"></script>
|
|
10
|
+
<link rel="modulepreload" crossorigin href="/assets/vendor-Dj2ULvht.js">
|
|
11
|
+
<link rel="stylesheet" crossorigin href="/assets/index-DKOXGZc8.css">
|
|
12
12
|
</head>
|
|
13
13
|
|
|
14
14
|
<body>
|
package/package.json
CHANGED
|
@@ -222,8 +222,10 @@ function MarkdownBlock({ text, role }: { text: string; role: ChatRole }) {
|
|
|
222
222
|
}
|
|
223
223
|
return <img {...props} src={safeSrc} alt={alt || ''} loading="lazy" decoding="async" />;
|
|
224
224
|
},
|
|
225
|
-
code: ({
|
|
226
|
-
|
|
225
|
+
code: ({ className, children, ...props }) => {
|
|
226
|
+
const plainText = String(children ?? '');
|
|
227
|
+
const isInlineCode = !className && !plainText.includes('\n');
|
|
228
|
+
if (isInlineCode) {
|
|
227
229
|
return (
|
|
228
230
|
<code {...props} className={cn('chat-inline-code', className)}>
|
|
229
231
|
{children}
|
package/src/index.css
CHANGED
|
@@ -184,70 +184,305 @@
|
|
|
184
184
|
}
|
|
185
185
|
|
|
186
186
|
.chat-markdown {
|
|
187
|
-
|
|
188
|
-
|
|
187
|
+
--md-text: #0f172a;
|
|
188
|
+
--md-muted: #334155;
|
|
189
|
+
--md-border: rgba(148, 163, 184, 0.34);
|
|
190
|
+
--md-link: hsl(var(--primary));
|
|
191
|
+
--md-inline-code-bg: rgba(15, 23, 42, 0.08);
|
|
192
|
+
--md-inline-code-color: #1e293b;
|
|
193
|
+
--md-blockquote-border: rgba(14, 165, 233, 0.45);
|
|
194
|
+
--md-blockquote-bg: rgba(14, 165, 233, 0.08);
|
|
195
|
+
--md-code-surface: #0b1220;
|
|
196
|
+
--md-code-toolbar-bg: rgba(15, 23, 42, 0.56);
|
|
197
|
+
--md-code-toolbar-border: rgba(148, 163, 184, 0.3);
|
|
198
|
+
--md-code-text: #e5e7eb;
|
|
199
|
+
--md-table-head-bg: rgba(148, 163, 184, 0.14);
|
|
200
|
+
|
|
201
|
+
color: var(--md-text);
|
|
202
|
+
font-size: 0.925rem;
|
|
203
|
+
line-height: 1.72;
|
|
189
204
|
word-break: break-word;
|
|
190
205
|
}
|
|
191
206
|
|
|
207
|
+
.chat-markdown-user {
|
|
208
|
+
--md-text: rgba(255, 255, 255, 0.97);
|
|
209
|
+
--md-muted: rgba(219, 234, 254, 0.92);
|
|
210
|
+
--md-border: rgba(191, 219, 254, 0.35);
|
|
211
|
+
--md-link: #dbeafe;
|
|
212
|
+
--md-inline-code-bg: rgba(15, 23, 42, 0.35);
|
|
213
|
+
--md-inline-code-color: #eff6ff;
|
|
214
|
+
--md-blockquote-border: rgba(191, 219, 254, 0.8);
|
|
215
|
+
--md-blockquote-bg: rgba(15, 23, 42, 0.2);
|
|
216
|
+
--md-code-surface: rgba(2, 6, 23, 0.92);
|
|
217
|
+
--md-code-toolbar-bg: rgba(2, 6, 23, 0.88);
|
|
218
|
+
--md-code-toolbar-border: rgba(191, 219, 254, 0.26);
|
|
219
|
+
--md-code-text: #e2e8f0;
|
|
220
|
+
--md-table-head-bg: rgba(191, 219, 254, 0.16);
|
|
221
|
+
}
|
|
222
|
+
|
|
192
223
|
.chat-markdown > * + * {
|
|
193
|
-
margin-top: 0.
|
|
224
|
+
margin-top: 0.72rem;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
.chat-markdown p,
|
|
228
|
+
.chat-markdown li,
|
|
229
|
+
.chat-markdown blockquote {
|
|
230
|
+
color: var(--md-text);
|
|
194
231
|
}
|
|
195
232
|
|
|
196
233
|
.chat-markdown h1,
|
|
197
234
|
.chat-markdown h2,
|
|
198
|
-
.chat-markdown h3
|
|
199
|
-
|
|
235
|
+
.chat-markdown h3,
|
|
236
|
+
.chat-markdown h4,
|
|
237
|
+
.chat-markdown h5,
|
|
238
|
+
.chat-markdown h6 {
|
|
239
|
+
margin: 0.2rem 0 0;
|
|
200
240
|
font-weight: 700;
|
|
241
|
+
line-height: 1.35;
|
|
242
|
+
letter-spacing: -0.01em;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
.chat-markdown h1 {
|
|
246
|
+
font-size: 1.22rem;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
.chat-markdown h2 {
|
|
250
|
+
font-size: 1.12rem;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
.chat-markdown h3 {
|
|
254
|
+
font-size: 1.02rem;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
.chat-markdown h4,
|
|
258
|
+
.chat-markdown h5,
|
|
259
|
+
.chat-markdown h6 {
|
|
260
|
+
font-size: 0.96rem;
|
|
201
261
|
}
|
|
202
262
|
|
|
203
263
|
.chat-markdown ul,
|
|
204
264
|
.chat-markdown ol {
|
|
205
|
-
|
|
265
|
+
margin: 0.35rem 0;
|
|
266
|
+
padding-left: 1.5rem;
|
|
267
|
+
list-style-position: outside;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
.chat-markdown ul {
|
|
271
|
+
list-style-type: disc;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
.chat-markdown ol {
|
|
275
|
+
list-style-type: decimal;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
.chat-markdown ul ul {
|
|
279
|
+
list-style-type: circle;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
.chat-markdown ul ul ul {
|
|
283
|
+
list-style-type: square;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
.chat-markdown ol ol {
|
|
287
|
+
list-style-type: lower-alpha;
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
.chat-markdown ol ol ol {
|
|
291
|
+
list-style-type: lower-roman;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
.chat-markdown li {
|
|
295
|
+
display: list-item;
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
.chat-markdown li::marker {
|
|
299
|
+
color: rgba(51, 65, 85, 0.9);
|
|
300
|
+
font-weight: 600;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
.chat-markdown li + li {
|
|
304
|
+
margin-top: 0.25rem;
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
.chat-markdown li > p {
|
|
308
|
+
margin: 0;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
.chat-markdown ul.contains-task-list,
|
|
312
|
+
.chat-markdown ol.contains-task-list {
|
|
313
|
+
list-style: none;
|
|
314
|
+
padding-left: 0.2rem;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
.chat-markdown li.task-list-item {
|
|
318
|
+
display: flex;
|
|
319
|
+
align-items: flex-start;
|
|
320
|
+
gap: 0.52rem;
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
.chat-markdown-user li::marker {
|
|
324
|
+
color: rgba(219, 234, 254, 0.95);
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
.chat-markdown .chat-task-checkbox {
|
|
328
|
+
position: relative;
|
|
329
|
+
top: 0.2rem;
|
|
330
|
+
width: 0.92rem;
|
|
331
|
+
height: 0.92rem;
|
|
332
|
+
cursor: default;
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
.chat-markdown hr {
|
|
336
|
+
border: 0;
|
|
337
|
+
border-top: 1px solid var(--md-border);
|
|
338
|
+
margin: 0.92rem 0;
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
.chat-markdown a {
|
|
342
|
+
color: var(--md-link);
|
|
343
|
+
text-decoration-line: underline;
|
|
344
|
+
text-decoration-thickness: 1.2px;
|
|
345
|
+
text-underline-offset: 2px;
|
|
346
|
+
word-break: break-all;
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
.chat-markdown .chat-link-invalid {
|
|
350
|
+
color: var(--md-muted);
|
|
351
|
+
text-decoration-line: underline;
|
|
352
|
+
text-decoration-style: dotted;
|
|
206
353
|
}
|
|
207
354
|
|
|
208
355
|
.chat-markdown code {
|
|
209
356
|
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
|
210
|
-
font-size: 0.
|
|
357
|
+
font-size: 0.82rem;
|
|
211
358
|
}
|
|
212
359
|
|
|
360
|
+
.chat-markdown .chat-inline-code,
|
|
213
361
|
.chat-markdown :not(pre) > code {
|
|
214
|
-
padding: 0.1rem 0.
|
|
215
|
-
border-radius: 0.
|
|
216
|
-
background:
|
|
362
|
+
padding: 0.1rem 0.35rem;
|
|
363
|
+
border-radius: 0.4rem;
|
|
364
|
+
background: var(--md-inline-code-bg);
|
|
365
|
+
color: var(--md-inline-code-color);
|
|
366
|
+
border: 1px solid var(--md-border);
|
|
367
|
+
font-weight: 520;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
.chat-codeblock {
|
|
371
|
+
margin: 0.2rem 0 0.1rem;
|
|
372
|
+
border: 1px solid var(--md-code-toolbar-border);
|
|
373
|
+
border-radius: 0.78rem;
|
|
374
|
+
overflow: hidden;
|
|
375
|
+
background: var(--md-code-surface);
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
.chat-codeblock-toolbar {
|
|
379
|
+
display: flex;
|
|
380
|
+
align-items: center;
|
|
381
|
+
justify-content: space-between;
|
|
382
|
+
gap: 0.5rem;
|
|
383
|
+
padding: 0.43rem 0.58rem;
|
|
384
|
+
background: var(--md-code-toolbar-bg);
|
|
385
|
+
border-bottom: 1px solid var(--md-code-toolbar-border);
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
.chat-codeblock-language {
|
|
389
|
+
font-size: 0.68rem;
|
|
390
|
+
font-weight: 700;
|
|
391
|
+
text-transform: uppercase;
|
|
392
|
+
letter-spacing: 0.06em;
|
|
393
|
+
color: var(--md-code-text);
|
|
394
|
+
opacity: 0.8;
|
|
217
395
|
}
|
|
218
396
|
|
|
219
|
-
.chat-
|
|
397
|
+
.chat-codeblock-copy {
|
|
398
|
+
display: inline-flex;
|
|
399
|
+
align-items: center;
|
|
400
|
+
gap: 0.3rem;
|
|
401
|
+
font-size: 0.7rem;
|
|
402
|
+
font-weight: 600;
|
|
403
|
+
color: var(--md-code-text);
|
|
404
|
+
border: 1px solid var(--md-code-toolbar-border);
|
|
405
|
+
border-radius: 0.48rem;
|
|
406
|
+
padding: 0.18rem 0.36rem;
|
|
407
|
+
background: transparent;
|
|
408
|
+
cursor: pointer;
|
|
409
|
+
transition: background-color 0.15s ease, border-color 0.15s ease;
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
.chat-codeblock-copy:hover {
|
|
413
|
+
background: rgba(148, 163, 184, 0.2);
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
.chat-codeblock pre {
|
|
417
|
+
margin: 0;
|
|
418
|
+
padding: 0.75rem 0.82rem 0.8rem;
|
|
419
|
+
overflow-x: auto;
|
|
420
|
+
background: transparent;
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
.chat-codeblock code {
|
|
424
|
+
display: block;
|
|
425
|
+
min-width: max-content;
|
|
426
|
+
white-space: pre;
|
|
427
|
+
line-height: 1.58;
|
|
428
|
+
color: var(--md-code-text);
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
.chat-table-wrap {
|
|
432
|
+
margin: 0.15rem 0;
|
|
433
|
+
border: 1px solid var(--md-border);
|
|
434
|
+
border-radius: 0.72rem;
|
|
220
435
|
overflow-x: auto;
|
|
221
|
-
border-radius: 0.65rem;
|
|
222
|
-
padding: 0.65rem 0.75rem;
|
|
223
|
-
background: rgba(15, 23, 42, 0.9);
|
|
224
|
-
color: #e2e8f0;
|
|
225
436
|
}
|
|
226
437
|
|
|
227
438
|
.chat-markdown table {
|
|
228
439
|
width: 100%;
|
|
229
|
-
|
|
230
|
-
|
|
440
|
+
min-width: 420px;
|
|
441
|
+
border-collapse: separate;
|
|
442
|
+
border-spacing: 0;
|
|
443
|
+
font-size: 0.82rem;
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
.chat-markdown thead {
|
|
447
|
+
background: var(--md-table-head-bg);
|
|
231
448
|
}
|
|
232
449
|
|
|
233
450
|
.chat-markdown th,
|
|
234
451
|
.chat-markdown td {
|
|
235
|
-
|
|
236
|
-
|
|
452
|
+
padding: 0.45rem 0.58rem;
|
|
453
|
+
border-bottom: 1px solid var(--md-border);
|
|
454
|
+
text-align: left;
|
|
455
|
+
vertical-align: top;
|
|
237
456
|
}
|
|
238
457
|
|
|
239
|
-
.chat-markdown
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
color: rgba(30, 41, 59, 0.85);
|
|
458
|
+
.chat-markdown th + th,
|
|
459
|
+
.chat-markdown td + td {
|
|
460
|
+
border-left: 1px solid var(--md-border);
|
|
243
461
|
}
|
|
244
462
|
|
|
245
|
-
.chat-markdown-
|
|
246
|
-
|
|
247
|
-
text-decoration: underline;
|
|
463
|
+
.chat-markdown tbody tr:last-child td {
|
|
464
|
+
border-bottom: none;
|
|
248
465
|
}
|
|
249
466
|
|
|
250
|
-
.chat-markdown
|
|
251
|
-
|
|
252
|
-
|
|
467
|
+
.chat-markdown th {
|
|
468
|
+
font-weight: 650;
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
.chat-markdown strong {
|
|
472
|
+
font-weight: 650;
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
.chat-markdown img {
|
|
476
|
+
max-width: 100%;
|
|
477
|
+
border-radius: 0.75rem;
|
|
478
|
+
border: 1px solid var(--md-border);
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
.chat-markdown blockquote {
|
|
482
|
+
margin: 0.2rem 0;
|
|
483
|
+
border-left: 3px solid var(--md-blockquote-border);
|
|
484
|
+
border-radius: 0 0.55rem 0.55rem 0;
|
|
485
|
+
padding: 0.45rem 0.72rem;
|
|
486
|
+
background: var(--md-blockquote-bg);
|
|
487
|
+
color: var(--md-muted);
|
|
253
488
|
}
|
package/src/lib/i18n.ts
CHANGED
|
@@ -525,6 +525,8 @@ export const LABELS: Record<string, { zh: string; en: string }> = {
|
|
|
525
525
|
chatToolOutput: { zh: '查看输出', en: 'View Output' },
|
|
526
526
|
chatToolNoOutput: { zh: '无输出(执行完成)', en: 'No output (completed)' },
|
|
527
527
|
chatReasoning: { zh: '查看推理内容', en: 'Show reasoning' },
|
|
528
|
+
chatCodeCopy: { zh: '复制代码', en: 'Copy' },
|
|
529
|
+
chatCodeCopied: { zh: '已复制', en: 'Copied' },
|
|
528
530
|
|
|
529
531
|
// Chat Sidebar (unified)
|
|
530
532
|
chatSidebarNewTask: { zh: '新任务', en: 'New Task' },
|