@auto-ai/agent 2.1.172 → 2.1.174

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 (31) hide show
  1. package/dist/safe-a/404/index.html +1 -1
  2. package/dist/safe-a/404.html +1 -1
  3. package/dist/safe-a/index.html +2 -2
  4. package/dist/safe-a/index.txt +1 -1
  5. package/dist/safe-a/manage/about/index.html +2 -2
  6. package/dist/safe-a/manage/about/index.txt +1 -1
  7. package/dist/safe-a/manage/env/index.html +2 -2
  8. package/dist/safe-a/manage/env/index.txt +1 -1
  9. package/dist/safe-a/manage/general/index.html +2 -2
  10. package/dist/safe-a/manage/general/index.txt +1 -1
  11. package/dist/safe-a/manage/index.html +2 -2
  12. package/dist/safe-a/manage/index.txt +1 -1
  13. package/dist/safe-a/manage/mcp/index.html +2 -2
  14. package/dist/safe-a/manage/mcp/index.txt +1 -1
  15. package/dist/safe-a/manage/permissions/index.html +2 -2
  16. package/dist/safe-a/manage/permissions/index.txt +1 -1
  17. package/dist/safe-a/manage/skills/index.html +2 -2
  18. package/dist/safe-a/manage/skills/index.txt +1 -1
  19. package/dist/safe-a/manage/task/index.html +2 -2
  20. package/dist/safe-a/manage/task/index.txt +1 -1
  21. package/dist/safe-a/manage/teams/index.html +2 -2
  22. package/dist/safe-a/manage/teams/index.txt +1 -1
  23. package/dist/safe-a/manage/tools/index.html +2 -2
  24. package/dist/safe-a/manage/tools/index.txt +1 -1
  25. package/dist/ws-test/ws-test.css +259 -68
  26. package/dist/ws-test/ws-test.html +90 -137
  27. package/dist/ws-test/ws-test.js +555 -519
  28. package/package.json +6 -6
  29. /package/dist/safe-a/_next/static/{-ohtVxolUnzQcSsncJVgK → dqDFW64gE_H1NTMvUHYb-}/_buildManifest.js +0 -0
  30. /package/dist/safe-a/_next/static/{-ohtVxolUnzQcSsncJVgK → dqDFW64gE_H1NTMvUHYb-}/_clientMiddlewareManifest.json +0 -0
  31. /package/dist/safe-a/_next/static/{-ohtVxolUnzQcSsncJVgK → dqDFW64gE_H1NTMvUHYb-}/_ssgManifest.js +0 -0
@@ -1086,92 +1086,284 @@
1086
1086
  cursor: pointer;
1087
1087
  text-align: left;
1088
1088
  }
1089
- #agentEnvModalCard .agent-env-tab-panels {
1089
+ /* 设置主视图(布局对齐文件管理页) */
1090
+ .agent-settings-view {
1090
1091
  flex: 1;
1091
1092
  min-height: 0;
1092
1093
  display: flex;
1093
1094
  flex-direction: column;
1094
1095
  overflow: hidden;
1096
+ padding: 0;
1095
1097
  }
1096
- /* 设置弹窗复用「工具弹窗」tabbed 头部体系,仅补充隐藏设置标题 */
1097
- #agentEnvModalCard.agent-picker--tabbed #agentEnvModalTitle {
1098
- display: none;
1098
+ .agent-settings-view[hidden] {
1099
+ display: none !important;
1099
1100
  }
1100
- #agentEnvModalCard .agent-env-panel.tool-files-body {
1101
- max-height: none;
1101
+ .agent-settings-layout {
1102
1102
  flex: 1;
1103
1103
  min-height: 0;
1104
+ display: flex;
1105
+ gap: 0;
1106
+ overflow: hidden;
1104
1107
  }
1105
- /* 覆盖下面 .agent-env-panel--md 的 display:flex,否则 [hidden] 无法隐藏 Tab 内未选中的分栏 */
1106
- #agentEnvModalCard .agent-env-panel[hidden] {
1107
- display: none !important;
1108
+ .agent-settings-nav {
1109
+ flex-shrink: 0;
1110
+ width: 220px;
1111
+ display: flex;
1112
+ flex-direction: column;
1113
+ border: none;
1114
+ border-radius: 0;
1115
+ border-right: 1px solid var(--ds-border);
1116
+ overflow: hidden;
1117
+ background: var(--ds-bg);
1118
+ }
1119
+ .agent-settings-nav-title {
1120
+ flex-shrink: 0;
1121
+ padding: 10px 12px;
1122
+ font-size: 12px;
1123
+ font-weight: 600;
1124
+ color: var(--ds-muted);
1125
+ border-bottom: 1px solid var(--ds-border);
1126
+ text-transform: uppercase;
1127
+ letter-spacing: 0.04em;
1108
1128
  }
