@auto-ai/agent 2.1.172 → 2.1.175
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/dist/safe-a/404/index.html +1 -1
- package/dist/safe-a/404.html +1 -1
- package/dist/safe-a/index.html +2 -2
- package/dist/safe-a/index.txt +1 -1
- package/dist/safe-a/manage/about/index.html +2 -2
- package/dist/safe-a/manage/about/index.txt +1 -1
- package/dist/safe-a/manage/env/index.html +2 -2
- package/dist/safe-a/manage/env/index.txt +1 -1
- package/dist/safe-a/manage/general/index.html +2 -2
- package/dist/safe-a/manage/general/index.txt +1 -1
- package/dist/safe-a/manage/index.html +2 -2
- package/dist/safe-a/manage/index.txt +1 -1
- package/dist/safe-a/manage/mcp/index.html +2 -2
- package/dist/safe-a/manage/mcp/index.txt +1 -1
- package/dist/safe-a/manage/permissions/index.html +2 -2
- package/dist/safe-a/manage/permissions/index.txt +1 -1
- package/dist/safe-a/manage/skills/index.html +2 -2
- package/dist/safe-a/manage/skills/index.txt +1 -1
- package/dist/safe-a/manage/task/index.html +2 -2
- package/dist/safe-a/manage/task/index.txt +1 -1
- package/dist/safe-a/manage/teams/index.html +2 -2
- package/dist/safe-a/manage/teams/index.txt +1 -1
- package/dist/safe-a/manage/tools/index.html +2 -2
- package/dist/safe-a/manage/tools/index.txt +1 -1
- package/dist/ws-test/ws-test.css +259 -68
- package/dist/ws-test/ws-test.html +90 -137
- package/dist/ws-test/ws-test.js +555 -519
- package/package.json +6 -6
- /package/dist/safe-a/_next/static/{-ohtVxolUnzQcSsncJVgK → u2RBPyRRGWwqO4bEEh88j}/_buildManifest.js +0 -0
- /package/dist/safe-a/_next/static/{-ohtVxolUnzQcSsncJVgK → u2RBPyRRGWwqO4bEEh88j}/_clientMiddlewareManifest.json +0 -0
- /package/dist/safe-a/_next/static/{-ohtVxolUnzQcSsncJVgK → u2RBPyRRGWwqO4bEEh88j}/_ssgManifest.js +0 -0
package/dist/ws-test/ws-test.css
CHANGED
|
@@ -1086,92 +1086,284 @@
|
|
|
1086
1086
|
cursor: pointer;
|
|
1087
1087
|
text-align: left;
|
|
1088
1088
|
}
|
|
1089
|
-
|
|
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
|
-
|
|
1097
|
-
|
|
1098
|
-
display: none;
|
|
1098
|
+
.agent-settings-view[hidden] {
|
|
1099
|
+
display: none !important;
|
|
1099
1100
|
}
|
|
1100
|
-
|
|
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
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
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
|
-
|
|
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
|
-
|
|
1115
|
-
|
|
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-
|
|
1118
|
-
|
|
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-
|
|
1123
|
-
|
|
1124
|
-
color: var(--ds-
|
|
1125
|
-
|
|
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-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
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-
|
|
1168
|
+
.agent-settings-panels {
|
|
1169
|
+
flex: 1;
|
|
1170
|
+
min-height: 0;
|
|
1134
1171
|
display: flex;
|
|
1135
|
-
flex-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
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-
|
|
1185
|
+
.agent-settings-actions {
|
|
1141
1186
|
display: inline-flex;
|
|
1142
1187
|
align-items: center;
|
|
1143
|
-
gap:
|
|
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-
|
|
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
|
-
.
|
|
1160
|
-
|
|
1288
|
+
.llm-providers-block {
|
|
1289
|
+
display: grid;
|
|
1290
|
+
gap: 0.75rem;
|
|
1161
1291
|
}
|
|
1162
|
-
.
|
|
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
|
-
.
|
|
1168
|
-
|
|
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
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
font-size: 0.
|
|
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
|
-
×
|
|
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">
|