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