1616< link rel ="stylesheet " href ="static/vendor/google-fonts-local.css ">
1717< link rel ="stylesheet " href ="static/vendor/github-dark.min.css ">
1818< link rel ="stylesheet " href ="static/vendor/katex/katex.min.css ">
19- < link rel ="stylesheet " href ="static/styles.css?v=0.7.2 ">
19+ < link rel ="stylesheet " href ="static/styles.css?v=0.7.3 ">
2020< script >
2121 // Prevent flash of wrong theme — apply before render (default: tofu)
2222 ( function ( ) { var t = localStorage . getItem ( 'claude_ui_theme' ) || 'tofu' ; document . documentElement . setAttribute ( 'data-theme' , t ) ; } ) ( ) ;
4040 var stubs = [ 'handleKeyDown' , 'sendMessage' , 'newChat' , 'togglePresetDropdown' ,
4141 'cycleTheme' , 'toggleDebug' , 'toggleSidebar' , 'openSettings' , 'toggleCodeExec' ,
4242 'toggleBrowser' , 'toggleMemory' , 'toggleSwarm' , 'toggleAutoTranslate' ,
43- 'toggleAutoApply' , 'selectThinkingDepth' , 'cycleSearchMode' , 'enterImageGenMode' ] ;
43+ 'toggleAutoApply' , 'selectThinkingDepth' , 'cycleSearchMode' , 'enterImageGenMode' ,
44+ 'toggleSidebarSearch' , 'closeSidebarSearch' ] ;
4445 for ( var i = 0 ; i < stubs . length ; i ++ ) {
4546 ( function ( name ) {
4647 window [ name ] = function ( ) { _notReady ( ) ; } ;
8384 < div class ="sidebar-header ">
8485 < h1 > < svg class ="sidebar-tofu-icon " width ="22 " height ="22 " viewBox ="0 0 32 32 " fill ="none "> < defs > < linearGradient id ="sTop " x1 ="0 " y1 ="0 " x2 =".5 " y2 ="1 "> < stop offset ="0% " stop-color ="#fef8ec "/> < stop offset ="100% " stop-color ="#fdf2d7 "/> </ linearGradient > < linearGradient id ="sFront " x1 ="0 " y1 ="0 " x2 =".2 " y2 ="1 "> < stop offset ="0% " stop-color ="#fdf4dc "/> < stop offset ="100% " stop-color ="#f5e8c8 "/> </ linearGradient > < linearGradient id ="sSide " x1 ="0 " y1 ="0 " x2 ="1 " y2 =".7 "> < stop offset ="0% " stop-color ="#ecdcc0 "/> < stop offset ="100% " stop-color ="#dcc8a4 "/> </ linearGradient > </ defs > < path d ="M15.3 4.6 L6.4 9.6 L16.3 16 L26.2 10.5Z " fill ="url(#sTop) "/> < path d ="M6.4 9.6 L6.1 21.1 L17.2 27.2 L16.3 16Z " fill ="url(#sFront) "/> < path d ="M16.3 16 L17.2 27.2 L25.9 22.3 L26.2 10.5Z " fill ="url(#sSide) "/> < path d ="M15.3 4.6 L6.4 9.6 L6.1 21.1 L17.2 27.2 L25.9 22.3 L26.2 10.5Z " stroke ="#1a1520 " stroke-width =".6 " stroke-linejoin ="round " fill ="none "/> < rect x ="7.8 " y ="14.2 " width ="2.6 " height ="3.3 " rx =".3 " fill ="#1a1520 "/> < rect x ="9.2 " y ="14.5 " width =".9 " height ="1.2 " rx =".2 " fill ="white " opacity =".9 "/> < rect x ="13.1 " y ="16.5 " width ="2.6 " height ="3.8 " rx =".3 " fill ="#1a1520 "/> < rect x ="14.5 " y ="16.9 " width =".9 " height ="1.3 " rx =".2 " fill ="white " opacity =".9 "/> < path d ="M10.1 20.1 Q12 21.6 13.9 20.1 " stroke ="#1a1520 " stroke-width =".5 " fill ="none " stroke-linecap ="round " opacity =".45 "/> < ellipse cx ="8 " cy ="18.4 " rx ="1 " ry =".7 " fill ="#ffaaa2 " opacity =".5 "/> < ellipse cx ="15 " cy ="21.3 " rx ="1.1 " ry =".7 " fill ="#feaca5 " opacity =".5 "/> </ svg > < span class ="sidebar-brand "> < span class ="sidebar-brand-t "> T</ span > < span class ="sidebar-brand-o "> o</ span > < span class ="sidebar-brand-f "> f</ span > < span class ="sidebar-brand-u "> u</ span > </ span > </ h1 >
8586 < div style ="display:flex;gap:4px;align-items:center; ">
87+ < button class ="action-btn " id ="sidebarSearchToggle " onclick ="toggleSidebarSearch() " title ="搜索对话 ">
88+ < svg width ="15 " height ="15 " viewBox ="0 0 24 24 " fill ="none " stroke ="currentColor " stroke-width ="2.5 " stroke-linecap ="round "> < circle cx ="11 " cy ="11 " r ="7 "/> < line x1 ="16.5 " y1 ="16.5 " x2 ="21 " y2 ="21 "/> </ svg >
89+ </ button >
8690 < button class ="action-btn " onclick ="openDailyReport() " title ="My Day ">
8791 < svg width ="16 " height ="16 " viewBox ="0 0 24 24 " fill ="none " stroke ="currentColor " stroke-width ="2 " stroke-linecap ="round " stroke-linejoin ="round "> < path d ="M9 11l3 3L22 4 "/> < path d ="M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11 "/> </ svg >
8892 </ button >
@@ -94,20 +98,21 @@ <h1><svg class="sidebar-tofu-icon" width="22" height="22" viewBox="0 0 32 32" fi
9498 </ button >
9599 </ div >
96100 </ div >
97- < button class ="new-chat-btn " onclick ="newChat() ">
98- < svg width ="14 " height ="14 " viewBox ="0 0 24 24 " fill ="none " stroke ="currentColor " stroke-width ="2.5 "> < line x1 ="12 " y1 ="5 " x2 ="12 " y2 ="19 "/> < line x1 ="5 " y1 ="12 " x2 ="19 " y2 ="12 "/> </ svg >
99- New Chat
100- </ button >
101- < div class ="sidebar-search-wrapper ">
101+ < div class ="sidebar-action-row ">
102+ < button class ="new-chat-btn " onclick ="newChat() ">
103+ < svg width ="14 " height ="14 " viewBox ="0 0 24 24 " fill ="none " stroke ="currentColor " stroke-width ="2.5 "> < line x1 ="12 " y1 ="5 " x2 ="12 " y2 ="19 "/> < line x1 ="5 " y1 ="12 " x2 ="19 " y2 ="12 "/> </ svg >
104+ New Chat
105+ </ button >
106+ </ div >
107+ < div class ="sidebar-search-wrapper " id ="sidebarSearchWrapper " style ="display:none ">
102108 < div class ="sidebar-search-box ">
103109 < span class ="sidebar-search-icon "> < svg width ="14 " height ="14 " viewBox ="0 0 24 24 " fill ="none " stroke ="currentColor " stroke-width ="2.5 " stroke-linecap ="round "> < circle cx ="11 " cy ="11 " r ="7 "/> < line x1 ="16.5 " y1 ="16.5 " x2 ="21 " y2 ="21 "/> </ svg > </ span >
104110 < input type ="text " class ="sidebar-search-input " id ="sidebarSearchInput " placeholder ="Search conversations... " autocomplete ="off " spellcheck ="false ">
105- < button class ="sidebar-search-clear " id ="sidebarSearchClear " onclick ="clearSidebarSearch () "> < svg width ="14 " height ="14 " viewBox ="0 0 24 24 " fill ="none " stroke ="currentColor " stroke-width ="2.5 " stroke-linecap ="round "> < line x1 ="18 " y1 ="6 " x2 ="6 " y2 ="18 "/> < line x1 ="6 " y1 ="6 " x2 ="18 " y2 ="18 "/> </ svg > </ button >
111+ < button class ="sidebar-search-clear " id ="sidebarSearchClear " onclick ="closeSidebarSearch () "> < svg width ="14 " height ="14 " viewBox ="0 0 24 24 " fill ="none " stroke ="currentColor " stroke-width ="2.5 " stroke-linecap ="round "> < line x1 ="18 " y1 ="6 " x2 ="6 " y2 ="18 "/> < line x1 ="6 " y1 ="6 " x2 ="18 " y2 ="18 "/> </ svg > </ button >
106112 </ div >
107113 < div class ="sidebar-search-stats " id ="sidebarSearchStats "> </ div >
108114 </ div >
109- < div class ="conv-pinned-zone " id ="convPinnedZone "> </ div >
110- < div class ="conv-freeze-border " id ="convFreezeBorder "> < span class ="conv-freeze-border-dot "> </ span > </ div >
115+ < div class ="folder-tabs " id ="folderTabs "> </ div >
111116 < div class ="conversations-list " id ="convList "> </ div >
112117</ aside >
113118< main class ="main ">
@@ -549,6 +554,19 @@ <h3>设置</h3>
549554 < div id ="tradingRestartHint " class ="settings-hint-banner " style ="display:none; "> 需要重启服务器才能生效</ div >
550555 </ div >
551556
557+ < div class ="settings-group ">
558+ < div class ="settings-toggle-row ">
559+ < div >
560+ < span class ="settings-toggle-label "> 调试模式</ span >
561+ < div class ="settings-toggle-desc "> 显示 trace_id、复制会话 ID 按钮等开发调试信息</ div >
562+ </ div >
563+ < label class ="stg-toggle ">
564+ < input type ="checkbox " id ="settingDebugMode ">
565+ < span class ="stg-toggle-track "> < span class ="stg-toggle-thumb "> </ span > </ span >
566+ </ label >
567+ </ div >
568+ </ div >
569+
552570
553571 </ div >
554572
@@ -938,7 +956,7 @@ <h3>设置</h3>
938956 < div class ="mcp-install-modal-desc " id ="mcpInstallDesc "> </ div >
939957
940958 < a class ="mcp-app-repo " id ="mcpInstallRepo " href ="# " target ="_blank " rel ="noopener " style ="display:none ">
941- < svg width ="10 " height ="10 " viewBox ="0 0 16 16 " fill ="currentColor "> < path d ="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z "/> </ svg >
959+ < svg width ="9 " height ="9 " viewBox ="0 0 16 16 " fill ="currentColor "> < path d ="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z "/> </ svg >
942960 Source Repo
943961 </ a >
944962 </ div >
@@ -1394,23 +1412,23 @@ <h3>Apply Code to File</h3>
13941412</ div >
13951413
13961414<!-- html2canvas: lazy-loaded on first Export click (199KB, avoids DevTools freeze) -->
1397- < script defer src ="static/js/idb-cache.js?v=0.7.2 " onload ="_onScriptLoad() " onerror ="_onScriptError(event) "> </ script >
1398- < script defer src ="static/js/core.js?v=0.7.2 " onload ="_onScriptLoad() " onerror ="_onScriptError(event) "> </ script >
1399- < script defer src ="static/js/export-images.js?v=0.7.2 " onload ="_onScriptLoad() " onerror ="_onScriptError(event) "> </ script >
1400- < script defer src ="static/js/branch.js?v=0.7.2 " onload ="_onScriptLoad() " onerror ="_onScriptError(event) "> </ script >
1401- < script defer src ="static/js/ui.js?v=0.7.2 " onload ="_onScriptLoad() " onerror ="_onScriptError(event) "> </ script >
1415+ < script defer src ="static/js/idb-cache.js?v=0.7.3 " onload ="_onScriptLoad() " onerror ="_onScriptError(event) "> </ script >
1416+ < script defer src ="static/js/core.js?v=0.7.3 " onload ="_onScriptLoad() " onerror ="_onScriptError(event) "> </ script >
1417+ < script defer src ="static/js/export-images.js?v=0.7.3 " onload ="_onScriptLoad() " onerror ="_onScriptError(event) "> </ script >
1418+ < script defer src ="static/js/branch.js?v=0.7.3 " onload ="_onScriptLoad() " onerror ="_onScriptError(event) "> </ script >
1419+ < script defer src ="static/js/ui.js?v=0.7.3 " onload ="_onScriptLoad() " onerror ="_onScriptError(event) "> </ script >
14021420<!-- Feature modules (extracted from main.js) -->
1403- < script defer src ="static/js/log-clean.js?v=0.7.2 " onload ="_onScriptLoad() " onerror ="_onScriptError(event) "> </ script >
1404- < script defer src ="static/js/translation.js?v=0.7.2 " onload ="_onScriptLoad() " onerror ="_onScriptError(event) "> </ script >
1405- < script defer src ="static/js/upload.js?v=0.7.2 " onload ="_onScriptLoad() " onerror ="_onScriptError(event) "> </ script >
1406- < script defer src ="static/js/image-gen.js?v=0.7.2 " onload ="_onScriptLoad() " onerror ="_onScriptError(event) "> </ script >
1407- < script defer src ="static/js/project.js?v=0.7.2 " onload ="_onScriptLoad() " onerror ="_onScriptError(event) "> </ script >
1408- < script defer src ="static/js/memory.js?v=0.7.2 " onload ="_onScriptLoad() " onerror ="_onScriptError(event) "> </ script >
1409- < script defer src ="static/js/scheduler.js?v=0.7.2 " onload ="_onScriptLoad() " onerror ="_onScriptError(event) "> </ script >
1410- < script defer src ="static/js/timer.js?v=0.7.2 " onload ="_onScriptLoad() " onerror ="_onScriptError(event) "> </ script >
1411- < script defer src ="static/js/myday.js?v=0.7.2 " onload ="_onScriptLoad() " onerror ="_onScriptError(event) "> </ script >
1412- < script defer src ="static/js/settings.js?v=0.7.2 " onload ="_onScriptLoad() " onerror ="_onScriptError(event) "> </ script >
1413- < script defer src ="static/js/main.js?v=0.7.2 " onload ="_onScriptLoad() " onerror ="_onScriptError(event) "> </ script >
1421+ < script defer src ="static/js/log-clean.js?v=0.7.3 " onload ="_onScriptLoad() " onerror ="_onScriptError(event) "> </ script >
1422+ < script defer src ="static/js/translation.js?v=0.7.3 " onload ="_onScriptLoad() " onerror ="_onScriptError(event) "> </ script >
1423+ < script defer src ="static/js/upload.js?v=0.7.3 " onload ="_onScriptLoad() " onerror ="_onScriptError(event) "> </ script >
1424+ < script defer src ="static/js/image-gen.js?v=0.7.3 " onload ="_onScriptLoad() " onerror ="_onScriptError(event) "> </ script >
1425+ < script defer src ="static/js/project.js?v=0.7.3 " onload ="_onScriptLoad() " onerror ="_onScriptError(event) "> </ script >
1426+ < script defer src ="static/js/memory.js?v=0.7.3 " onload ="_onScriptLoad() " onerror ="_onScriptError(event) "> </ script >
1427+ < script defer src ="static/js/scheduler.js?v=0.7.3 " onload ="_onScriptLoad() " onerror ="_onScriptError(event) "> </ script >
1428+ < script defer src ="static/js/timer.js?v=0.7.3 " onload ="_onScriptLoad() " onerror ="_onScriptError(event) "> </ script >
1429+ < script defer src ="static/js/myday.js?v=0.7.3 " onload ="_onScriptLoad() " onerror ="_onScriptError(event) "> </ script >
1430+ < script defer src ="static/js/settings.js?v=0.7.3 " onload ="_onScriptLoad() " onerror ="_onScriptError(event) "> </ script >
1431+ < script defer src ="static/js/main.js?v=0.7.3 " onload ="_onScriptLoad() " onerror ="_onScriptError(event) "> </ script >
14141432< script >
14151433// Feature flags — show/hide optional modules
14161434var _featureFlags = { } ;
0 commit comments