@@ -149,6 +149,55 @@ function launchApp(
149149 console . warn ( 'Content verification: text may not match expected value' ) ;
150150 }
151151
152+ // --- Install community plugin: LifeOS ---
153+ console . log ( 'Opening Obsidian settings...' ) ;
154+ await agent . aiAct ( 'press Ctrl+Comma to open Settings' ) ;
155+ await sleep ( 2000 ) ;
156+
157+ await agent . aiWaitFor ( 'Settings dialog is visible' , { timeoutMs : 15000 } ) ;
158+
159+ // Navigate to Community plugins
160+ await agent . aiAct (
161+ 'click "Community plugins" in the left sidebar of the settings dialog' ,
162+ ) ;
163+ await sleep ( 1500 ) ;
164+
165+ // Turn on community plugins if not enabled
166+ await agent . aiAct (
167+ 'If there is a "Turn on community plugins" button, click it. ' +
168+ 'If a confirmation dialog appears, click "Turn on" to confirm.' ,
169+ ) ;
170+ await sleep ( 1500 ) ;
171+
172+ // Open the plugin browser
173+ await agent . aiAct ( 'click "Browse" button to open the community plugin browser' ) ;
174+ await sleep ( 3000 ) ;
175+
176+ await agent . aiWaitFor (
177+ 'Community plugin browser / marketplace is visible with a search box' ,
178+ { timeoutMs : 20000 } ,
179+ ) ;
180+ console . log ( 'Community plugin browser is open' ) ;
181+
182+ // Search for LifeOS
183+ await agent . aiAct ( 'type "lifeos" in the search box' ) ;
184+ await sleep ( 3000 ) ;
185+
186+ // Click the LifeOS plugin from results
187+ await agent . aiAct ( 'click on the "LifeOS" plugin in the search results' ) ;
188+ await sleep ( 2000 ) ;
189+
190+ // Install the plugin
191+ await agent . aiAct ( 'click the "Install" button' ) ;
192+ await sleep ( 5000 ) ;
193+
194+ // Verify installation
195+ await agent . aiWaitFor (
196+ 'The "Install" button has changed to "Enable" or "Installed", indicating the plugin was installed' ,
197+ { timeoutMs : 30000 } ,
198+ ) ;
199+ console . log ( 'LifeOS plugin installed successfully!' ) ;
200+
152201 console . log ( 'Electron demo completed successfully!' ) ;
153202 } finally {
154203 if ( child . pid ) {
0 commit comments