Wave 2.2: 流式安装输出、软件内授权四模式、本机环境一键装与总览缓存

EOF

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
leefer
2026-08-25 17:11:14 +08:00
co-authored by Cursor
parent a2fd5e369b
commit dd5a9378d2
24 changed files with 2659 additions and 263 deletions
+316
View File
@@ -2205,3 +2205,319 @@ button {
flex-direction: column;
gap: var(--ad-space-5);
}
/* ============================================================
* Wave 2.2£ºÊµÊ±Êä³ö / Èí¼þÄÚÊÚȨ / ÒÀÀµÒ»¼ü×° / ¼ÓÔØ¹Ç¼Ü
* È«²¿ÑÕÉ«À´×Ô tokens/
* ============================================================ */
/* ---------- ʧ°Ü̬ÈË»°»¯£¨°²×°/Ð¶ÔØµ¯´°£© ---------- */
.run-failure {
flex-direction: column;
align-items: flex-start;
}
.run-failure-head {
display: flex;
align-items: flex-start;
gap: var(--ad-space-2);
}
.run-failure-action {
margin-top: var(--ad-space-2);
}
.run-failure-toggle {
align-self: flex-start;
}
.run-failure-raw {
width: 100%;
padding: var(--ad-space-3);
background: var(--ad-bg-0);
border: 1px solid var(--ad-border);
border-radius: var(--ad-radius-s);
font-family: var(--ad-font-mono);
font-size: var(--ad-text-xs-size);
color: var(--ad-text-2);
white-space: pre-wrap;
word-break: break-all;
}
/* ---------- Èí¼þÄÚÊÚȨ£¨AuthPanel£© ---------- */
.auth-mode-action {
height: 28px;
min-width: 0;
padding: 0 var(--ad-space-3);
margin-left: auto;
flex-shrink: 0;
}
.auth-flow {
display: flex;
flex-direction: column;
gap: var(--ad-space-4);
}
.auth-device {
display: flex;
flex-direction: column;
align-items: center;
gap: var(--ad-space-3);
padding: var(--ad-space-5);
border: 1px solid var(--ad-border);
border-radius: var(--ad-radius-m);
background: var(--ad-bg-1);
}
.auth-device-label {
color: var(--ad-text-2);
font-size: var(--ad-text-s-size);
}
.auth-device-code {
display: flex;
align-items: center;
gap: var(--ad-space-3);
}
.auth-device-code-text {
font-family: var(--ad-font-mono);
font-size: var(--ad-text-num-size);
letter-spacing: 0.12em;
color: var(--ad-primary);
}
.auth-copy {
height: 32px;
min-width: 0;
}
.auth-open {
text-decoration: none;
}
.auth-device-hint {
color: var(--ad-text-3);
font-size: var(--ad-text-xs-size);
}
.auth-status {
display: flex;
align-items: center;
gap: var(--ad-space-2);
font-size: var(--ad-text-s-size);
}
.auth-waiting {
display: inline-flex;
align-items: center;
gap: var(--ad-space-2);
color: var(--ad-attention);
}
.auth-done {
display: inline-flex;
align-items: center;
gap: var(--ad-space-2);
color: var(--ad-success);
}
.auth-failed {
display: inline-flex;
align-items: center;
gap: var(--ad-space-2);
color: var(--ad-danger);
}
.auth-log {
display: flex;
flex-direction: column;
gap: var(--ad-space-1);
max-height: 200px;
overflow-y: auto;
padding: var(--ad-space-3);
border: 1px solid var(--ad-border);
border-radius: var(--ad-radius-s);
background: var(--ad-bg-0);
font-family: var(--ad-font-mono);
font-size: var(--ad-text-xs-size);
}
.auth-log-line {
color: var(--ad-text-2);
word-break: break-all;
white-space: pre-wrap;
}
.auth-log-line.waiting {
color: var(--ad-attention);
}
/* ---------- ±¾»ú»·¾³Ò»¼ü°²×°£¨RuntimeInstallModal£© ---------- */
.runtime-install {
display: flex;
flex-direction: column;
gap: var(--ad-space-4);
}
.runtime-source,
.runtime-meta {
display: flex;
flex-direction: column;
gap: var(--ad-space-2);
}
.runtime-url {
display: flex;
flex-direction: column;
gap: var(--ad-space-1);
}
.runtime-url-text {
font-family: var(--ad-font-mono);
font-size: var(--ad-text-xs-size);
color: var(--ad-text-2);
word-break: break-all;
}
.runtime-progress {
display: flex;
align-items: center;
}
.runtime-error {
display: flex;
align-items: flex-start;
gap: var(--ad-space-2);
padding: var(--ad-space-3);
border: 1px solid var(--ad-border);
border-radius: var(--ad-radius-m);
color: var(--ad-danger);
font-size: var(--ad-text-s-size);
}
.runtime-note {
color: var(--ad-text-3);
font-size: var(--ad-text-xs-size);
}
/* ---------- ×ÜÀÀ¼ÓÔØ¹Ç¼ÜÆÁ£¨Wave 2.2 Req 4£© ---------- */
.overview-skeleton {
padding: var(--ad-space-5);
background: var(--ad-bg-1);
border: 1px solid var(--ad-border);
border-radius: var(--ad-radius-l);
}
.skeleton-notice {
display: flex;
align-items: center;
gap: var(--ad-space-2);
margin-bottom: var(--ad-space-4);
color: var(--ad-text-2);
font-size: var(--ad-text-m-size);
}
.skeleton-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: var(--ad-space-4);
}
.skeleton-card {
display: flex;
flex-direction: column;
gap: var(--ad-space-2);
padding: var(--ad-space-4);
border: 1px solid var(--ad-border);
border-radius: var(--ad-radius-m);
}
.skeleton-rows {
display: flex;
flex-direction: column;
gap: var(--ad-space-3);
}
.skeleton-line {
height: 14px;
border-radius: 4px;
background: var(--ad-bg-3);
animation: ad-skeleton 1.4s var(--ad-ease-inout) infinite;
}
.skeleton-line.short {
width: 60%;
}
.skeleton-line.avatar {
width: 32px;
height: 32px;
border-radius: var(--ad-radius-m);
}
@keyframes ad-skeleton {
0%,
100% {
opacity: 0.4;
}
50% {
opacity: 0.9;
}
}
/* ---------- È«Á¿Õï¶Ï»ã×Ü ---------- */
.diag-summary-all {
display: flex;
flex-direction: column;
gap: var(--ad-space-3);
}
.diag-report-group {
display: flex;
flex-direction: column;
gap: var(--ad-space-2);
padding: var(--ad-space-3);
border: 1px solid var(--ad-border);
border-radius: var(--ad-radius-m);
}
.diag-report-cli {
color: var(--ad-primary);
font-family: var(--ad-font-mono);
font-size: var(--ad-text-s-size);
}
.diag-finding-row {
display: flex;
align-items: flex-start;
gap: var(--ad-space-2);
}
.diag-finding-row-msg {
flex: 1;
min-width: 0;
color: var(--ad-text-1);
font-size: var(--ad-text-s-size);
line-height: 1.5;
}
/* È«Á¿Õï¶Ï»ã×ÜÀïµÄ¼¶±ðÎÄ×Ö±êÇ©£¨½öÎÄ×ÖÉ«£¬²»Óà diag-sev-tag µÄÌî³äÉ«£¬±ÜÃâÎÄ×Ö±»±³¾°Í̵ô£© */
.diag-sev-label {
flex-shrink: 0;
font-size: var(--ad-text-xs-size);
}
.diag-sev-label.error {
color: var(--ad-danger);
}
.diag-sev-label.warn {
color: var(--ad-warning);
}
.diag-sev-label.info {
color: var(--ad-attention);
}