Skip to content

Commit d82b663

Browse files
committed
feat(computer): add LifeOS community plugin installation to Electron demo
1 parent 2b1661a commit d82b663

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

computer/electron-demo/demo.ts

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)