1109
- #agentEnvModalCard .agent-env-panel.agent-env-panel--md {
1129
+ .agent-settings-nav-list {
1130
+ flex: 1;
1131
+ min-height: 0;
1132
+ overflow-y: auto;
1133
+ padding: 6px 0;
1110
1134
  display: flex;
1111
1135
  flex-direction: column;
1112
- gap: 0.4rem;
1113
1136
  }
1114
- #agentEnvModalCard .agent-env-panel--md .agent-md-editor {
1115
- min-height: min(42vh, 360px);
1137
+ .agent-settings-nav-item {
1138
+ display: flex;
1139
+ align-items: center;
1140
+ width: 100%;
1141
+ padding: 8px 12px;
1142
+ border: none;
1143
+ background: transparent;
1144
+ color: inherit;
1145
+ font: inherit;
1146
+ font-size: 13px;
1147
+ text-align: left;
1148
+ cursor: pointer;
1149
+ user-select: none;
1116
1150
  }
1117
- .agent-env-team-block {
1118
- margin-top: 0.35rem;
1119
- padding-top: 0.65rem;
1120
- border-top: 1px solid var(--ds-border, #e5e5ea);
1151
+ .agent-settings-nav-item:hover {
1152
+ background: var(--ds-item-hover);
1121
1153
  }
1122
- .agent-env-team-block > label {
1123
- font-size: 0.78rem;
1124
- color: var(--ds-text-soft);
1125
- display: block;
1126
- margin-bottom: 0.35rem;
1154
+ .agent-settings-nav-item.is-selected {
1155
+ background: rgba(10, 132, 255, 0.1);
1156
+ color: var(--ds-accent);
1157
+ font-weight: 600;
1127
1158
  }
1128
- .agent-env-team-empty {
1129
- margin: 0 0 0.45rem;
1130
- font-size: 0.78rem;
1131
- color: var(--ds-text-soft);
1159
+ .agent-settings-content {
1160
+ flex: 1;
1161
+ min-width: 0;
1162
+ min-height: 0;
1163
+ display: flex;
1164
+ flex-direction: column;
1165
+ overflow: hidden;
1166
+ background: var(--ds-bg);
1132
1167
  }
1133
- .agent-env-team-chips {
1168
+ .agent-settings-panels {
1169
+ flex: 1;
1170
+ min-height: 0;
1134
1171
  display: flex;
1135
- flex-wrap: wrap;
1136
- gap: 6px;
1137
- margin-bottom: 0.55rem;
1138
- min-height: 24px;
1172
+ flex-direction: column;
1173
+ overflow: hidden;
1174
+ }
1175
+ .agent-settings-head {
1176
+ flex-shrink: 0;
1177
+ display: flex;
1178
+ align-items: center;
1179
+ justify-content: flex-end;
1180
+ gap: 8px;
1181
+ padding: 10px 14px;
1182
+ border-bottom: 1px solid var(--ds-border);
1183
+ background: var(--ds-bg);
1139
1184
  }
1140
- .agent-env-team-chip {
1185
+ .agent-settings-actions {
1141
1186
  display: inline-flex;
1142
1187
  align-items: center;
1143
- gap: 4px;
1144
- padding: 0.15rem 0.4rem 0.15rem 0.5rem;
1145
- border-radius: 999px;
1146
- background: rgba(10, 132, 255, 0.12);
1147
- border: 1px solid rgba(10, 132, 255, 0.28);
1148
- font-size: 0.76rem;
1188
+ gap: 8px;
1149
1189
  }
1150
- .agent-env-team-chip button {
1190
+ .agent-settings-scroll {
1191
+ flex: 1;
1192
+ min-height: 0;
1193
+ overflow-y: auto;
1194
+ padding: 0;
1195
+ background: var(--ds-bg);
1196
+ }
1197
+ .agent-settings-scroll[hidden] {
1198
+ display: none !important;
1199
+ }
1200
+ .agent-settings-md-panel {
1201
+ display: flex;
1202
+ flex-direction: column;
1203
+ gap: 0.5rem;
1204
+ padding: 14px 20px;
1205
+ }
1206
+ .agent-settings-md-editor {
1207
+ flex: 1;
1208
+ min-height: min(60vh, 520px);
1209
+ border: 1px solid var(--ds-separator);
1210
+ border-radius: 10px;
1211
+ background: #ffffff;
1212
+ }
1213
+ .btn-agent-settings-cancel {
1214
+ padding: 6px 14px;
1215
+ border: 1px solid var(--ds-border);
1216
+ border-radius: 8px;
1217
+ background: var(--ds-bg);
1218
+ color: inherit;
1219
+ font: inherit;
1220
+ font-size: 13px;
1221
+ cursor: pointer;
1222
+ }
1223
+ .btn-agent-settings-cancel:hover {
1224
+ background: var(--ds-item-hover);
1225
+ }
1226
+ .settings-unified-panel {
1227
+ display: flex;
1228
+ flex-direction: column;
1229
+ gap: 0;
1230
+ }
1231
+ .settings-section {
1232
+ padding: 14px 20px;
1151
1233
  border: none;
1234
+ border-radius: 0;
1235
+ border-bottom: 1px solid var(--ds-border, #e5e5ea);
1236
+ background: var(--ds-bg);
1237
+ }
1238
+ .settings-section:last-child {
1239
+ border-bottom: none;
1240
+ }
1241
+ .settings-section-title {
1242
+ margin: 0 0 0.65rem;
1243
+ font-size: 0.82rem;
1244
+ font-weight: 600;
1245
+ color: var(--ds-text);
1246
+ }
1247
+ .settings-fields {
1248
+ display: grid;
1249
+ gap: 0.55rem;
1250
+ }
1251
+ .settings-field {
1252
+ display: grid;
1253
+ gap: 0.3rem;
1254
+ }
1255
+ .settings-field-label {
1256
+ font-size: 0.78rem;
1257
+ color: var(--ds-text-soft);
1258
+ line-height: 1.35;
1259
+ }
1260
+ .settings-textarea {
1261
+ min-height: 110px;
1262
+ }
1263
+ .settings-textarea--compact {
1264
+ min-height: 80px;
1265
+ }
1266
+ .settings-env-list {
1267
+ display: flex;
1268
+ flex-direction: column;
1269
+ gap: 0;
1270
+ }
1271
+ .settings-env-list .agent-env-fixed-section {
1272
+ margin-bottom: 0;
1273
+ padding-left: 0;
1274
+ padding-right: 0;
1275
+ border: none;
1276
+ border-radius: 0;
1277
+ border-bottom: 1px solid var(--ds-border, #e5e5ea);
1152
1278
  background: transparent;
1279
+ }
1280
+ .settings-env-list .agent-env-fixed-section:last-child {
1281
+ border-bottom: none;
1282
+ }
1283
+ .agent-md-panel-hint {
1284
+ margin: 0;
1285
+ font-size: 0.75rem;
1153
1286
  color: var(--ds-text-soft);
1154
- cursor: pointer;
1155
- font-size: 1rem;
1156
- line-height: 1;
1157
- padding: 0 2px;
1158
1287
  }
1159
- .agent-env-team-chip button:hover {
1160
- color: var(--ds-danger, #ff3b30);
1288
+ .llm-providers-block {
1289
+ display: grid;
1290
+ gap: 0.75rem;
1161
1291
  }
1162
- .agent-env-team-add {
1292
+ .llm-providers-empty {
1293
+ margin: 0;
1294
+ font-size: 0.74rem;
1295
+ color: var(--ds-text-soft);
1296
+ line-height: 1.45;
1297
+ }
1298
+ .llm-provider-form {
1299
+ display: grid;
1300
+ gap: 0.55rem;
1301
+ padding-bottom: 0.75rem;
1302
+ border-bottom: 1px solid var(--ds-border, #e5e5ea);
1303
+ }
1304
+ .llm-provider-form-grid {
1305
+ display: grid;
1306
+ grid-template-columns: repeat(2, minmax(0, 1fr));
1307
+ gap: 0.55rem;
1308
+ }
1309
+ .llm-provider-form-field--full {
1310
+ grid-column: 1 / -1;
1311
+ }
1312
+ .llm-provider-form-actions {
1313
+ display: flex;
1314
+ justify-content: flex-end;
1315
+ }
1316
+ .llm-provider-list {
1317
+ list-style: none;
1318
+ margin: 0;
1319
+ padding: 0;
1320
+ display: flex;
1321
+ flex-direction: column;
1322
+ }
1323
+ .llm-provider-list-item {
1163
1324
  display: flex;
1164
- gap: 8px;
1165
1325
  align-items: center;
1326
+ justify-content: space-between;
1327
+ gap: 0.75rem;
1328
+ padding: 0.55rem 0;
1329
+ border-bottom: 1px solid var(--ds-border, #e5e5ea);
1330
+ font-size: 0.84rem;
1166
1331
  }
1167
- .agent-env-team-add select {
1168
- flex: 1;
1332
+ .llm-provider-list-item:last-child {
1333
+ border-bottom: none;
1334
+ }
1335
+ .llm-provider-list-name {
1336
+ display: inline-flex;
1337
+ align-items: center;
1338
+ gap: 0.45rem;
1169
1339
  min-width: 0;
1170
- border: 1px solid var(--ds-border, #e5e5ea);
1171
- border-radius: 8px;
1172
- padding: 0.4rem 0.5rem;
1173
- font: inherit;
1174
- font-size: 0.82rem;
1340
+ color: var(--ds-text);
1341
+ }
1342
+ .llm-provider-list-default {
1343
+ flex-shrink: 0;
1344
+ font-size: 0.7rem;
1345
+ color: var(--ds-accent);
1346
+ background: rgba(10, 132, 255, 0.1);
1347
+ padding: 0.1rem 0.4rem;
1348
+ border-radius: 4px;
1349
+ }
1350
+ .llm-provider-list-remove {
1351
+ flex-shrink: 0;
1352
+ border: none;
1353
+ background: transparent;
1354
+ color: var(--ds-danger, #ff3b30);
1355
+ cursor: pointer;
1356
+ font-size: 0.76rem;
1357
+ padding: 0.15rem 0.35rem;
1358
+ border-radius: 4px;
1359
+ }
1360
+ .llm-provider-list-remove:hover {
1361
+ background: rgba(255, 59, 48, 0.08);
1362
+ }
1363
+ @media (max-width: 720px) {
1364
+ .llm-provider-form-grid {
1365
+ grid-template-columns: 1fr;
1366
+ }
1175
1367
  }
1176
1368
  .agent-md-modal-close {
1177
1369
  border: none;
@@ -1236,6 +1428,13 @@
1236
1428
  outline: none;
1237
1429
  box-shadow: inset 0 0 0 2px rgba(79, 109, 245, 0.2);
1238
1430
  }
1431
+ /* whentouse 仅需约三行高度,覆盖 agent-md-editor 的大块编辑区样式 */
1432
+ .agent-md-editor.settings-textarea--whentouse {
1433
+ flex: none;
1434
+ min-height: calc(3 * 1.5em + 1.7rem);
1435
+ height: auto;
1436
+ resize: vertical;
1437
+ }
1239
1438
  .agent-md-modal-foot {
1240
1439
  display: flex;
1241
1440
  justify-content: flex-end;
@@ -1287,14 +1486,6 @@
1287
1486
  border-bottom: 1px solid var(--ds-separator);
1288
1487
  background: var(--ds-bg);
1289
1488
  }
1290
- /* 设置弹窗(tabbed)覆盖 modal-unified 头部内边距,页签贴顶与工具弹窗一致 */
1291
- #agentEnvModalCard.agent-picker--tabbed .agent-md-modal-head {
1292
- padding: 0;
1293
- gap: 0;
1294
- border-bottom: none;
1295
- align-items: stretch;
1296
- min-height: 0;
1297
- }
1298
1489
  .agent-md-modal-card.modal-unified .tool-files-body {
1299
1490
  flex: 1;
1300
1491
  min-height: 0;
@@ -1411,6 +1602,12 @@
1411
1602
  .agent-env-fixed-row:last-child {
1412
1603
  margin-bottom: 0;
1413
1604
  }
1605
+ .agent-env-fixed-row--whentouse {
1606
+ align-items: start;
1607
+ }
1608
+ .agent-env-fixed-row--whentouse .agent-env-kv-input {
1609
+ min-height: 0;
1610
+ }
1414
1611
  .agent-env-fixed-label {
1415
1612
  color: var(--ds-text-soft);
1416
1613
  font-size: 0.78rem;
@@ -1437,12 +1634,6 @@
1437
1634
  border-color: var(--ds-accent);
1438
1635
  box-shadow: 0 0 0 3px rgba(0, 122, 255, 0.16);
1439
1636
  }
1440
- #agentEnvModalCard .agent-env-panel--md .agent-md-editor {
1441
- border: 1px solid var(--ds-separator);
1442
- border-radius: 10px;
1443
- background: #ffffff;
1444
- }
1445
-
1446
1637
  .main {
1447
1638
  flex: 1;
1448
1639
  display: flex;
@@ -161,6 +161,96 @@
161
161
  </section>
162
162
  </div>
163
163
  </div>
164
+ <div id="agentSettingsView" class="agent-settings-view" hidden>
165
+ <div class="agent-settings-layout">
166
+ <aside class="agent-settings-nav" aria-label="设置导航">
167
+ <div class="agent-settings-nav-title">配置</div>
168
+ <nav
169
+ id="agentEnvSessionTabList"
170
+ class="agent-settings-nav-list"
171
+ role="tablist"
172
+ aria-label="设置、编辑 agent.md"
173
+ ></nav>
174
+ </aside>
175
+ <section class="agent-settings-content">
176
+ <div class="agent-settings-head">
177
+ <div class="agent-settings-actions">
178
+ <button type="button" class="btn-agent-settings-cancel" id="btnAgentEnvCancel">取消</button>
179
+ <button type="button" class="btn-primary" id="btnAgentEnvSave">保存</button>
180
+ </div>
181
+ </div>
182
+ <div class="agent-settings-panels">
183
+ <div id="agentEnvPanelUnified" class="agent-settings-scroll settings-unified-panel">
184
+ <section class="settings-section" aria-labelledby="settingsSectionLlmTitle">
185
+ <h3 id="settingsSectionLlmTitle" class="settings-section-title">LLM 服务商</h3>
186
+ <div id="llmProvidersSettingsBlock" class="llm-providers-block">
187
+ <form id="llmProviderForm" class="llm-provider-form" autocomplete="off" onsubmit="return false">
188
+ <div class="llm-provider-form-grid">
189
+ <div class="settings-field">
190
+ <label class="settings-field-label" for="llmFormId">服务商 ID(slug)</label>
191
+ <input id="llmFormId" class="agent-env-kv-input" type="text" spellcheck="false" placeholder="例如 openai-main" />
192
+ </div>
193
+ <div class="settings-field">
194
+ <label class="settings-field-label" for="llmFormName">展示名称</label>
195
+ <input id="llmFormName" class="agent-env-kv-input" type="text" spellcheck="false" placeholder="例如 OpenAI 主站" />
196
+ </div>
197
+ <div class="settings-field">
198
+ <label class="settings-field-label" for="llmFormProvider">协议类型</label>
199
+ <select id="llmFormProvider" class="agent-env-kv-input">
200
+ <option value="openai">openai</option>
201
+ <option value="anthropic">anthropic</option>
202
+ </select>
203
+ </div>
204
+ <div class="settings-field llm-provider-form-field--full">
205
+ <label class="settings-field-label" for="llmFormBaseUrl">Base URL</label>
206
+ <input id="llmFormBaseUrl" class="agent-env-kv-input" type="text" spellcheck="false" placeholder="https://api.openai.com/v1" />
207
+ </div>
208
+ <div class="settings-field">
209
+ <label class="settings-field-label" for="llmFormApiKey">API Key</label>
210
+ <input id="llmFormApiKey" class="agent-env-kv-input" type="password" spellcheck="false" />
211
+ </div>
212
+ <div class="settings-field">
213
+ <label class="settings-field-label" for="llmFormAuthToken">Auth Token</label>
214
+ <input id="llmFormAuthToken" class="agent-env-kv-input" type="password" spellcheck="false" />
215
+ </div>
216
+ <div class="settings-field">
217
+ <label class="settings-field-label" for="llmFormModelId">模型 ID</label>
218
+ <input id="llmFormModelId" class="agent-env-kv-input" type="text" spellcheck="false" placeholder="例如 gpt-4o" />
219
+ </div>
220
+ <div class="settings-field">
221
+ <label class="settings-field-label" for="llmFormModelLabel">模型展示名(可选)</label>
222
+ <input id="llmFormModelLabel" class="agent-env-kv-input" type="text" spellcheck="false" />
223
+ </div>
224
+ </div>
225
+ <div class="llm-provider-form-actions">
226
+ <button type="button" class="btn-primary" id="btnLlmProvidersAdd">添加</button>
227
+ </div>
228
+ </form>
229
+ <p id="llmProvidersEmptyHint" class="llm-providers-empty" hidden>尚未配置服务商,填写上方表单后点击「添加」。</p>
230
+ <ul id="llmProvidersList" class="llm-provider-list" aria-label="已配置服务商"></ul>
231
+ </div>
232
+ </section>
233
+
234
+ <section class="settings-section">
235
+ <div id="agentEnvList" class="tool-files-list settings-env-list"></div>
236
+ </section>
237
+ </div>
238
+ <div id="agentEnvPanelAgentMd" class="agent-settings-scroll agent-settings-md-panel" hidden>
239
+ <p class="tool-files-meta agent-md-panel-hint">
240
+ 与磁盘上 <code>agent.md</code> 相同;点右上角 <strong>保存</strong> 与配置一并提交。
241
+ </p>
242
+ <textarea
243
+ id="agentEnvAgentMdEditor"
244
+ class="agent-md-editor agent-settings-md-editor"
245
+ spellcheck="false"
246
+ placeholder="加载中…"
247
+ aria-label="agent.md 源码"
248
+ ></textarea>
249
+ </div>
250
+ </div>
251
+ </section>
252
+ </div>
253
+ </div>
164
254
  <div id="chatWorkspace" class="chat-workspace">
165
255
  <div id="pendingPromptsBar" class="pending-prompts-bar" hidden>
166
256
  <div class="pending-prompts-title">待执行</div>
@@ -436,143 +526,6 @@
436
526
  </div>
437
527
  </div>
438
528
 
439
- <div id="agentEnvModal" class="agent-md-modal" aria-hidden="true">
440
- <div class="agent-md-modal-backdrop" id="agentEnvModalBackdrop"></div>
441
- <div id="agentEnvModalCard" class="agent-md-modal-card modal-unified agent-picker--tabbed" role="dialog" aria-modal="true" aria-labelledby="agentEnvModalTitle">
442
- <div class="agent-md-modal-head">
443
- <h2 id="agentEnvModalTitle">设置</h2>
444
- <div id="agentEnvSessionTabStrip" class="session-tabs agent-picker-session-tab-strip" hidden role="tablist" aria-label="环境变量、编辑 agent.md、设置">
445
- <div id="agentEnvSessionTabList" class="session-tabs-list"></div>
446
- </div>
447
- <div class="modal-head-actions">
448
- <button type="button" class="agent-md-modal-close" id="btnAgentEnvModalClose" aria-label="关闭">
449
- &times;
450
- </button>
451
- </div>
452
- </div>
453
- <div class="agent-env-tab-panels">
454
- <div id="agentEnvPanelEnv" class="tool-files-body agent-env-panel" hidden>
455
- <div id="agentEnvList" class="tool-files-list"></div>
456
- </div>
457
- <div
458
- id="agentEnvPanelAgentMd"
459
- class="tool-files-body agent-env-panel agent-env-panel--md"
460
- hidden
461
- >
462
- <p class="tool-files-meta" style="margin: 0; font-size: 0.75rem; color: var(--ds-text-soft)">
463
- 与磁盘上 <code>agent.md</code> 相同;点底部 <strong>保存</strong> 与 <code>config.env</code> 一并提交。
464
- </p>
465
- <textarea
466
- id="agentEnvAgentMdEditor"
467
- class="agent-md-editor"
468
- spellcheck="false"
469
- placeholder="加载中…"
470
- aria-label="agent.md 源码"
471
- ></textarea>
472
- </div>
473
- <div id="agentEnvPanelSettings" class="tool-files-body agent-env-panel" hidden>
474
- <div style="display: grid; gap: 0.45rem">
475
- <label for="agentEnvAgentTypeInput" style="font-size: 0.78rem; color: var(--ds-text-soft)">
476
- <code>agentType</code>(只读)
477
- </label>
478
- <input
479
- id="agentEnvAgentTypeInput"
480
- class="agent-env-kv-input"
481
- type="text"
482
- aria-label="agent type"
483
- readonly
484
- />
485
- <label for="agentEnvWhenToUseInput" style="font-size: 0.78rem; color: var(--ds-text-soft)">
486
- <code>agent.json.whentouse</code>
487
- </label>
488
- <textarea
489
- id="agentEnvWhenToUseInput"
490
- class="agent-md-editor"
491
- spellcheck="false"
492
- placeholder="输入该 agent 的使用时机描述(whentouse)"
493
- aria-label="agent.json whentouse"
494
- style="min-height: 110px"
495
- ></textarea>
496
- <div class="agent-env-team-block">
497
- <label>绑定队员(agentTeams)</label>
498
- <p id="agentEnvTeamEmpty" class="agent-env-team-empty" hidden>尚未绑定队员</p>
499
- <div id="agentEnvTeamChips" class="agent-env-team-chips"></div>
500
- <div class="agent-env-team-add">
501
- <select id="agentEnvTeamPick" aria-label="选择队员">
502
- <option value="">选择要添加的 Agent…</option>
503
- </select>
504
- <button type="button" class="btn-primary" id="btnAgentEnvAddTeamMember">添加</button>
505
- </div>
506
- </div>
507
- <label for="agentEnvToolsInput" style="font-size: 0.78rem; color: var(--ds-text-soft)">
508
- <code>agent.json.tools</code>(逗号或换行分隔)
509
- </label>
510
- <textarea
511
- id="agentEnvToolsInput"
512
- class="agent-md-editor"
513
- spellcheck="false"
514
- placeholder="只读展示当前 tools"
515
- aria-label="agent.json tools"
516
- style="min-height: 80px"
517
- readonly
518
- ></textarea>
519
- <label for="agentEnvModelInput" style="font-size: 0.78rem; color: var(--ds-text-soft)">
520
- <code>agent.json.model</code>
521
- </label>
522
- <input
523
- id="agentEnvModelInput"
524
- class="agent-env-kv-input"
525
- type="text"
526
- spellcheck="false"
527
- placeholder="例如:sonnet"
528
- aria-label="agent.json model"
529
- />
530
- <label for="agentEnvEffortInput" style="font-size: 0.78rem; color: var(--ds-text-soft)">
531
- <code>agent.json.effort</code>
532
- </label>
533
- <select
534
- id="agentEnvEffortInput"
535
- class="agent-env-kv-input"
536
- aria-label="agent.json effort"
537
- >
538
- <option value="low">low</option>
539
- <option value="medium">medium</option>
540
- <option value="high">high</option>
541
- <option value="max">max</option>
542
- </select>
543
- <label for="agentEnvBackgroundInput" style="font-size: 0.78rem; color: var(--ds-text-soft)">
544
- <code>agent.json.background</code>
545
- </label>
546
- <select
547
- id="agentEnvBackgroundInput"
548
- class="agent-env-kv-input"
549
- aria-label="agent.json background"
550
- >
551
- <option value="false">false</option>
552
- <option value="true">true</option>
553
- </select>
554
- <label for="agentEnvIsolationInput" style="font-size: 0.78rem; color: var(--ds-text-soft)">
555
- <code>agent.json.isolation</code>
556
- </label>
557
- <select
558
- id="agentEnvIsolationInput"
559
- class="agent-env-kv-input"
560
- aria-label="agent.json isolation"
561
- >
562
- <option value="">(空)</option>
563
- <option value="worktree">worktree</option>
564
- <option value="remote">remote</option>
565
- </select>
566
- </div>
567
- </div>
568
- </div>
569
- <div class="agent-md-modal-foot">
570
- <button type="button" class="btn-agent-md-cancel" id="btnAgentEnvCancel">取消</button>
571
- <button type="button" class="btn-primary" id="btnAgentEnvSave">保存</button>
572
- </div>
573
- </div>
574
- </div>
575
-
576
529
  <div id="mcpPackageModal" class="agent-md-modal" aria-hidden="true">
577
530
  <div class="agent-md-modal-backdrop" id="mcpPackageModalBackdrop"></div>
578
531
  <div class="agent-md-modal-card modal-unified" role="dialog" aria-modal="true" aria-labelledby="mcpPackageModalTitle">