app
Grok Bot
Public Made by Adomby adom
Grok Bridge lets Adom talk to Grok Bot. Adom's AI environment is for electrical engineers: any provider, any desktop power tool, one place.
← Commit history
Publish 1.3.8
3 files changed
+10−5
package.json+2−2@@ -1,6 +1,6 @@ { "slug": "grok-bridge",- "version": "1.3.7",+ "version": "1.3.8", "type": "app", "description": "Grok Bridge lets Adom talk to Grok Bot. Adom's AI environment is for electrical engineers: any provider (Claude, Codex, Grok, Gemini, \u2026), any desktop power tool, through Adom Bridge. grok_* open/close/resize/screenshot/record the app, read the thread, and create bots/channels via webhook.", "keywords": [@@ -144,5 +144,5 @@ "hero": { "path": "docs/hero.png" },- "changelog": "A hidden Grok Bot window that grok_open shows again now lands behind every other window, not just under the foreground app."+ "changelog": "Hidden Grok Bot window: chat verbs read it in place, grok_open no longer re-shows it on its own (showing takes focus), only with foreground and a reason." }
page.json+2−2@@ -4,7 +4,7 @@ "type": "app", "title": "Grok Bot", "brief": "Grok Bridge lets Adom talk to Grok Bot. Adom's AI environment is for electrical engineers: any provider, any desktop power tool, one place.",- "version": "1.3.7",+ "version": "1.3.8", "hero": { "type": "image", "path": "screenshots/hero.png"@@ -163,5 +163,5 @@ "dependencies": { "adom/adom-bridge": "^2.0.0" },- "changelog": "A hidden Grok Bot window that grok_open shows again now lands behind every other window, not just under the foreground app."+ "changelog": "Hidden Grok Bot window: chat verbs read it in place, grok_open no longer re-shows it on its own (showing takes focus), only with foreground and a reason." }
skills/grok-app-control/SKILL.md+6−1@@ -37,7 +37,12 @@ Windows open in the background. `openedInBackground` / `windowEtiquette:"backgro `success:true` on grok_open now means a process/window was observed (or alreadyOpen). Still screenshot after resize/close. -**Never a stray window.** Grok Bot also owns small windows titled "Grok Bot" (a 240x30 strip). Window picking skips anything under 400x300 and takes the largest. If the main window is hidden and only strays are visible, `grok_screenshot` and the chat verbs return `errorCode:"main_window_hidden"` (with `strayWindows`) instead of capturing a strip. `grok_open {}` then shows the remembered main window again behind the user's other windows (`shownHiddenMain:true`, no focus steal). When no hwnd is remembered, it says to use `grok_open {"restart":true,...}`.+**Never a stray window.** Grok Bot also owns small windows titled "Grok Bot" (a 240x30 strip). Window picking skips anything under 400x300 and takes the largest. When the main window is hidden (for example after `grok_close`):++- `grok_chat_read` / `grok_chat_status` still read it in place through its remembered hwnd (`mainWindowHidden:true`). Thread switching, the thread heading and the thinking chip need it shown, so those come back `null`.+- `grok_screenshot` returns `errorCode:"main_window_hidden"` instead of capturing a stray strip.+- `grok_open {}` reports `mainWindowHidden:true` and does NOT show it. Showing a hidden window activates it (takes focus), so it is a foreground action: `grok_open {"foreground":true,"foregroundReason":"<why the user needs to see it>"}`.+- With no hwnd remembered on the PC: `grok_open {"restart":true,"reason":"..."}`. **Readable page = launched by grok_open.** Every `grok_open` launch adds `--force-renderer-accessibility` plus Chromium's no-occlusion switches, so a window that opens in the background paints within seconds and its page shows up in UIA. When Grok Bot was started any other way (its own auto-update relaunch with `--updated`, or by the user), `grok_chat_read` / `grok_chat_status` return `no_transcript` with `launchedWithAccessibility:false`, even though the window looks fine. Fix: `grok_open {"restart":true,"reason":"<why>"}` relaunches it in the background with the switches (about 10 s to a readable page; bots run in Grok's cloud, so nothing is lost). The restart never touches Cursor.