@@ -73,6 +73,32 @@ function showEmptyState() {
7373 }
7474}
7575
76+ function showFirstRunWelcome ( ) {
77+ const messages = document . getElementById ( 'messages' ) ;
78+ if ( messages . children . length === 0 ) {
79+ messages . innerHTML = `
80+ <div class="empty-state welcome">
81+ <h1>Welcome to LocalGPT</h1>
82+ <p>This is your first session. I've set up a fresh workspace for you.</p>
83+ <h3>Quick Start</h3>
84+ <ol>
85+ <li><strong>Just chat</strong> - I'm ready to help with coding, writing, research, or anything else</li>
86+ <li><strong>Your memory files</strong> are in the workspace:
87+ <ul>
88+ <li><code>MEMORY.md</code> - I'll remember important things here</li>
89+ <li><code>SOUL.md</code> - Customize my personality and behavior</li>
90+ <li><code>HEARTBEAT.md</code> - Tasks for autonomous mode</li>
91+ </ul>
92+ </li>
93+ </ol>
94+ <h3>Tell Me About Yourself</h3>
95+ <p>What's your name? What kind of projects do you work on? Any preferences for how I should communicate?</p>
96+ <p><em>I'll save what I learn to MEMORY.md so I remember it next time.</em></p>
97+ </div>
98+ ` ;
99+ }
100+ }
101+
76102function clearEmptyState ( ) {
77103 const emptyState = document . querySelector ( '.empty-state' ) ;
78104 if ( emptyState ) {
@@ -440,6 +466,11 @@ async function loadStatus() {
440466 const heartbeat = await heartbeatRes . json ( ) ;
441467
442468 updateStatusPanel ( status , heartbeat ) ;
469+
470+ // Show detailed welcome message on first run
471+ if ( status . is_brand_new ) {
472+ showFirstRunWelcome ( ) ;
473+ }
443474 } catch ( err ) {
444475 console . error ( 'Failed to load status:' , err ) ;
445476 }
0 commit comments