diff --git a/__pycache__/web.cpython-312.pyc b/__pycache__/web.cpython-312.pyc index 276b71a..64069b9 100644 Binary files a/__pycache__/web.cpython-312.pyc and b/__pycache__/web.cpython-312.pyc differ diff --git a/web.py b/web.py index fc8b258..ed47a57 100644 --- a/web.py +++ b/web.py @@ -151,8 +151,8 @@ HTML_PAGE = """ .file-viewer { flex: 1; overflow-y: auto; padding: 8px; min-height: 0; } /* Right panel: LLM activity log */ - .right { display: flex; flex-direction: column; } - .activity { flex: 1; overflow-y: auto; padding: 12px; } + .right { display: flex; flex-direction: column; min-height: 0; overflow: hidden; } + .activity { flex: 1; overflow-y: auto; padding: 12px; min-height: 0; } .panel-title { font-size: 11px; text-transform: uppercase; letter-spacing: 1px; color: #8b949e; padding: 8px 0 6px; border-bottom: 1px solid #21262d; margin-bottom: 8px; } @@ -186,7 +186,8 @@ HTML_PAGE = """ .log-warn { color: #d29922; } .log-action { color: #58a6ff; font-weight: 600; } .log-detail { color: #c9d1d9; } - .log-llm { color: #bc8cff; } + .log-llm { color: #bc8cff; font-weight: 600; } + .log-llm-content { color: #bc8cff; opacity: 0.8; font-size: 12px; white-space: pre-wrap; word-break: break-all; margin: 4px 0 8px 0; padding: 6px 8px; background: #161b22; border-radius: 4px; border-left: 2px solid #bc8cff; max-height: 400px; overflow-y: auto; } ::-webkit-scrollbar { width: 6px; } ::-webkit-scrollbar-track { background: transparent; } @@ -305,8 +306,10 @@ function addLogEntry(d) { const time = new Date().toLocaleTimeString(); const isLlm = d.status === 'llm'; if (isLlm) { + const text = (d.detail || '').replace(/^```[a-z]*\n?/gm, '').replace(/```$/gm, '').trim(); div.innerHTML = '' + time + ' ' - + '🧠 ' + escapeHtml(d.detail || '') + ''; + + '🧠 thinking' + + '
' + escapeHtml(text) + '
'; } else { const cls = d.status === 'ok' ? 'log-ok' : d.status === 'error' ? 'log-error' : d.status === 'warn' ? 'log-warn' : 'log-ok'; const icon = d.status === 'ok' ? '✓' : d.status === 'error' ? '✗' : d.status === 'warn' ? '⚠' : '…';