What you’ll learn
-
How to mount
Jido.Browser.Pluginon a plainJido.Agent - How to keep browser-enabled demos deterministic with a simulated adapter
- How to carry browser session context across a 3-turn walkthrough without refetching the first URL
- How to navigate a docs page, extract markdown, follow a link, and capture a screenshot
-
How to swap the simulated adapter for
Jido.Browser.Adapters.VibiumorJido.Browser.Adapters.Web - How to fall back safely to the simulated adapter until a live browser backend is installed
Deterministic site demo vs live browser flow
This page runs real Jido.Browser integration code against a local simulated adapter.
That keeps the example deterministic, testable, and browser-binary-free inside this repo.
No API keys or browser binaries are required for this site demo. When you move this pattern into your own project, the agent, plugin, and wrapper actions stay the same and only the adapter changes.
The agent shape is still the one you would use in your own project:
use Jido.Agent,
plugins: [{Jido.Browser.Plugin, %{adapter: MyApp.BrowserAdapter, headless: true}}]
Three-turn walkthrough
-
Open the plugin guide with
Jido.Browser.Actions.Navigate -
Extract markdown from the active page with
Jido.Browser.Actions.ExtractContentwithout refetching the URL -
Follow the testing guide link with
Jido.Browser.Actions.Clickwhile reusing the same browser session
The demo then captures a screenshot and lets you reset the session so you can replay the flow from a clean state.
Pull this into your own project
Add the GitHub dependency used by this site:
{:jido_browser, github: "agentjido/jido_browser", branch: "main"}
When you switch from the simulated adapter to a real browser backend in your own app, add the install step to your setup alias:
defp aliases do
[
setup: ["deps.get", "jido_browser.install --if-missing"]
]
end
Requirements and safe fallback
For a live browser backend in your own app, follow the jido_browser README and replace AgentJido.Demos.BrowserDocsScout.SimulatedAdapter with a real adapter:
-
Jido.Browser.Adapters.Vibium -
Jido.Browser.Adapters.Web
If your browser backend is not installed yet, keep the simulated adapter wired in dev/test so the workflow stays deterministic while you finish local setup.
Source layout
-
Agent module:
AgentJido.Demos.BrowserDocsScoutAgent -
Wrapper actions:
AgentJido.Demos.BrowserDocsScout.Actions.* -
Simulated adapter:
AgentJido.Demos.BrowserDocsScout.SimulatedAdapter -
Demo UI:
AgentJidoWeb.Examples.BrowserDocsScoutAgentLive