openclaw-openagent 1.0.13 → 1.0.14

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 (128) hide show
  1. package/dist/src/messaging/executor.d.ts +2 -3
  2. package/dist/src/messaging/executor.js +4 -31
  3. package/dist/src/plugin-ui/assets/openagent-override.js +4 -5
  4. package/dist/src/runtime/update-checker.d.ts +1 -1
  5. package/dist/src/runtime/update-checker.js +9 -46
  6. package/package.json +1 -3
  7. package/src/app/channel-tools.ts +0 -249
  8. package/src/app/discovery-tools.ts +0 -273
  9. package/src/app/download-file-tool.ts +0 -133
  10. package/src/app/hooks.ts +0 -144
  11. package/src/app/index.ts +0 -84
  12. package/src/app/messaging-tools.ts +0 -79
  13. package/src/app/ops-tools.ts +0 -155
  14. package/src/app/remote-agent-tool.ts +0 -762
  15. package/src/app/types.ts +0 -68
  16. package/src/app/upload-file-tool.ts +0 -411
  17. package/src/app/verbose-preflight.ts +0 -190
  18. package/src/auth/config.ts +0 -266
  19. package/src/auth/credential-manager.ts +0 -146
  20. package/src/auth/index.ts +0 -24
  21. package/src/auth/verify.ts +0 -99
  22. package/src/channel.ts +0 -566
  23. package/src/compat.ts +0 -94
  24. package/src/config/config-schema.ts +0 -45
  25. package/src/messaging/aggregator.ts +0 -120
  26. package/src/messaging/collector.ts +0 -89
  27. package/src/messaging/executor.ts +0 -72
  28. package/src/messaging/inbound.ts +0 -150
  29. package/src/messaging/index.ts +0 -11
  30. package/src/messaging/mention-protocol.ts +0 -94
  31. package/src/messaging/process-c2c-request.ts +0 -564
  32. package/src/messaging/process-message.ts +0 -373
  33. package/src/messaging/scheduler.ts +0 -55
  34. package/src/messaging/types.ts +0 -38
  35. package/src/plugin-ui/adapters/oc-2026-04.js +0 -103
  36. package/src/plugin-ui/adapters/oc-2026-05.js +0 -125
  37. package/src/plugin-ui/adapters/oc-2026-06.js +0 -125
  38. package/src/plugin-ui/adapters/oc-unknown.js +0 -48
  39. package/src/plugin-ui/assets/agentbook-icon.svg +0 -5
  40. package/src/plugin-ui/assets/bg.png +0 -0
  41. package/src/plugin-ui/assets/icon.png +0 -0
  42. package/src/plugin-ui/assets/magic.svg +0 -5
  43. package/src/plugin-ui/assets/openagent-override.js +0 -11263
  44. package/src/plugin-ui/build.cjs +0 -463
  45. package/src/plugin-ui/index.ts +0 -18
  46. package/src/plugin-ui/modules/agent-book/panel/agent-book.js +0 -570
  47. package/src/plugin-ui/modules/agent-book/panel/agent-card.js +0 -170
  48. package/src/plugin-ui/modules/agent-book/panel/agent-data.js +0 -643
  49. package/src/plugin-ui/modules/agent-book/panel/inject-ui.js +0 -665
  50. package/src/plugin-ui/modules/agent-book/panel/mention-state.js +0 -206
  51. package/src/plugin-ui/modules/agent-book/panel/styles.js +0 -832
  52. package/src/plugin-ui/modules/agent-book/panel/theme-adapter.js +0 -86
  53. package/src/plugin-ui/modules/agent-book/remote-agent-tool/components-core.js +0 -295
  54. package/src/plugin-ui/modules/agent-book/remote-agent-tool/thought-chain-card.js +0 -211
  55. package/src/plugin-ui/modules/agent-book/scanner.js +0 -131
  56. package/src/plugin-ui/modules/agent-book/travelcard/travel-cards.js +0 -500
  57. package/src/plugin-ui/modules/agent-book/travelcard/travel-engine.js +0 -652
  58. package/src/plugin-ui/modules/agent-book/travelcard/travel-styles.js +0 -262
  59. package/src/plugin-ui/modules/loader/bootstrap.js +0 -133
  60. package/src/plugin-ui/modules/loader/shared-state.js +0 -838
  61. package/src/plugin-ui/modules/loader/ws-intercept.js +0 -199
  62. package/src/plugin-ui/modules/remote-agent/chunk-parser.js +0 -161
  63. package/src/plugin-ui/modules/remote-agent/execution-card.js +0 -530
  64. package/src/plugin-ui/modules/remote-agent/markdown-renderer.js +0 -256
  65. package/src/plugin-ui/modules/remote-agent/media-links.js +0 -151
  66. package/src/plugin-ui/modules/remote-agent/native-style-adapter.js +0 -134
  67. package/src/plugin-ui/modules/remote-agent/output-card.js +0 -342
  68. package/src/plugin-ui/modules/remote-agent/progress-store.js +0 -363
  69. package/src/plugin-ui/modules/remote-agent/render-hooks.js +0 -1700
  70. package/src/plugin-ui/modules/remote-agent/styles.js +0 -903
  71. package/src/plugin-ui/modules/remote-agent/tool-card-model.js +0 -130
  72. package/src/plugin-ui/postinstall-deploy.cjs +0 -52
  73. package/src/plugin-ui/ui-extension-loader/backup.ts +0 -92
  74. package/src/plugin-ui/ui-extension-loader/index.ts +0 -276
  75. package/src/plugin-ui/ui-extension-loader/locator.ts +0 -152
  76. package/src/plugin-ui/ui-extension-loader/manifest.ts +0 -57
  77. package/src/plugin-ui/ui-extension-loader/registry-regex.ts +0 -944
  78. package/src/plugin-ui/ui-extension-loader/removed-extensions.ts +0 -70
  79. package/src/plugin-ui/ui-extension-loader/types.ts +0 -72
  80. package/src/proxy/auth-proxy.ts +0 -414
  81. package/src/runtime/account.ts +0 -549
  82. package/src/runtime/index.ts +0 -7
  83. package/src/runtime/plugin-runtime.ts +0 -94
  84. package/src/runtime/registry.ts +0 -71
  85. package/src/runtime/update-checker.ts +0 -286
  86. package/src/sdk/CLASS_MAP.md +0 -143
  87. package/src/sdk/index.d.ts +0 -126
  88. package/src/sdk/index.js +0 -23990
  89. package/src/sdk/modules/cloud-search-module.js +0 -1117
  90. package/src/sdk/modules/follow-module.js +0 -1069
  91. package/src/sdk/modules/group-module.js +0 -7397
  92. package/src/sdk/modules/relationship-module.js +0 -2269
  93. package/src/sdk/modules/signaling-module.js +0 -1468
  94. package/src/sdk/modules/tim-upload-plugin.js +0 -730
  95. package/src/sdk/node-env/http-request.js +0 -90
  96. package/src/sdk/node-env/index.js +0 -57
  97. package/src/sdk/node-env/storage.js +0 -114
  98. package/src/sdk/package.json +0 -10
  99. package/src/sdk/tsconfig.json +0 -16
  100. package/src/state/pending-invocation-store.ts +0 -43
  101. package/src/state/store.ts +0 -756
  102. package/src/tim/c2c.ts +0 -451
  103. package/src/tim/channels.ts +0 -364
  104. package/src/tim/client.ts +0 -330
  105. package/src/tim/index.ts +0 -18
  106. package/src/tim/messages.ts +0 -166
  107. package/src/tim/sdk-logger-init.ts +0 -50
  108. package/src/tools.ts +0 -10
  109. package/src/transport/factory.ts +0 -95
  110. package/src/transport/oasn/index.ts +0 -17
  111. package/src/transport/oasn/oasn-agent-card.ts +0 -111
  112. package/src/transport/oasn/oasn-discovery.ts +0 -108
  113. package/src/transport/oasn/oasn-files.ts +0 -210
  114. package/src/transport/oasn/oasn-http.ts +0 -529
  115. package/src/transport/oasn/oasn-invocation.ts +0 -604
  116. package/src/transport/oasn/oasn-normalize.ts +0 -133
  117. package/src/transport/oasn/oasn-register.ts +0 -33
  118. package/src/transport/oasn/oasn-transport.ts +0 -318
  119. package/src/transport/oasn/oasn-types.ts +0 -404
  120. package/src/transport/tim/index.ts +0 -8
  121. package/src/transport/tim/tim-transport.ts +0 -515
  122. package/src/transport/types.ts +0 -538
  123. package/src/types/openclaw-plugin-sdk-media-store.d.ts +0 -9
  124. package/src/types/openclaw.d.ts +0 -97
  125. package/src/types/tencentcloud-chat.d.ts +0 -15
  126. package/src/util/http.ts +0 -113
  127. package/src/util/logger.ts +0 -131
  128. package/src/util/url-resolver.ts +0 -77
