Steel now ships as a browser plugin for Hermes Agent
Steel now ships as a browser plugin for Hermes Agent
Steel now ships as a browser plugin for Hermes Agent
/
/
San Francisco
San Francisco
/
/

Nikola Balic
Nikola Balic

Hermes, Nous Research's open-source personal AI agent, can now run web tasks through Steel browser. The standalone plugin routes Hermes' existing browser tools through a cloud browser and adds live session viewing and page extraction. Hermes can take on trickier parts of the web, while you watch what it sees.
Back in April, we wired Steel into Hermes and sent it through Google Travel and Booking.com. Hermes found a hotel, gave us a live view of the session, and built a skill from the run. Trying it yourself meant running our Hermes branch.
Hermes now has a plugin interface for browser providers. We moved the integration into its own repo and released it for Hermes 0.18.0 and newer.
You need:
Hermes 0.18.0 or newer
A Steel API key. The free plan is enough to start.
hermes plugins install steel-dev/hermes-steel --enable hermes config set
hermes plugins install steel-dev/hermes-steel --enable hermes config set
The installer asks for your API key. The config command selects Steel; without it, Hermes keeps using local Chromium.
Then give Hermes a task:
Navigate to news.ycombinator.com, summarize the front page, and give me the live session URL
Navigate to news.ycombinator.com, summarize the front page, and give me the live session URL
The first browser result includes a link like https://app.steel.dev/sessions/<id>. Open it and you can see the page the agent sees, which is usually where the answer is when a run gets weird.
How Hermes browser calls reach Steel
Instead of teaching Hermes a second browser toolset, the plugin swaps the provider beneath the tools it already knows.
On the first browser call, SteelBrowserProvider creates a Steel session and returns its Chrome DevTools Protocol (CDP) WebSocket URL. Hermes' existing browser stack connects to that URL, so browser_navigate, browser_click, browser_screenshot, and the rest of the agent loop do not need Steel-specific versions.
The result hook adds the backend name and live-viewer URL to the first successful browser response. Hermes can pass both back to you instead of making you dig through logs or the Steel dashboard.
Read a page without opening a browser
Not every page needs a browser. steel_scrape calls Steel's scrape API directly and returns markdown, HTML, readability output, or cleaned HTML. It avoids starting a browser when Hermes only needs to read.
Anything that clicks, types, or submits still uses the browser tools. steel_scrape is for one-shot extraction, such as reading a list of documentation pages before Hermes writes a summary.
Session options and timeouts
For interactive pages, Hermes stays in the browser. If a site blocks the session or asks for verification, Hermes can call steel_session_options, enable a residential proxy or CAPTCHA solving, and try again. These options are set when the browser starts, so changing either one closes the current session and the next browser call creates a new one.
Sessions get a 30-minute cap by default. A separate 10-minute inactivity timeout catches sessions left behind when a Hermes process disappears.
Why it lives in its own repo
We took two runs at adding Steel to Hermes itself. PR #5555 proved out the provider. By PR #21182, Hermes had a proper interface for browser-provider plugins, so we rebuilt on that.
We moved the code into its own repo and cut v1.0.0 against that interface.
The separate package now tests against Hermes' real plugin loader and the live Steel API without adding Steel-specific code to their repo.
A few edges
Residential proxies and CAPTCHA solving are off by default. They require a verified Steel Launch account: add at least $10 in paid balance to verify the account, and that balance goes toward usage. If either feature is unavailable, the session still starts and Hermes tells you what was dropped.
The plugin also supports self-hosted Steel through STEEL_BASE_URL. An API key is optional for a custom endpoint, and the plugin sends no credentials when one is not configured.
Try it
Install the Steel plugin for Hermes and run the example above.
Humans use Chrome. Agents use Steel.
Hermes, Nous Research's open-source personal AI agent, can now run web tasks through Steel browser. The standalone plugin routes Hermes' existing browser tools through a cloud browser and adds live session viewing and page extraction. Hermes can take on trickier parts of the web, while you watch what it sees.
Back in April, we wired Steel into Hermes and sent it through Google Travel and Booking.com. Hermes found a hotel, gave us a live view of the session, and built a skill from the run. Trying it yourself meant running our Hermes branch.
Hermes now has a plugin interface for browser providers. We moved the integration into its own repo and released it for Hermes 0.18.0 and newer.
You need:
Hermes 0.18.0 or newer
A Steel API key. The free plan is enough to start.
hermes plugins install steel-dev/hermes-steel --enable hermes config set
The installer asks for your API key. The config command selects Steel; without it, Hermes keeps using local Chromium.
Then give Hermes a task:
Navigate to news.ycombinator.com, summarize the front page, and give me the live session URL
The first browser result includes a link like https://app.steel.dev/sessions/<id>. Open it and you can see the page the agent sees, which is usually where the answer is when a run gets weird.
How Hermes browser calls reach Steel
Instead of teaching Hermes a second browser toolset, the plugin swaps the provider beneath the tools it already knows.
On the first browser call, SteelBrowserProvider creates a Steel session and returns its Chrome DevTools Protocol (CDP) WebSocket URL. Hermes' existing browser stack connects to that URL, so browser_navigate, browser_click, browser_screenshot, and the rest of the agent loop do not need Steel-specific versions.
The result hook adds the backend name and live-viewer URL to the first successful browser response. Hermes can pass both back to you instead of making you dig through logs or the Steel dashboard.
Read a page without opening a browser
Not every page needs a browser. steel_scrape calls Steel's scrape API directly and returns markdown, HTML, readability output, or cleaned HTML. It avoids starting a browser when Hermes only needs to read.
Anything that clicks, types, or submits still uses the browser tools. steel_scrape is for one-shot extraction, such as reading a list of documentation pages before Hermes writes a summary.
Session options and timeouts
For interactive pages, Hermes stays in the browser. If a site blocks the session or asks for verification, Hermes can call steel_session_options, enable a residential proxy or CAPTCHA solving, and try again. These options are set when the browser starts, so changing either one closes the current session and the next browser call creates a new one.
Sessions get a 30-minute cap by default. A separate 10-minute inactivity timeout catches sessions left behind when a Hermes process disappears.
Why it lives in its own repo
We took two runs at adding Steel to Hermes itself. PR #5555 proved out the provider. By PR #21182, Hermes had a proper interface for browser-provider plugins, so we rebuilt on that.
We moved the code into its own repo and cut v1.0.0 against that interface.
The separate package now tests against Hermes' real plugin loader and the live Steel API without adding Steel-specific code to their repo.
A few edges
Residential proxies and CAPTCHA solving are off by default. They require a verified Steel Launch account: add at least $10 in paid balance to verify the account, and that balance goes toward usage. If either feature is unavailable, the session still starts and Hermes tells you what was dropped.
The plugin also supports self-hosted Steel through STEEL_BASE_URL. An API key is optional for a custom endpoint, and the plugin sends no credentials when one is not configured.
Try it
Install the Steel plugin for Hermes and run the example above.
Humans use Chrome. Agents use Steel.
Hermes, Nous Research's open-source personal AI agent, can now run web tasks through Steel browser. The standalone plugin routes Hermes' existing browser tools through a cloud browser and adds live session viewing and page extraction. Hermes can take on trickier parts of the web, while you watch what it sees.
Back in April, we wired Steel into Hermes and sent it through Google Travel and Booking.com. Hermes found a hotel, gave us a live view of the session, and built a skill from the run. Trying it yourself meant running our Hermes branch.
Hermes now has a plugin interface for browser providers. We moved the integration into its own repo and released it for Hermes 0.18.0 and newer.
You need:
Hermes 0.18.0 or newer
A Steel API key. The free plan is enough to start.
hermes plugins install steel-dev/hermes-steel --enable hermes config set
The installer asks for your API key. The config command selects Steel; without it, Hermes keeps using local Chromium.
Then give Hermes a task:
Navigate to news.ycombinator.com, summarize the front page, and give me the live session URL
The first browser result includes a link like https://app.steel.dev/sessions/<id>. Open it and you can see the page the agent sees, which is usually where the answer is when a run gets weird.
How Hermes browser calls reach Steel
Instead of teaching Hermes a second browser toolset, the plugin swaps the provider beneath the tools it already knows.
On the first browser call, SteelBrowserProvider creates a Steel session and returns its Chrome DevTools Protocol (CDP) WebSocket URL. Hermes' existing browser stack connects to that URL, so browser_navigate, browser_click, browser_screenshot, and the rest of the agent loop do not need Steel-specific versions.
The result hook adds the backend name and live-viewer URL to the first successful browser response. Hermes can pass both back to you instead of making you dig through logs or the Steel dashboard.
Read a page without opening a browser
Not every page needs a browser. steel_scrape calls Steel's scrape API directly and returns markdown, HTML, readability output, or cleaned HTML. It avoids starting a browser when Hermes only needs to read.
Anything that clicks, types, or submits still uses the browser tools. steel_scrape is for one-shot extraction, such as reading a list of documentation pages before Hermes writes a summary.
Session options and timeouts
For interactive pages, Hermes stays in the browser. If a site blocks the session or asks for verification, Hermes can call steel_session_options, enable a residential proxy or CAPTCHA solving, and try again. These options are set when the browser starts, so changing either one closes the current session and the next browser call creates a new one.
Sessions get a 30-minute cap by default. A separate 10-minute inactivity timeout catches sessions left behind when a Hermes process disappears.
Why it lives in its own repo
We took two runs at adding Steel to Hermes itself. PR #5555 proved out the provider. By PR #21182, Hermes had a proper interface for browser-provider plugins, so we rebuilt on that.
We moved the code into its own repo and cut v1.0.0 against that interface.
The separate package now tests against Hermes' real plugin loader and the live Steel API without adding Steel-specific code to their repo.
A few edges
Residential proxies and CAPTCHA solving are off by default. They require a verified Steel Launch account: add at least $10 in paid balance to verify the account, and that balance goes toward usage. If either feature is unavailable, the session still starts and Hermes tells you what was dropped.
The plugin also supports self-hosted Steel through STEEL_BASE_URL. An API key is optional for a custom endpoint, and the plugin sends no credentials when one is not configured.
Try it
Install the Steel plugin for Hermes and run the example above.
Humans use Chrome. Agents use Steel.
All Systems Operational

