Programmable Windows Browser
Script WebView2 browser workflows, connect MCP-capable AI tools, and run headed remote executors through Remote Ops. Browser actions stay inspectable, tool calls are logged, and secrets never leave your machine.
Guida combines a real browser, local project state, and AI-facing tools for practical automation workflows.
Use JavaScript, Lua, or Janet to navigate pages, click elements, extract content, and save results.
Connect MCP-capable tools so an AI can inspect tabs, request actions, and run scripts with oversight.
Enqueue URLs or records, run worker pools, and process items in parallel browser tabs.
Write to workspace storage, queues, search indexes, PostgreSQL, MongoDB, S3-compatible storage, or Elasticsearch.
Use domain controls, tool approval, audit logging, and secret isolation to keep automation inspectable.
Give coding assistants a visible browser surface for rendered-page checks, UI investigation, and evidence gathering alongside conventional test tools.
The app is visible, inspectable, and built around workflows you can review while they run.
Watch the demo Watch a two-screen desktop workflow where Codex uses Guida to inspect rendered career sites, compare page behavior, and capture findings. Guida is useful when a coding assistant needs a visible, approval-gated browser alongside Playwright or Puppeteer checks.
Review pending MCP requests with exact parameters before allowing browser actions to run.
Inspect pending work, dead-letter failures, payloads, worker state, and recovery actions in one console.
See what ran, what failed, what can be retried, and how queue work links back to durable ledger truth.
Script pages, connect AI tools, process queues, and keep sensitive actions inspectable.
Drive WebView2 browser tabs with scripts: navigate pages, click elements, fill forms, extract content, and capture screenshots.
Connect MCP-capable tools so AI agents can inspect tabs, request browser actions, and run scripts with your oversight.
Use Guida Complete for the full operator UI, Guida Node for headed remote execution, and Remote Ops as the JSON-RPC control plane. Remote Ops also lays the groundwork for future browser or desktop control surfaces.
JavaScript, Lua, and Janet with 160+ API methods, IntelliSense, debugging, and workspace-aware execution.
Persist data in workspace storage, queues, full-text search, PostgreSQL, MongoDB, S3-compatible storage, and Elasticsearch.
Create full workspace archives or smaller managed-state backups with consistent SQLite snapshots for queues and workflow ledger history.
Review AI-requested actions before they run, approve once or for the session, and restrict navigation to allowed domains.
MCP actions are logged, secrets are encrypted with DPAPI, and MCP-origin scripts cannot read decrypted secret values.
Start from workflows that ship with Guida, then adapt them to your own workspace.
Extract page content, save it to the workspace store, and index it for full-text search.
Add URLs to a workspace queue, dequeue each item, and commit completed work.
Send a prompt to the configured local LLM and optionally summarize the active page.
From connection to automation in three steps.
Point any MCP-compatible AI at Guida's server. Or use Ollama and LlamaSharp directly inside the app.
See exactly what the AI wants to do before it runs. Approve once, trust for the session, or let it fly - your call.
Reviewed scripts run unattended. Workspaces persist data. Queue workers process items in parallel.
Navigate, extract, and store data with a clean scripting API. Write scripts yourself, or let the AI generate them.
async function main() { try { await g.nav.navigateToUrl("https://example.com/products"); await g.dom.waitForDomStable(); // Extract name and price from every product card const products = await g.dom.getElements( ".product", ["innerText", "data-price"] ); // Store each product in the workspace for (const p of products) { g.store.put("products", p.innerText, p); } g.log("Stored " + products.length + " products"); } catch (e) { g.log("Error: " + e.message); } }
g.nav.navigateToUrl("https://example.com/products") g.dom.waitForDomStable() -- Extract name and price from every product card local products, err = g.dom.getElements( ".product", "innerText,data-price" ) if err then g.log("Error: " .. err) return end -- Store each product in the workspace for i, p in ipairs(products) do g.store.put("products", p.innerText, p) end g.log("Stored " .. #products .. " products")
(g.nav.navigateToUrl "https://example.com/products") (g.dom.waitForDomStable) # Extract name and price from every product card (def products (g.dom.getElements ".product" "innerText,data-price")) # Store each product in the workspace (each p products (g.store.put "products" (get p "innerText") p)) (g.log (string "Stored " (length products) " products"))
Download Guida, connect your AI, and start automating - with full visibility into every action.