feat: support MCP elicitation and rebuild release

This commit is contained in:
shiyue
2026-08-24 17:39:41 +08:00
parent dd233a40e8
commit bd20a79d4b
69 changed files with 8978 additions and 13 deletions

View File

@@ -1505,6 +1505,16 @@ body.session-loading-active {
border-radius: 4px 0 0 0;
opacity: 0.88;
}
.session-item.gitea-session:not(.pinned)::before {
content: '';
position: absolute;
left: 4px;
top: 8px;
bottom: 8px;
width: 3px;
border-radius: 999px;
background: #3f8f73;
}
.session-item-main {
flex: 1;
min-width: 0;
@@ -1520,6 +1530,20 @@ body.session-loading-active {
font-size: 14px;
color: var(--text-primary);
}
.session-item-source-badge {
display: inline-flex;
align-items: center;
flex: 0 0 auto;
padding: 2px 6px;
border: 1px solid rgba(63, 143, 115, 0.34);
border-radius: 5px;
background: rgba(63, 143, 115, 0.12);
color: #2d755e;
font-size: 9px;
font-weight: 800;
letter-spacing: 0.04em;
line-height: 1.2;
}
.session-item.active .session-item-title { color: var(--accent); font-weight: 500; }
.session-item-pin-badge {
flex-shrink: 0;
@@ -2799,6 +2823,10 @@ html[data-theme='wasteland'] .advanced-search-panel {
flex-shrink: 0;
}
.msg.user .msg-avatar { background: var(--bg-bubble-user); color: #fff; }
.msg.gitea-message .msg-avatar {
background: #3f8f73;
color: #fff;
}
.msg.assistant .msg-avatar { background: var(--success); color: #fff; }
.msg-avatar svg { display: block; flex-shrink: 0; }
/* Claude avatar: transparent bg, fixed-color pixel crab */
@@ -2991,6 +3019,31 @@ html[data-theme='wasteland'] .advanced-search-panel {
border-bottom-right-radius: 4px;
padding-right: 42px;
}
.msg.gitea-message .msg-bubble {
border: 1px solid rgba(63, 143, 115, 0.36);
box-shadow: 0 8px 18px rgba(63, 143, 115, 0.12);
}
.gitea-message-label {
display: inline-flex;
align-items: center;
align-self: flex-start;
gap: 5px;
margin: -2px 0 7px;
padding: 2px 7px;
border: 1px solid rgba(63, 143, 115, 0.34);
border-radius: 5px;
background: rgba(63, 143, 115, 0.16);
color: rgba(255, 255, 255, 0.92);
font-size: 10px;
font-weight: 800;
line-height: 1.35;
letter-spacing: 0.03em;
}
.gitea-message-label::before {
content: '↗';
font-size: 10px;
line-height: 1;
}
.msg.user.goal-message .msg-bubble {
display: flex;
flex-direction: column;
@@ -6403,6 +6456,101 @@ html[data-theme='coolvibe'] .settings-back:hover {
.codex-approval-deny-btn {
color: var(--danger);
}
.codex-elicitation-panel {
max-width: 620px;
}
.codex-elicitation-body {
display: flex;
flex-direction: column;
gap: 12px;
max-height: min(68vh, 680px);
overflow: auto;
}
.codex-elicitation-message {
color: var(--text-primary);
font-size: 15px;
line-height: 1.5;
white-space: pre-wrap;
}
.codex-elicitation-mode {
align-self: flex-start;
padding: 3px 8px;
border: 1px solid var(--border-color);
border-radius: 999px;
color: var(--text-muted);
font-size: 11px;
font-weight: 700;
}
.codex-elicitation-field {
display: flex;
flex-direction: column;
gap: 5px;
}
.codex-elicitation-label {
color: var(--text-primary);
font-size: 13px;
font-weight: 700;
}
.codex-elicitation-desc {
color: var(--text-muted);
font-size: 12px;
line-height: 1.4;
}
.codex-elicitation-control {
display: flex;
flex-direction: column;
gap: 7px;
}
.codex-elicitation-input {
box-sizing: border-box;
width: 100%;
min-height: 38px;
padding: 8px 10px;
border: 1px solid var(--border-color);
border-radius: 8px;
background: var(--bg-primary);
color: var(--text-primary);
font: inherit;
outline: none;
}
.codex-elicitation-input:focus {
border-color: var(--accent);
}
textarea.codex-elicitation-input {
min-height: 90px;
resize: vertical;
}
.codex-elicitation-check {
display: flex;
align-items: center;
gap: 8px;
color: var(--text-primary);
font-size: 13px;
}
.codex-elicitation-url-copy {
color: var(--text-secondary);
line-height: 1.5;
}
.codex-elicitation-url {
display: inline-flex;
align-items: center;
width: fit-content;
padding: 9px 12px;
border: 1px solid var(--border-color);
border-radius: 8px;
color: var(--accent);
text-decoration: none;
word-break: break-all;
}
.codex-elicitation-url:hover {
background: var(--bg-secondary);
}
.codex-elicitation-footer {
flex-wrap: wrap;
}
.codex-elicitation-decline {
color: var(--danger);
}
.modal-quick-picks {
display: flex;
flex-wrap: wrap;