Add files via upload

This commit is contained in:
公明
2026-07-20 16:49:19 +08:00
committed by GitHub
parent c1ab063b0d
commit c689122774
9 changed files with 1443 additions and 140 deletions
+501 -38
View File
@@ -3325,7 +3325,7 @@ html[data-theme="dark"] .new-chat-btn:focus-visible {
.message-avatar svg {
width: 17px;
height: 17px;
height: 16px;
flex-shrink: 0;
}
@@ -28735,63 +28735,195 @@ html[data-theme="dark"] .skills-management-page .skill-card-actions .btn-seconda
/* ==================== 信息收集(FOFA)页面 ==================== */
.info-collect-panel {
background: var(--bg-primary);
border: 1px solid var(--border-color);
border-radius: 12px;
padding: 16px;
position: relative;
overflow: hidden;
background:
linear-gradient(135deg, rgba(37, 99, 235, 0.08), rgba(20, 184, 166, 0.05) 42%, transparent 70%),
var(--bg-primary);
border: 1px solid color-mix(in srgb, var(--border-color) 72%, var(--accent-color));
border-radius: 14px;
padding: 18px;
margin-bottom: 16px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
box-shadow: 0 16px 36px rgba(15, 23, 42, 0.08);
}
/* 表单整体增加纵向留白,避免“挤在一起” */
.info-collect-form {
display: flex;
flex-direction: column;
gap: 14px;
gap: 12px;
position: relative;
z-index: 1;
}
/* 将每个表单块做成轻量卡片分组(只作用于 info-collect 顶层 form-group */
.info-collect-form > .form-group,
.info-collect-form > .info-collect-form-row {
padding: 14px 14px;
border: 1px solid rgba(0, 0, 0, 0.06);
border-radius: 12px;
background: linear-gradient(135deg, #ffffff 0%, #fafbfc 100%);
.info-collect-form-top {
display: grid;
grid-template-columns: minmax(220px, 0.32fr) minmax(420px, 1fr);
gap: 12px;
}
.info-collect-provider-card,
.info-collect-query-card,
.info-collect-options-card,
.info-collect-fields-card {
border: 1px solid rgba(15, 23, 42, 0.07);
border-radius: 10px;
background: rgba(255, 255, 255, 0.82);
box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset;
}
.info-collect-form .form-group {
margin-bottom: 0;
}
.info-collect-provider-card,
.info-collect-query-card,
.info-collect-fields-card {
padding: 14px 16px 16px;
}
.info-collect-query-card {
background:
linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.88)),
var(--bg-primary);
}
.info-collect-options-card {
padding: 14px 16px;
background:
linear-gradient(135deg, rgba(248, 250, 252, 0.94), rgba(239, 246, 255, 0.68));
}
.info-collect-step-title {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 10px;
color: var(--text-primary);
font-weight: 650;
line-height: 1.3;
}
.info-collect-step-title span {
display: inline-flex;
align-items: center;
justify-content: center;
width: 26px;
height: 22px;
border-radius: 7px;
background: rgba(37, 99, 235, 0.1);
color: var(--accent-color);
font-size: 0.75rem;
font-weight: 700;
font-variant-numeric: tabular-nums;
}
.info-collect-step-title label,
.info-collect-step-title div {
margin: 0;
}
.info-collect-query-mode-panel[hidden] {
display: none !important;
}
.info-collect-query-mode-panel + .info-collect-query-mode-panel {
margin-top: 14px;
}
#info-collect-syntax-panel.is-generated-target {
padding-top: 12px;
border-top: 1px dashed color-mix(in srgb, var(--border-color) 76%, var(--text-secondary));
}
html[data-theme="dark"] #info-collect-syntax-panel.is-generated-target {
border-top-color: color-mix(in srgb, var(--border-color) 58%, var(--accent-color));
}
.info-collect-inner-label {
display: block;
margin: 0 0 8px;
color: var(--text-primary);
font-weight: 650;
}
.info-collect-provider-select .settings-custom-select-trigger {
min-height: 46px;
border-radius: 8px;
background: var(--bg-primary);
font-weight: 650;
}
.info-collect-provider-select .settings-custom-select-menu {
z-index: 3200;
border-radius: 10px;
}
.info-collect-provider-select .settings-custom-select-option {
min-height: 36px;
}
/* 覆盖全局 .form-group textarea(min-height:200px) 的默认大留白 */
.form-group textarea.info-collect-query-input {
min-height: 36px;
min-height: 42px;
max-height: 96px;
overflow: hidden; /* 配合 JS 自动增高 */
resize: none;
padding: 10px 12px;
padding: 11px 12px;
}
.info-collect-nl-row {
#page-info-collect input[type="text"],
#page-info-collect input[type="number"],
#page-info-collect select,
#page-info-collect textarea {
border-radius: 8px;
}
#page-info-collect input:focus,
#page-info-collect textarea:focus {
border-color: var(--accent-color);
box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}
.info-collect-nl-row,
.info-collect-query-row {
display: flex;
align-items: flex-start;
align-items: stretch;
gap: 10px;
}
.info-collect-nl-row .info-collect-query-input {
.info-collect-nl-row .info-collect-query-input,
.info-collect-query-row .info-collect-query-input {
flex: 1 1 auto;
min-width: 0; /* 允许在 flex 中收缩,避免撑破布局 */
}
.info-collect-nl-row button {
.info-collect-nl-row button,
.info-collect-query-row button {
flex: 0 0 auto;
white-space: nowrap;
min-height: 42px;
padding-inline: 18px;
}
@media (max-width: 980px) {
.info-collect-panel {
padding: 14px;
}
.info-collect-form-top {
grid-template-columns: 1fr;
}
.info-collect-form-row {
grid-template-columns: 1fr;
}
.info-collect-nl-row {
.info-collect-nl-row,
.info-collect-query-row {
flex-direction: column;
align-items: stretch;
}
.syntax-guide-header {
flex-direction: column;
gap: 6px;
}
.info-collect-col-actions {
width: 140px;
}
@@ -28799,15 +28931,45 @@ html[data-theme="dark"] .skills-management-page .skill-card-actions .btn-seconda
.info-collect-form-row {
display: grid;
grid-template-columns: repeat(3, minmax(180px, 1fr));
gap: 14px;
align-items: end;
grid-template-columns: minmax(160px, 0.7fr) minmax(160px, 0.7fr) minmax(150px, 0.45fr) minmax(280px, 1fr);
gap: 12px;
align-items: center;
}
.info-collect-form-row .form-group {
min-width: 0;
}
.info-collect-form-row #info-collect-full-option {
display: flex;
flex-direction: column;
justify-content: flex-start;
align-self: stretch;
}
.info-collect-form-row #info-collect-full-option::before {
content: '';
display: block;
height: 17px;
margin-bottom: 8px;
}
.info-collect-form-row #info-collect-full-option .checkbox-label {
min-height: 40px;
margin-top: -1px;
align-items: center;
padding: 0 12px;
border: 1px solid var(--border-color);
border-radius: 8px;
background: var(--bg-primary);
}
.info-collect-row-hint {
grid-column: auto;
align-self: end;
margin-bottom: 9px;
}
.info-collect-results {
background: var(--bg-primary);
border: 1px solid var(--border-color);
@@ -28953,6 +29115,110 @@ html[data-theme="dark"] .skills-management-page .skill-card-actions .btn-seconda
margin-top: 8px;
}
.info-collect-syntax-guide {
margin-top: 10px;
padding: 10px 12px;
border: 1px solid color-mix(in srgb, var(--border-color) 82%, var(--accent-color));
border-radius: 8px;
background: color-mix(in srgb, var(--bg-secondary) 86%, var(--accent-color) 5%);
}
.info-collect-syntax-guide.is-expanded {
padding: 12px;
}
.syntax-guide-header {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 12px;
}
.info-collect-syntax-guide.is-expanded .syntax-guide-header {
margin-bottom: 10px;
}
.syntax-guide-summary {
color: var(--text-secondary);
font-size: 0.8125rem;
line-height: 1.55;
}
.syntax-guide-actions {
display: flex;
align-items: center;
gap: 10px;
flex: 0 0 auto;
}
.info-collect-doc-link {
color: var(--accent-color);
font-size: 0.8125rem;
text-decoration: none;
border-bottom: 1px dashed color-mix(in srgb, var(--accent-color) 52%, transparent);
}
.info-collect-doc-link:hover {
border-bottom-color: var(--accent-color);
}
.syntax-guide-toggle {
border: 1px solid color-mix(in srgb, var(--border-color) 70%, var(--accent-color));
border-radius: 7px;
background: var(--bg-primary);
color: var(--text-primary);
padding: 5px 9px;
font-size: 0.8125rem;
line-height: 1;
cursor: pointer;
white-space: nowrap;
}
.syntax-guide-toggle:hover {
border-color: var(--accent-color);
color: var(--accent-color);
background: color-mix(in srgb, var(--accent-color) 8%, var(--bg-primary));
}
.syntax-guide-section + .syntax-guide-section {
margin-top: 10px;
}
.syntax-guide-title {
margin-bottom: 6px;
color: var(--text-primary);
font-size: 0.8125rem;
font-weight: 650;
}
.syntax-guide-examples {
display: flex;
flex-wrap: wrap;
gap: 7px;
}
.syntax-example-chip {
max-width: 100%;
border: 1px solid color-mix(in srgb, var(--border-color) 78%, var(--text-secondary));
border-radius: 7px;
background: var(--bg-primary);
color: var(--text-primary);
padding: 6px 8px;
font-family: var(--font-mono, "SFMono-Regular", Consolas, "Liberation Mono", monospace);
font-size: 0.75rem;
line-height: 1.25;
text-align: left;
overflow-wrap: anywhere;
cursor: pointer;
transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}
.syntax-example-chip:hover {
border-color: var(--accent-color);
color: var(--accent-color);
background: color-mix(in srgb, var(--accent-color) 8%, var(--bg-primary));
}
.info-collect-query-input {
min-height: 40px;
max-height: 110px;
@@ -29088,21 +29354,21 @@ html[data-theme="dark"] .skills-management-page .skill-card-actions .btn-seconda
.info-collect-cell-modal {
position: fixed;
inset: 0;
background: rgba(0,0,0,0.45);
background: rgba(2, 6, 23, 0.62);
display: flex;
align-items: center;
justify-content: center;
z-index: 10000;
padding: 24px;
padding: 32px;
}
.info-collect-cell-modal-content {
width: min(920px, 100%);
max-height: 86vh;
width: min(760px, 100%);
max-height: min(78vh, 720px);
background: var(--bg-primary);
border: 1px solid var(--border-color);
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0,0,0,0.20);
box-shadow: 0 24px 70px rgba(0,0,0,0.35);
display: flex;
flex-direction: column;
overflow: hidden;
@@ -29110,42 +29376,91 @@ html[data-theme="dark"] .skills-management-page .skill-card-actions .btn-seconda
.info-collect-cell-modal-header {
display: flex;
align-items: center;
align-items: flex-start;
justify-content: space-between;
padding: 12px 14px;
gap: 16px;
padding: 18px 20px 16px;
border-bottom: 1px solid var(--border-color);
}
.info-collect-cell-modal-heading {
min-width: 0;
}
.info-collect-cell-modal-title {
font-weight: 600;
color: var(--text-primary);
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
padding-right: 12px;
font-size: 1rem;
line-height: 1.4;
}
.info-collect-cell-modal-subtitle {
margin-top: 4px;
color: var(--text-secondary);
font-size: 0.8125rem;
line-height: 1.4;
}
.info-collect-cell-modal-header .btn-icon {
flex: 0 0 auto;
}
.info-collect-cell-modal-body {
padding: 12px 14px;
padding: 18px 20px;
overflow: auto;
min-height: 112px;
}
.info-collect-cell-modal-pre {
margin: 0;
min-height: 64px;
padding: 14px 16px;
border: 1px solid var(--border-color);
border-radius: 8px;
background: var(--bg-secondary);
white-space: pre-wrap;
word-break: break-word;
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
font-size: 0.875rem;
line-height: 1.55;
color: var(--text-primary);
user-select: text;
}
.info-collect-cell-modal-footer {
padding: 12px 14px;
padding: 14px 20px 18px;
border-top: 1px solid var(--border-color);
display: flex;
justify-content: flex-end;
gap: 8px;
gap: 10px;
background: var(--bg-primary);
}
@media (max-width: 640px) {
.info-collect-cell-modal {
align-items: flex-end;
padding: 16px;
}
.info-collect-cell-modal-content {
width: 100%;
max-height: 82vh;
}
.info-collect-cell-modal-header {
padding: 16px;
}
.info-collect-cell-modal-body {
padding: 16px;
}
.info-collect-cell-modal-footer {
padding: 12px 16px 16px;
}
}
.info-collect-parse-modal-body {
@@ -29195,6 +29510,107 @@ html[data-theme="dark"] .skills-management-page .skill-card-actions .btn-seconda
padding: 18px 28px;
}
.info-collect-panel,
.info-collect-provider-card,
.info-collect-query-card,
.info-collect-options-card,
.info-collect-fields-card,
.info-collect-step-title,
.info-collect-step-title span,
.info-collect-inner-label,
.info-collect-provider-select .settings-custom-select-trigger,
.info-collect-provider-select .settings-custom-select-menu,
.info-collect-provider-select .settings-custom-select-option,
.info-collect-form-row #info-collect-full-option .checkbox-label,
.info-collect-results,
.info-collect-results-header,
.info-collect-selected,
.info-collect-results-title,
.info-collect-results-meta,
.info-collect-results-table-wrap,
.info-collect-table,
.info-collect-table th,
.info-collect-table td,
.info-collect-table .muted,
.info-collect-actions .btn-icon,
.info-collect-query-input,
.preset-chip,
.info-collect-link,
.info-collect-cell-text,
.info-collect-columns-panel,
.info-collect-columns-title,
.info-collect-col-item,
.info-collect-cell-modal,
.info-collect-cell-modal-content,
.info-collect-cell-modal-header,
.info-collect-cell-modal-title,
.info-collect-cell-modal-subtitle,
.info-collect-cell-modal-pre,
.info-collect-cell-modal-footer,
.info-collect-parse-warnings,
.info-collect-parse-explanation,
#page-info-collect input[type="text"],
#page-info-collect input[type="number"],
#page-info-collect select,
#page-info-collect textarea,
#page-info-collect .form-hint {
transition:
background 0.22s ease,
background-color 0.22s ease,
border-color 0.22s ease,
color 0.22s ease,
box-shadow 0.22s ease;
}
@media (prefers-reduced-motion: reduce) {
.info-collect-panel,
.info-collect-provider-card,
.info-collect-query-card,
.info-collect-options-card,
.info-collect-fields-card,
.info-collect-step-title,
.info-collect-step-title span,
.info-collect-inner-label,
.info-collect-provider-select .settings-custom-select-trigger,
.info-collect-provider-select .settings-custom-select-menu,
.info-collect-provider-select .settings-custom-select-option,
.info-collect-form-row #info-collect-full-option .checkbox-label,
.info-collect-results,
.info-collect-results-header,
.info-collect-selected,
.info-collect-results-title,
.info-collect-results-meta,
.info-collect-results-table-wrap,
.info-collect-table,
.info-collect-table th,
.info-collect-table td,
.info-collect-table .muted,
.info-collect-actions .btn-icon,
.info-collect-query-input,
.preset-chip,
.info-collect-link,
.info-collect-cell-text,
.info-collect-columns-panel,
.info-collect-columns-title,
.info-collect-col-item,
.info-collect-cell-modal,
.info-collect-cell-modal-content,
.info-collect-cell-modal-header,
.info-collect-cell-modal-title,
.info-collect-cell-modal-subtitle,
.info-collect-cell-modal-pre,
.info-collect-cell-modal-footer,
.info-collect-parse-warnings,
.info-collect-parse-explanation,
#page-info-collect input[type="text"],
#page-info-collect input[type="number"],
#page-info-collect select,
#page-info-collect textarea,
#page-info-collect .form-hint {
transition: none;
}
}
@media (max-width: 980px) {
.info-collect-columns-list {
grid-template-columns: repeat(2, minmax(140px, 1fr));
@@ -34381,8 +34797,10 @@ html[data-theme="dark"] #webshell-db-profile-modal .modal-header,
html[data-theme="dark"] #webshell-db-profile-modal .modal-footer,
html[data-theme="dark"] .webshell-db-toolbar label,
html[data-theme="dark"] .webshell-db-output-wrap,
html[data-theme="dark"] .info-collect-form > .form-group,
html[data-theme="dark"] .info-collect-form > .info-collect-form-row,
html[data-theme="dark"] .info-collect-provider-card,
html[data-theme="dark"] .info-collect-query-card,
html[data-theme="dark"] .info-collect-options-card,
html[data-theme="dark"] .info-collect-fields-card,
html[data-theme="dark"] .info-collect-selected,
html[data-theme="dark"] .info-collect-results-table-wrap,
html[data-theme="dark"] .info-collect-presets,
@@ -34394,6 +34812,39 @@ html[data-theme="dark"] .info-collect-col-item {
box-shadow: none !important;
}
html[data-theme="dark"] .info-collect-options-card {
background: #0f172a !important;
}
html[data-theme="dark"] .info-collect-step-title {
color: var(--text-primary) !important;
}
html[data-theme="dark"] .info-collect-step-title span {
background: rgba(96, 165, 250, 0.16) !important;
color: #93c5fd !important;
}
html[data-theme="dark"] .info-collect-provider-select .settings-custom-select-trigger,
html[data-theme="dark"] .info-collect-provider-select .settings-custom-select-menu {
background: #0f172a !important;
border-color: #263244 !important;
color: var(--text-primary) !important;
}
html[data-theme="dark"] .info-collect-provider-select .settings-custom-select-menu {
box-shadow: 0 18px 42px rgba(0, 0, 0, 0.36) !important;
}
html[data-theme="dark"] .info-collect-provider-select .settings-custom-select-option:hover:not(:disabled) {
background: rgba(30, 41, 59, 0.82) !important;
}
html[data-theme="dark"] .info-collect-provider-select .settings-custom-select-option.is-selected {
background: rgba(59, 130, 246, 0.18) !important;
color: #93c5fd !important;
}
html[data-theme="dark"] .hitl-reviewer-toggle,
html[data-theme="dark"] .projects-tabs,
html[data-theme="dark"] .projects-sidebar-head,
@@ -34544,6 +34995,14 @@ html[data-theme="dark"] .info-collect-query-input {
border-color: #2b374b !important;
}
html[data-theme="dark"] #page-info-collect input[type="text"],
html[data-theme="dark"] #page-info-collect input[type="number"],
html[data-theme="dark"] #page-info-collect .info-collect-form-row #info-collect-full-option .checkbox-label {
background: #0f172a !important;
color: var(--text-primary) !important;
border-color: #2b374b !important;
}
html[data-theme="dark"] .hitl-config-select:focus,
html[data-theme="dark"] .hitl-config-input:focus,
html[data-theme="dark"] .hitl-config-textarea:focus,
@@ -34604,6 +35063,10 @@ html[data-theme="dark"] #page-info-collect .preset-chip:hover {
}
html[data-theme="dark"] .info-collect-panel {
background:
linear-gradient(135deg, rgba(96, 165, 250, 0.1), rgba(45, 212, 191, 0.06) 44%, transparent 70%),
#0b1120 !important;
border-color: #263244 !important;
box-shadow: none;
}