@@ -1,832 +0,0 @@
1
- // ── 样式注入 ──
2
-
3
- function injectStyles() {
4
- var oldStyle = document.getElementById('openagent-override-styles');
5
- if (oldStyle) oldStyle.remove();
6
-
7
- const style = document.createElement('style');
8
- style.id = 'openagent-override-styles';
9
- style.setAttribute('data-openagent-style', 'agent-book-panel');
10
- style.setAttribute('data-openagent-host-version', CL.hostVersion || 'unknown');
11
- style.textContent = `
12
- /* ── 流式回复边框闪烁:覆盖为蓝色 ── */
13
- @keyframes chatStreamPulse {
14
- 0%, 100% { border-color: var(--border); }
15
- 50% { border-color: #3b82f6; }
16
- }
17
- .chat-bubble.streaming.cl-remote-agent-bubble {
18
- animation: 1.5s ease-in-out infinite chatStreamPulse !important;
19
- border-color: #3b82f6;
20
- }
21
-
22
- /* ── @ Agent Book 按钮(Figma 129:955 Frame 72552 — 紫色渐变) ── */
23
- .openagent-at-btn {
24
- position: relative;
25
- overflow: hidden;
26
- display: inline-flex;
27
- align-items: center;
28
- justify-content: center;
29
- gap: 4px;
30
- height: 27px;
31
- padding: 0 12px;
32
- border-radius: 150px;
33
- border: none;
34
- background: linear-gradient(90deg, #5c4aff 0%, #8274ff 100%);
35
- color: #fff;
36
- font-size: 12px;
37
- font-weight: 500;
38
- cursor: pointer;
39
- transition: all 0.2s ease;
40
- line-height: 27px;
41
- margin-left: 6px;
42
- white-space: nowrap;
43
- flex-shrink: 0;
44
- letter-spacing: 0.2px;
45
- font-family: "PingFang SC", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
46
- }
47
-
48
- .openagent-at-btn:hover {
49
- transform: translateY(-1px);
50
- box-shadow: inset 0 0 6px 1px rgba(255, 255, 255, 0.65);
51
- }
52
- .openagent-at-btn .at-sym {
53
- font-size: 11.6px;
54
- font-weight: 500;
55
- color: #fff;
56
- }
57
-
58
- /* ── 输入区域包裹层(让面板可以相对定位) ── */
59
- .openagent-input-wrapper {
60
- position: relative;
61
- z-index: 100000;
62
- }
63
-
64
- /* ── Agent 面板(Figma 341-2083) ── */
65
- .openagent-panel-backdrop {
66
- display: none;
67
- position: fixed;
68
- inset: 0;
69
- z-index: 99998;
70
- }
71
- .openagent-panel-backdrop.visible { display: block; }
72
-
73
- .openagent-agent-panel {
74
- position: fixed;
75
- max-height: none;
76
- background: var(--oa-panel-bg, #fff);
77
- border: 0.5px solid #dbdbdb;
78
- border-radius: 16px;
79
- z-index: 99999;
80
- overflow: hidden;
81
- display: none;
82
- flex-direction: column;
83
- gap: 14px;
84
- padding: 14px;
85
- font-family: "PingFang SC", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
86
- box-sizing: border-box;
87
- scrollbar-width: none;
88
- -ms-overflow-style: none;
89
- }
90
- .openagent-agent-panel::-webkit-scrollbar {
91
- width: 0;
92
- height: 0;
93
- display: none;
94
- }
95
- .openagent-agent-panel.visible {
96
- display: flex;
97
- padding: 30px;
98
- animation: openagent-up 0.25s cubic-bezier(0.16, 1, 0.3, 1);
99
- }
100
- @keyframes openagent-up {
101
- from { opacity: 0; transform: translateY(8px); }
102
- to { opacity: 1; transform: translateY(0); }
103
- }
104
-
105
- /* ── 面板头部 ── */
106
- .openagent-panel-head {
107
- display: flex;
108
- justify-content: space-between;
109
- align-items: center;
110
- min-height: 26px;
111
- border-bottom: none;
112
- }
113
- .openagent-panel-title {
114
- display: flex;
115
- align-items: center;
116
- gap: 6px;
117
- font-size: 18px;
118
- font-weight: 500;
119
- color: #333;
120
- text-transform: uppercase;
121
- letter-spacing: 0.3px;
122
- }
123
- .openagent-panel-title-icon {
124
- width: 24px;
125
- height: 24px;
126
- flex-shrink: 0;
127
- }
128
- .openagent-panel-close {
129
- background: transparent;
130
- border: none;
131
- cursor: pointer;
132
- width: 21px;
133
- height: 21px;
134
- display: inline-flex;
135
- align-items: center;
136
- justify-content: center;
137
- font-size: 12px;
138
- font-weight: 400;
139
- padding: 0;
140
- border-radius: 4px;
141
- transition: all 0.1s;
142
- line-height: 1;
143
- }
144
- .openagent-panel-close:hover {
145
- background: #eee;
146
- }
147
-
148
- /* ── 分隔线(Figma: 0.2px, opacity 0.16) ── */
149
- .openagent-panel-divider {
150
- height: 0;
151
- border: none;
152
- border-top: 0.2px solid #EAEAEA;
153
- margin: 0;
154
- }
155
-
156
- /* ── 提示栏(Figma 141:3293,页面加载即显示) ── */
157
- .openagent-hint-bar {
158
- display: flex;
159
- align-items: center;
160
- justify-content: space-between;
161
- padding: 12px 12px;
162
- margin-bottom: 12px;
163
- background: #fff;
164
- border: 1.2px solid rgba(47, 47, 51, 0.1);
165
- border-radius: var(--radius-lg, 18px);
166
- gap: 12px;
167
- width: 100%;
168
- box-sizing: border-box;
169
- margin:0 auto;
170
- margin-bottom: 12px;
171
- }
172
- .openagent-hint-bar__content {
173
- display: flex;
174
- align-items: center;
175
- gap: 9px;
176
- flex: 1;
177
- min-width: 0;
178
- }
179
- .openagent-hint-bar__icon {
180
- display: flex;
181
- align-items: center;
182
- justify-content: center;
183
- width: 27px;
184
- height: 27px;
185
- border-radius: 6px;
186
- background: linear-gradient(135deg, rgba(130,116,255,0.1) 0%, rgba(56,144,255,0.1) 100%);
187
- flex-shrink: 0;
188
- }
189
- .openagent-hint-bar__text {
190
- font-family: "PingFang SC", sans-serif;
191
- font-size: 15px;
192
- font-weight: 400;
193
- color: rgba(51, 51, 51, 0.8);
194
- white-space: nowrap;
195
- overflow: hidden;
196
- text-overflow: ellipsis;
197
- }
198
- .openagent-hint-bar__close {
199
- display: flex;
200
- align-items: center;
201
- justify-content: center;
202
- width: 21px;
203
- height: 21px;
204
- padding: 0;
205
- border: none;
206
- background: transparent;
207
- cursor: pointer;
208
- flex-shrink: 0;
209
- border-radius: 4px;
210
- transition: all 0.1s;
211
- }
212
- .openagent-hint-bar__close:hover {
213
- background: #eee;
214
- }
215
-
216
- /* 暗色主题 */
217
- [data-theme-mode="dark"] .openagent-hint-bar,
218
- [data-theme="dark"] .openagent-hint-bar {
219
- background: #1c1c1c;
220
- border-color: rgba(255,255,255,0.1);
221
- }
222
- [data-theme-mode="dark"] .openagent-hint-bar__text,
223
- [data-theme="dark"] .openagent-hint-bar__text {
224
- color: rgba(224, 224, 224, 0.8);
225
- }
226
- [data-theme-mode="dark"] .openagent-hint-bar__close,
227
- [data-theme="dark"] .openagent-hint-bar__close {
228
- }
229
- [data-theme-mode="dark"] .openagent-hint-bar__close:hover,
230
- [data-theme="dark"] .openagent-hint-bar__close:hover {
231
- background: #333;
232
- }
233
-
234
- /* ── 空状态独立浮层(Figma 144:3444) ── */
235
- .openagent-empty-toast {
236
- display: flex;
237
- align-items: center;
238
- gap: 9px;
239
- padding: 18px;
240
- background: #fff;
241
- border: 1.2px solid rgba(47, 47, 51, 0.1);
242
- border-radius: 18px;
243
- box-sizing: border-box;
244
- animation: openagent-up 0.25s cubic-bezier(0.16, 1, 0.3, 1);
245
- box-shadow: 0 -4px 24px rgba(0,0,0,0.08), 0 2px 8px rgba(0,0,0,0.04);
246
- }
247
- [data-theme-mode="dark"] .openagent-empty-toast,
248
- [data-theme="dark"] .openagent-empty-toast {
249
- background: #1c1c1c; border-color: rgba(255,255,255,0.1);
250
- box-shadow: 0 -4px 24px rgba(0,0,0,0.3);
251
- }
252
- [data-theme-mode="dark"] .openagent-empty-toast .openagent-empty-state__text,
253
- [data-theme="dark"] .openagent-empty-toast .openagent-empty-state__text {
254
- color: rgba(224, 224, 224, 0.8);
255
- }
256
- [data-theme-mode="dark"] .openagent-empty-toast .openagent-empty-state__close,
257
- [data-theme="dark"] .openagent-empty-toast .openagent-empty-state__close {
258
- }
259
-
260
- /* ── 空状态(Figma 144:3444)— 无匹配结果 ── */
261
- .openagent-empty-state {
262
- padding: 18px;
263
- background: #fff;
264
- border: 1.2px solid rgba(47, 47, 51, 0.1);
265
- border-radius: 18px;
266
- }
267
- .openagent-empty-state__row {
268
- display: flex;
269
- align-items: flex-start;
270
- justify-content: space-between;
271
- gap: 9px;
272
- }
273
- .openagent-empty-state__icon {
274
- display: flex;
275
- align-items: center;
276
- justify-content: center;
277
- width: 27px;
278
- height: 27px;
279
- border-radius: 6px;
280
- background: linear-gradient(135deg, rgba(92,74,255,0.1) 0%, rgba(130,116,255,0.1) 100%);
281
- flex-shrink: 0;
282
- }
283
- .openagent-empty-state__text {
284
- flex: 1;
285
- font-family: "PingFang SC", sans-serif;
286
- font-size: 15px;
287
- font-weight: 400;
288
- color: rgba(51, 51, 51, 0.8);
289
- line-height: 1.5;
290
- }
291
- .openagent-empty-state__close {
292
- display: flex;
293
- align-items: center;
294
- justify-content: center;
295
- width: 21px;
296
- height: 21px;
297
- padding: 0;
298
- border: none;
299
- background: transparent;
300
- cursor: pointer;
301
- flex-shrink: 0;
302
- border-radius: 4px;
303
- }
304
- .openagent-empty-state__close:hover {
305
- background: #eee;
306
- }
307
- [data-theme-mode="dark"] .openagent-empty-state,
308
- [data-theme="dark"] .openagent-empty-state {
309
- background: #1c1c1c;
310
- border-color: rgba(255,255,255,0.1);
311
- }
312
- [data-theme-mode="dark"] .openagent-empty-state__text,
313
- [data-theme="dark"] .openagent-empty-state__text {
314
- color: rgba(224, 224, 224, 0.8);
315
- }
316
- [data-theme-mode="dark"] .openagent-empty-state__close,
317
- [data-theme="dark"] .openagent-empty-state__close {
318
- }
319
- [data-theme-mode="dark"] .openagent-empty-state__close:hover,
320
- [data-theme="dark"] .openagent-empty-state__close:hover {
321
- background: #333;
322
- }
323
-
324
- /* ── Agent 列表(section stack) ── */
325
- .openagent-agent-list {
326
- overflow-y: auto;
327
- padding: 8px 0;
328
- flex: 1;
329
- display: flex;
330
- flex-direction: column;
331
- min-height: 0;
332
- max-height: min(56vh, 451px);
333
- scrollbar-width: none;
334
- -ms-overflow-style: none;
335
- }
336
- .openagent-agent-list::-webkit-scrollbar {
337
- width: 0;
338
- height: 0;
339
- display: none;
340
- }
341
-
342
- .openagent-agent-section {
343
- display: flex;
344
- flex-direction: column;
345
- width: 100%;
346
- min-width: 0;
347
- margin-bottom: 30px;
348
- }
349
-
350
- /* ── 父分类标题(两级结构:Research > Market Research) ── */
351
- .openagent-parent-section {
352
- display: flex;
353
- flex-direction: column;
354
- gap: 10px;
355
- width: 100%;
356
- min-width: 0;
357
- }
358
- /* ── 分组标题 ── */
359
- .openagent-section-heading {
360
- font-size: 16px;
361
- font-weight: 400;
362
- line-height: 16px;
363
- color: rgba(47, 47, 51, 0.80);
364
- letter-spacing: 0;
365
- margin-bottom: 20px;
366
- }
367
-
368
- /* ── 分组网格容器 ── */
369
- .openagent-section-grid {
370
- display: grid;
371
- grid-template-columns: repeat(3, 1fr);
372
- justify-content: start;
373
- gap: 12px;
374
- width: 100%;
375
- box-sizing: border-box;
376
- }
377
-
378
- /* ── 有搜索词时:保留旧搜索结果列表形态,不走默认分类网格 ── */
379
- .openagent-search-results {
380
- display: flex;
381
- flex-direction: column;
382
- gap: 8px;
383
- padding: 0 12px;
384
- width: 100%;
385
- box-sizing: border-box;
386
- }
387
-
388
- /* ── 统一 Agent 卡片组件 ── */
389
- .agent-card {
390
- display: flex;
391
- align-items: flex-start;
392
- transition: background 0.15s;
393
- }
394
-
395
- /* 头像(共享) */
396
- .agent-card__avatar {
397
- flex-shrink: 0;
398
- object-fit: cover;
399
- background: #e8e8e8;
400
- }
401
-
402
- /* 内容区(共享) */
403
- .agent-card__body { flex: 1; min-width: 0; }
404
- .agent-card__name-line { display: flex; align-items: baseline; gap: 8px; }
405
- .agent-card__name {
406
- display: block;
407
- min-width: 0;
408
- max-width: 100%;
409
- font-family: "PingFang SC", sans-serif;
410
- font-weight: 600;
411
- color: rgba(47, 47, 51, 1);
412
- white-space: nowrap;
413
- overflow: hidden;
414
- text-overflow: ellipsis;
415
- }
416
- .agent-card__tag { font-size: 12px; color: #6366f1; font-weight: 500; }
417
- .agent-card__specialty { font-size: 12px; color: #999; font-weight: 400; }
418
- .agent-card__bio {
419
- font-family: "PingFang SC", sans-serif;
420
- font-size: 11px;
421
- font-weight: 400;
422
- color: rgba(47, 47, 51, 1);
423
- line-height: 14.52px;
424
- overflow: hidden;
425
- text-overflow: ellipsis;
426
- display: -webkit-box;
427
- -webkit-line-clamp: 2;
428
- -webkit-box-orient: vertical;
429
- }
430
-
431
- /* 统计行(共享) */
432
- .agent-card__stats {
433
- display: flex;
434
- align-items: center;
435
- gap: 0;
436
- flex-wrap: wrap;
437
- }
438
- /* 星标+数字 紧密组合(Figma gap 1.5px) */
439
- .agent-card__stat-group {
440
- display: flex;
441
- align-items: center;
442
- gap: 1.5px;
443
- }
444
- .agent-card__stat-icon {
445
- display: inline-flex;
446
- align-items: center;
447
- justify-content: center;
448
- width: 12px;
449
- height: 12px;
450
- font-size: 14px;
451
- line-height: 1;
452
- color: #666;
453
- flex-shrink: 0;
454
- }
455
- .agent-card__stat {
456
- font-family: "PingFang SC", sans-serif;
457
- font-size: 13.5px;
458
- font-weight: 400;
459
- white-space: nowrap;
460
- letter-spacing: 1px;
461
- }
462
- .agent-card__stat--claws {
463
- color: rgba(240, 152, 0, 1);
464
- }
465
- .agent-card__stat--owner {
466
- color: rgba(47, 47, 51, 1);
467
- line-height: 13.5px;
468
- }
469
-
470
- /* 按钮(共享) */
471
- .agent-card__action {
472
- flex-shrink: 0;
473
- border: none;
474
- cursor: pointer;
475
- font-weight: 500;
476
- transition: all 0.12s;
477
- white-space: nowrap;
478
- }
479
-
480
- /* ── mode: mention(Figma Agent 卡片 142:3392) ── */
481
- .agent-card--mention {
482
- flex-direction: row;
483
- align-items: center;
484
- gap: 10px;
485
- padding: 15px;
486
- border-radius: 20px;
487
- border: 0.5px solid #dbdbdb;
488
- background: #fff;
489
- min-width: 0;
490
- box-sizing: border-box;
491
- }
492
- .agent-card--mention:hover {
493
- border-color: transparent;
494
- box-shadow: 0 4px 12px 0 rgba(149, 147, 240, 0.10);
495
- }
496
- .openagent-agent-list .agent-card--mention:hover,
497
- .openagent-agent-list .agent-card--search:hover {
498
- position: relative;
499
- border-color: transparent;
500
- }
501
- .openagent-agent-list .agent-card--mention:hover::after,
502
- .openagent-agent-list .agent-card--search:hover::after {
503
- content: "";
504
- position: absolute;
505
- inset: 0;
506
- border-radius: inherit;
507
- padding: 1px;
508
- background: linear-gradient(90deg, rgba(92, 74, 255, 0.5), rgba(130, 116, 255, 0.5));
509
- pointer-events: none;
510
- box-sizing: border-box;
511
- -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
512
- -webkit-mask-composite: xor;
513
- mask-composite: exclude;
514
- }
515
- /* avart 外壳简化 — 不再需要 */
516
- .agent-card--mention .agent-card__avart {
517
- display: contents;
518
- padding: 0;
519
- flex: none;
520
- min-width: 0;
521
- }
522
-
523
- /* 第一行: 内容区 + 按钮 */
524
- .agent-card--mention .agent-card__row1 {
525
- display: contents;
526
- gap: 0;
527
- width: auto;
528
- min-width: 0;
529
- }
530
-
531
- /* 内容组: 头像 + 信息列 */
532
- .agent-card--mention .agent-card__content-group {
533
- display: flex;
534
- flex-direction: row;
535
- align-items: center;
536
- gap: 10px;
537
- flex: 1;
538
- min-width: 0;
539
- }
540
-
541
- /* 头像: 50×50 */
542
- .agent-card--mention .agent-card__avatar {
543
- width: 50px;
544
- height: 50px;
545
- border-radius: 50%;
546
- border: none;
547
- flex-shrink: 0;
548
- margin-top: 0;
549
- }
550
-
551
- /* 信息列 */
552
- .agent-card--mention .agent-card__info {
553
- display: flex;
554
- flex-direction: column;
555
- gap: 6px;
556
- padding: 0;
557
- flex: 1;
558
- min-width: 0;
559
- }
560
-
561
- .agent-card--mention .agent-card__name {
562
- font-size: 15px;
563
- font-weight: 600;
564
- line-height: 1;
565
- color: #333;
566
- width:200px;
567
- }
568
- .agent-card--mention .agent-card__bio {
569
- font-size: 14px;
570
- font-weight: 400;
571
- line-height: 1.5;
572
- color: rgba(47, 47, 51, 0.80);
573
- overflow: hidden;
574
- text-overflow: ellipsis;
575
- display: -webkit-box;
576
- -webkit-line-clamp: 2;
577
- -webkit-box-orient: vertical;
578
- margin-top: 0;
579
- }
580
-
581
- /* @召唤 按钮 */
582
- .agent-card--mention .agent-card__action {
583
- height: 36px;
584
- padding: 0 18px;
585
- border-radius: 23px;
586
- background: transparent;
587
- border: 0.5px solid #dbdbdb;
588
- color: #333;
589
- font-family: "PingFang SC", sans-serif;
590
- font-size: 16px;
591
- font-weight: 500;
592
- line-height: 15.43px;
593
- text-transform: capitalize;
594
- flex-shrink: 0;
595
- display: inline-flex;
596
- align-items: center;
597
- justify-content: center;
598
- width: auto;
599
- }
600
- .agent-card--mention .agent-card__action::before { content: none; }
601
- .agent-card--mention .agent-card__action:hover {
602
- background: rgba(0, 0, 0, 0.04);
603
- }
604
-
605
- /* 统计行 */
606
- .agent-card--mention .agent-card__stats {
607
- display: flex;
608
- align-items: center;
609
- gap: 0;
610
- margin-top: 0;
611
- }
612
- .agent-card--mention .agent-card__stat--claws {
613
- color: #666;
614
- font-size: 14px;
615
- line-height: 1;
616
- letter-spacing: 1.5px;
617
- }
618
- .agent-card--mention .agent-card__stat--owner {
619
- color: #666;
620
- font-size: 14px;
621
- line-height: 1;
622
- letter-spacing: 1.5px;
623
- }
624
-
625
- /* row2 (legacy compat) */
626
- .agent-card--mention .agent-card__row2 {
627
- display: none;
628
- }
629
-
630
- /* ── mode: search(有输入搜索结果,沿用旧式单列行) ── */
631
- .agent-card--search {
632
- align-items: center;
633
- gap: 14px;
634
- width: 100%;
635
- min-height: 64px;
636
- padding: 10px 12px;
637
- border-radius: 20px;
638
- background: transparent;
639
- border: 0.5px solid transparent;
640
- box-sizing: border-box;
641
- }
642
- .agent-card--search .agent-card__avatar {
643
- width: 40px;
644
- height: 40px;
645
- border-radius: 50%;
646
- border: 0.4px solid rgba(47, 47, 51, 0.18);
647
- }
648
- .agent-card--search .agent-card__body {
649
- display: flex;
650
- flex-direction: column;
651
- gap: 3px;
652
- min-width: 0;
653
- }
654
- .agent-card--search .agent-card__name {
655
- font-size: 15px;
656
- line-height: 16px;
657
- font-weight: 600;
658
- color: #333;
659
- }
660
- .agent-card--search .agent-card__bio {
661
- font-size: 14px;
662
- line-height: 1.5;
663
- color: rgba(47, 47, 51, 0.80);
664
- -webkit-line-clamp: 1;
665
- }
666
- .agent-card--search .agent-card__stats {
667
- margin-top: 0;
668
- }
669
- .agent-card--search .agent-card__stat--claws {
670
- font-size: 14px;
671
- line-height: 1;
672
- color: #666;
673
- letter-spacing: 1.5px;
674
- }
675
- .agent-card--search .agent-card__stat--owner {
676
- font-size: 14px;
677
- line-height: 1;
678
- color: #666;
679
- letter-spacing: 1.5px;
680
- }
681
- .agent-card--search .agent-card__action {
682
- height: 36px;
683
- padding: 0 18px;
684
- border-radius: 23px;
685
- background: transparent;
686
- border: 0.5px solid #dbdbdb;
687
- color: #333;
688
- font-family: "PingFang SC", sans-serif;
689
- font-size: 16px;
690
- font-weight: 500;
691
- line-height: 15.43px;
692
- display: inline-flex;
693
- align-items: center;
694
- justify-content: center;
695
- }
696
- .agent-card--search .agent-card__action::before { content: none; }
697
- .agent-card--search .agent-card__action:hover {
698
- background: rgba(0, 0, 0, 0.04);
699
- }
700
-
701
- @media (max-width: 980px) {
702
- .openagent-section-grid { grid-template-columns: repeat(2, minmax(0, 439.5px)); }
703
- }
704
-
705
- @media (max-width: 640px) {
706
- .openagent-section-grid { grid-template-columns: 1fr; }
707
- .openagent-agent-panel { padding: 14px; gap: 14px; }
708
- .agent-card--mention .agent-card__row1 { gap: 12px; }
709
- .agent-card--mention .agent-card__content-group { gap: 12px; }
710
- }
711
-
712
- /* ── mode: inline(聊天内嵌卡片) ── */
713
- .agent-card--inline {
714
- padding: 16px 20px; border-radius: 16px;
715
- background: linear-gradient(135deg, #f8f9ff 0%, #f0f4ff 100%);
716
- border: 1px solid #e0e7ff;
717
- margin: 8px 0; cursor: pointer; max-width: 420px;
718
- }
719
- .agent-card--inline:hover {
720
- border-color: #6366f1;
721
- box-shadow: 0 4px 16px rgba(99, 102, 241, 0.15);
722
- transform: translateY(-1px);
723
- }
724
- .agent-card--inline .agent-card__avatar {
725
- width: 56px; height: 56px; border-radius: 14px;
726
- border: 2px solid #e0e7ff;
727
- }
728
- .agent-card--inline .agent-card__name { font-size: 16px; color: #1e1b4b; }
729
- .agent-card--inline .agent-card__bio { color: #64748b; line-height: 1.4; }
730
- .agent-card--inline .agent-card__stats { gap: 12px; margin-top: 8px; }
731
- .agent-card--inline .agent-card__stat { color: #94a3b8; font-weight: 500; }
732
- .agent-card--inline .agent-card__action {
733
- padding: 8px 16px; border-radius: 10px;
734
- background: linear-gradient(135deg, #6366f1, #8b5cf6);
735
- color: #fff; font-size: 12px;
736
- }
737
- .agent-card--inline .agent-card__action:hover {
738
- filter: brightness(1.1); transform: scale(1.03);
739
- }
740
-
741
- /* Agent card loading skeleton */
742
- .agent-card__loading {
743
- display: flex; align-items: center; gap: 10px;
744
- padding: 14px 18px; border-radius: 14px;
745
- background: #f8f9ff; border: 1px solid #e0e7ff;
746
- color: #94a3b8; font-size: 13px;
747
- margin: 8px 0; max-width: 300px;
748
- }
749
-
750
- /* 加载态 */
751
- .openagent-loading {
752
- padding: 32px; text-align: center; color: #aaa; font-size: 13px;
753
- }
754
-
755
- /* ── 深色主题(v4: data-theme-mode / v5: data-theme) ── */
756
- [data-theme-mode="dark"] .openagent-agent-panel,
757
- [data-theme="dark"] .openagent-agent-panel {
758
- background: #1c1c1c; border-color: rgba(255,255,255,0.12);
759
- }
760
- [data-theme-mode="dark"] .openagent-panel-head,
761
- [data-theme="dark"] .openagent-panel-head { border-color: #2a2a2a; }
762
- [data-theme-mode="dark"] .openagent-panel-title,
763
- [data-theme="dark"] .openagent-panel-title { color: rgba(224, 224, 224, 0.8); }
764
- [data-theme-mode="dark"] .openagent-panel-close,
765
- [data-theme="dark"] .openagent-panel-close { background: #2a2a2a; }
766
- [data-theme-mode="dark"] .openagent-panel-close:hover,
767
- [data-theme="dark"] .openagent-panel-close:hover { background: #333; }
768
- [data-theme-mode="dark"] .openagent-section-heading,
769
- [data-theme="dark"] .openagent-section-heading { color: rgba(224, 224, 224, 0.45); }
770
- [data-theme-mode="dark"] .openagent-panel-divider,
771
- [data-theme="dark"] .openagent-panel-divider { border-color: rgba(255,255,255,0.1); }
772
-
773
- [data-theme-mode="dark"] .agent-card__name,
774
- [data-theme="dark"] .agent-card__name { color: #e0e0e0; }
775
- [data-theme-mode="dark"] .agent-card__bio,
776
- [data-theme="dark"] .agent-card__bio { color: rgba(224, 224, 224, 0.7); }
777
- [data-theme-mode="dark"] .agent-card__stat,
778
- [data-theme="dark"] .agent-card__stat { color: #64748b; }
779
-
780
- [data-theme-mode="dark"] .agent-card--mention,
781
- [data-theme="dark"] .agent-card--mention { background: #1c1c1c; border-color: rgba(255,255,255,0.12); }
782
- [data-theme-mode="dark"] .agent-card--mention:hover,
783
- [data-theme="dark"] .agent-card--mention:hover { border-color: transparent; }
784
- [data-theme-mode="dark"] .agent-card--mention .agent-card__name,
785
- [data-theme="dark"] .agent-card--mention .agent-card__name { color: #e0e0e0; }
786
- [data-theme-mode="dark"] .agent-card--mention .agent-card__bio,
787
- [data-theme="dark"] .agent-card--mention .agent-card__bio { color: rgba(224,224,224,0.7); }
788
- [data-theme-mode="dark"] .agent-card--mention .agent-card__stat--claws,
789
- [data-theme="dark"] .agent-card--mention .agent-card__stat--claws { color: #aaa; }
790
- [data-theme-mode="dark"] .agent-card--mention .agent-card__stat--owner,
791
- [data-theme="dark"] .agent-card--mention .agent-card__stat--owner { color: #aaa; }
792
- [data-theme-mode="dark"] .agent-card--mention .agent-card__action,
793
- [data-theme="dark"] .agent-card--mention .agent-card__action {
794
- background: transparent; border-color: rgba(255,255,255,0.2); color: #ddd;
795
- }
796
- [data-theme-mode="dark"] .agent-card--mention .agent-card__action:hover,
797
- [data-theme="dark"] .agent-card--mention .agent-card__action:hover { background: rgba(255,255,255,0.06); }
798
- [data-theme-mode="dark"] .agent-card--search .agent-card__name,
799
- [data-theme="dark"] .agent-card--search .agent-card__name { color: #e0e0e0; }
800
- [data-theme-mode="dark"] .agent-card--search .agent-card__bio,
801
- [data-theme="dark"] .agent-card--search .agent-card__bio { color: rgba(224, 224, 224, 0.65); }
802
- [data-theme-mode="dark"] .agent-card--search .agent-card__stat--claws,
803
- [data-theme="dark"] .agent-card--search .agent-card__stat--claws { color: #aaa; }
804
- [data-theme-mode="dark"] .agent-card--search .agent-card__stat--owner,
805
- [data-theme="dark"] .agent-card--search .agent-card__stat--owner { color: #aaa; }
806
- [data-theme-mode="dark"] .agent-card--search .agent-card__action,
807
- [data-theme="dark"] .agent-card--search .agent-card__action {
808
- background: transparent; border-color: rgba(255,255,255,0.2); color: #ddd;
809
- }
810
- [data-theme-mode="dark"] .agent-card--search .agent-card__action:hover,
811
- [data-theme="dark"] .agent-card--search .agent-card__action:hover { background: rgba(255,255,255,0.06); }
812
-
813
-
814
- [data-theme-mode="dark"] .agent-card--inline,
815
- [data-theme="dark"] .agent-card--inline {
816
- background: linear-gradient(135deg, #1e1b3a 0%, #1a1a2e 100%);
817
- border-color: #2d2b55;
818
- }
819
- [data-theme-mode="dark"] .agent-card--inline:hover {
820
- border-color: #6366f1;
821
- box-shadow: 0 4px 16px rgba(99, 102, 241, 0.25);
822
- }
823
- [data-theme-mode="dark"] .agent-card--inline .agent-card__name { color: #e2e8f0; }
824
- [data-theme-mode="dark"] .agent-card--inline .agent-card__avatar { border-color: #2d2b55; }
825
- [data-theme-mode="dark"] .agent-card__loading,
826
- [data-theme="dark"] .agent-card__loading {
827
- background: #1e1b3a; border-color: #2d2b55; color: #64748b;
828
- }
829
-
830
- `;
831
- document.head.appendChild(style);
832
- }