@aehyok: 太强了!Hermes Agent 的浏览器扩展来了 结合这篇文章的思路使用,完全告别刷 X 焦虑 现在 Hermes 直接住在每个网页的侧边栏: - 任意页面实时聊天 - 一键切换 Grok / GPT / Claude / Opus /…
摘要
Hermes Agent 的非官方浏览器扩展发布,允许用户在任意网页侧边栏中与 Hermes 实时聊天,支持 Grok/GPT/Claude 等多种模型切换,视觉分析和截图,连接本地或远程 Gateway,属于社区开源的增强工具。
查看缓存全文
缓存时间: 2026/06/27 07:52
太强了!Hermes Agent 的浏览器扩展来了
结合这篇文章的思路使用,完全告别刷 X 焦虑
现在 Hermes 直接住在每个网页的侧边栏:
- 任意页面实时聊天
- 一键切换 Grok / GPT / Claude / Opus / 本地模型
- 支持视觉分析 + 截图
- 连接本地或远程 Gateway
非官方开源,但社区真爱!浏览器体验直接起飞~
github: https://github.com/abundantbeing/hermes-browser-extension…
abundantbeing/hermes-browser-extension
Source: https://github.com/abundantbeing/hermes-browser-extension
Hermes Browser Extension
Browser-native side panel for Hermes Agent — connect active web context to your local or remote Hermes runtime.
Created by Jon Komet (
@abundantbeing). Community extension for Hermes Agent by Nous Research.
Public alpha · Load unpacked · Local/remote Hermes API · Read-only browser context
Not on the Chrome Web Store yet.
What it is
Hermes Browser Extension is not a browser chatbot. It is a Chrome/Edge/Chromium side panel for the real Hermes Agent runtime. It talks to your Hermes Gateway/API server — local by default, remote when you configure a reachable URL — so it can use the models, tools, skills, sessions, memory, and MCP servers already configured in Hermes.
This repo is specifically for the Hermes Browser Extension: the Chrome/Edge/Chromium side-panel integration for Hermes Agent.
Visual tour
| Side panel | Theme settings | Local agents |
|---|---|---|
![]() | ![]() | ![]() |
Highlights
- Chrome/Edge/Chromium MV3 side panel powered by the Side Panel API.
- Connects to a configurable local or remote Hermes API server. Default:
http://127.0.0.1:8642. - Supports dashboard WebSocket mode when you have a signed-in remote Hermes dashboard tab and no API key.
- Auto-syncs connected Hermes providers/models, profiles, skills, sessions, and capabilities.
- Shows a Hermes compatibility panel so older gateways degrade into explicit fallback/manual modes instead of broken route errors.
- Sends active tab/browser context into a persisted Hermes session.
- Adds a collapsible “What Hermes saw” receipt after each sent turn for transparent context/debugging.
- Captures active tab title/URL, open tabs, selected text, readable page text, metadata, headings, forms, links, and buttons where available.
- Supports voice dictation through Hermes audio transcription when available, with Browser speech fallback when the connected runtime does not expose STT.
- Wraps webpage text as untrusted context before sending it to Hermes.
- Streams Hermes responses and falls back to non-streaming chat when needed.
- Includes Desktop-style appearance settings: Light/Dark/System mode plus Nous, Midnight, Ember, Mono, Cyberpunk, and Slate themes.
- Includes a localhost agent picker for switching between trusted local Hermes API gateway ports.
- No
debugger,nativeMessaging, click/type/form-submit, cookies, history, bookmarks, downloads, or browser-control permissions in v0.1.
Requirements
- Hermes Agent installed and working.
- Hermes Gateway/API server enabled locally or on a reachable remote machine.
- Node.js 20+.
- Chrome, Edge, Brave, Comet, or another Chromium browser with Side Panel API support (Chrome 114+ baseline).
Quick start
1. Clone and build
git clone https://github.com/abundantbeing/hermes-browser-extension.git
cd hermes-browser-extension
npm install
npm run build
The loadable extension is generated at:
dist/
2. Load unpacked in Chrome/Edge
- Open
chrome://extensionsoredge://extensions. - Enable Developer mode.
- Click Load unpacked.
- Select this repo’s
dist/folder — not the repo root and notextension/. - Pin/click the Hermes extension icon to open the side panel.
After code updates, run npm run build again and click Reload on the Hermes Browser Extension card in the browser extensions page.
Connect to Hermes
Local API server
Local-only is the safest default. Put this in ~/.hermes/.env on the machine running Hermes:
API_SERVER_ENABLED=true
API_SERVER_HOST=127.0.0.1
API_SERVER_PORT=8642
API_SERVER_KEY=<your-api-server-key>
API_SERVER_CORS_ORIGINS=chrome-extension://<your-extension-id>
Start or restart the gateway:
hermes gateway run
Verify the API server:
HERMES_GATEWAY_URL=http://127.0.0.1:8642
HERMES_API_TOKEN='<your-api-server-key-or-browser-token>'
curl "$HERMES_GATEWAY_URL/health"
curl -H "Authorization: Bearer $HERMES_API_TOKEN" "$HERMES_GATEWAY_URL/v1/models"
Then in the extension side panel:
- Click Connect to Hermes and approve locally if your Hermes Desktop/gateway supports the approval flow.
- If approval is not available yet, click Manual setup.
- Choose Local gateway.
- Use Gateway URL
http://127.0.0.1:8642. - Paste your scoped browser token or
API_SERVER_KEY. - Click Test connection, then Save settings.
- Open a normal
https://page and ask:Summarize this page in one sentence.
Remote API server
For a remote Hermes machine, bind the API server to a reachable trusted interface and keep CORS narrow:
API_SERVER_ENABLED=true
API_SERVER_HOST=0.0.0.0
API_SERVER_PORT=8642
API_SERVER_KEY=<your-api-server-key>
API_SERVER_CORS_ORIGINS=chrome-extension://<your-extension-id>
Use Tailscale/VPN/reverse proxy + HTTPS where possible. Do not expose the Hermes API server naked to the public internet. The Hermes API server can access the real Hermes runtime and tools.
Remote dashboard mode, no API server
If you run Hermes elsewhere and only expose the OAuth-gated dashboard, select Remote, enter the dashboard’s https:// URL, and leave the API key blank. With no key, the extension connects over the dashboard’s /api/ws socket instead of the REST API server.
Auth uses a single-use WebSocket ticket minted from a signed-in dashboard tab:
- Open the dashboard URL in a normal browser tab and sign in, and keep that tab around.
- The extension mints the ticket first-party from that tab, then opens the socket.
- Test connection opens the socket and loads models, which confirms the whole path.
Limitations in this mode: image attachments are inline-only, and the skills/profiles lists are unavailable because those are REST-only and the dashboard’s REST surface is not reachable cross-origin.
What syncs after connection
After connection, the side panel loads from the connected Hermes gateway:
/v1/models— all providers/models Hermes can enumerate, including provider-qualified IDs./api/sessions— recent Hermes sessions grouped by source./v1/skills— slash-command skill suggestions in the composer./v1/profiles— profile picker when the gateway exposes profile metadata./v1/capabilities— feature flags such as audio transcription and Browser upload support.
The DOM/context chip should show a non-zero page-context count on normal readable pages. Browser internal pages such as chrome://extensions are intentionally restricted.
Install with Hermes / Computer Use
You can ask Hermes to help install it:
Install Hermes Browser Extension from https://github.com/abundantbeing/hermes-browser-extension. Clone it, run npm install, run npm run build, then use computer use to open chrome://extensions, enable Developer mode, load the dist folder unpacked, and help me connect it to my local or remote Hermes Gateway API server. Do not reveal, print, screenshot, or commit my API key.
Security model
Hermes Browser Extension is intentionally conservative in v0.1:
- Local API server by default; remote API server support requires an explicit URL, token, and CORS allowlist.
- Strong bearer/API key required for API access.
- Page content is wrapped as untrusted context before it reaches Hermes.
- Read-only browser context capture: no click, type, form-submit, checkout, download, or browser-control behavior.
- No
debugger,nativeMessaging,cookies,history,downloads, orbookmarkspermissions. - Restricted pages include browser internals, extension pages, and obvious banking/crypto/password/payment/health/government-tax categories.
See SECURITY.md, PERMISSIONS.md, DATA-FLOW.md, and PRIVACY.md for details.
Troubleshooting
I loaded the extension but nothing works
Make sure you loaded dist/, not the repo root. The selected folder must contain manifest.json directly.
The side panel says it cannot connect
Check that Hermes Gateway/API server is running and reachable from the browser:
curl http://127.0.0.1:8642/health
# or, for remote mode:
curl http://<trusted-remote-host>:8642/health
If /v1/models fails, check API_SERVER_KEY, the extension’s stored API key/browser token, and API_SERVER_CORS_ORIGINS. For remote mode, the browser extension origin (chrome-extension://<id>) must be allowlisted on the Hermes machine.
The DOM chip says 0 chars
Open a normal https:// page and refresh context. Browser internal pages (chrome://, edge://, extension pages, devtools, etc.) are restricted by design.
Microphone says blocked or voice dictation does not start
Chromium side panels can suppress microphone permission prompts. Hermes Browser Extension handles this with capability-gated voice modes:
- Hermes STT when the connected Hermes runtime advertises audio transcription.
- Browser speech fallback when Hermes STT is unavailable and Chromium exposes Web Speech.
- A visible Hermes Voice Dictation tab when the side panel cannot capture the mic directly.
Suggested flow:
- Click the mic button in the side panel.
- If the side panel cannot capture the mic, a Hermes Voice Dictation tab opens.
- In that tab, click Start dictation. This click is the permission gesture Chromium expects.
- Speak, then click Stop + transcribe or Stop speech depending on the active mode.
- The transcript is sent back to the side panel composer automatically.
If Chromium still says the mic is blocked, click Open microphone settings in the voice tab and set Microphone to Allow for chrome-extension://<the Hermes extension id>/, then return to the voice tab and try again.
The first-run Connect flow is unavailable
Use Manual setup with your local/remote Gateway URL and API key. The native Desktop approval flow is still evolving during alpha.
GitHub PR/Issue auto-review
This repo includes two Hermes review runners:
npm run review:watch— local poller for open PRs/issues. This works now from a machine that can reach Hermes and is authenticated withgh.npm run review:event— GitHub-event runner for future GitHub Actions/webhook wiring. It expectsGITHUB_EVENT_NAME,GITHUB_EVENT_PATH, andGITHUB_REPOSITORY.
The local poller checks open PRs and issues, computes a stable signature from PR head SHA or issue title/body, and only reviews changed targets. It upserts one bot comment per PR/issue with a stable marker. PR diffs and issue bodies are treated as untrusted input.
Local setup:
# Uses gh auth token, local API_SERVER_KEY from ~/.hermes/.env,
# and http://127.0.0.1:8642 by default.
npm run review:watch
Optional overrides:
HERMES_REVIEW_REPO=abundantbeing/hermes-browser-extension
HERMES_REVIEW_GATEWAY_URL=http://127.0.0.1:8642
HERMES_REVIEW_API_KEY=<api-server-key-or-scoped-token>
HERMES_REVIEW_MAX_TARGETS=3
HERMES_REVIEW_STATE_FILE=~/.hermes/hermes-browser-review-state.json
For a GitHub-hosted Actions runner later, HERMES_REVIEW_GATEWAY_URL must be reachable from GitHub. A runner cannot reach http://127.0.0.1:8642 on your personal machine; use a remote Hermes API server behind Tailscale/VPN/HTTPS or a self-hosted GitHub runner on the same network. Pushing .github/workflows/* also requires a GitHub token with workflow scope.
Dry-runs:
npm run review:watch:dry-run
GITHUB_EVENT_NAME=pull_request_target \
GITHUB_EVENT_PATH=./event.json \
GITHUB_REPOSITORY=abundantbeing/hermes-browser-extension \
GITHUB_TOKEN=<github-token> \
npm run review:event:dry-run
Development
npm test
npm run check:js
npm run check:manifest
npm run verify
npm run build
npm run package
Project layout:
extension/
manifest.json MV3 extension manifest
background.js side panel behavior
content.js page context collector
sidepanel.html side panel UI
sidepanel.css side panel styling
sidepanel.js Hermes API client + UI state
voice-dictation.* visible extension voice recorder fallback for blocked side-panel mic capture
request-permissions.* visible extension mic-permission helper page
sidepanel-preview.html static visual QA preview
assets/ local Hermes fonts, icons, and imagery
lib/common.mjs shared prompt/context/security utilities
scripts/
build.mjs copies extension/ to dist/
check-manifest.mjs validates required manifest assets/permissions
hermes-review-github-event.mjs PR/issue event runner for GitHub Actions/webhooks
hermes-review-watch.mjs local PR/issue review poller
package.mjs creates artifacts/hermes-browser-extension.tar.gz
tests/
common.test.mjs utility behavior tests
Relationship to Hermes Agent
Hermes Agent is an open-source project by Nous Research. Hermes Browser Extension is a community extension by Jon Komet that connects to a local or remote Hermes API server. It is designed to live at the edge of the ecosystem without adding core tool-schema footprint.
Useful links:
- Hermes docs: https://hermes-agent.nousresearch.com/docs
- Hermes API server docs: https://hermes-agent.nousresearch.com/docs/user-guide/features/api-server
- Hermes upstream repo: https://github.com/NousResearch/hermes-agent
Author
Built by Jon Komet (@abundantbeing).
License
MIT. See LICENSE.
相似文章
@jonkomet: 用于Hermes代理的浏览器扩展 @NousResearch Hermes存在于每个标签页 - 任意页面的侧边栏聊天 - 切换模型:…
Hermes Browser Extension 是一个开源的Chrome/Edge侧边栏,连接到Hermes Agent运行时,能够在任何页面上实现AI聊天、模型切换和浏览器上下文捕获。
@GitTrend0x: Hermes 谁用谁舒服!超级应用研发! 强化 fork 版、阿里云记忆插件、Felo 营销技能包、Awesome 社区圣经、轻量 Web UI…… 全网程序员把 Hermes 玩成了下一代 Agent 深度 hack 神器 + 云端集体…
Hermes Agent及其生态工具集在开发者社区中引发关注,包括强化fork版、阿里云记忆插件、Felo技能包、社区圣经和轻量Web UI,展示了AI Agent的深度定制和云端协作能力。
@laogui: 目前用过最好用的 Hermes WebUI,把会话管理、工作区文件浏览、自动化任务、长期记忆、多 Profiles 等常用能力都搬进了浏览器。你在 TUI 和 Telegram 里的会话,也可以直接在 Web 里无缝续聊。 对我来说最爽的…
Hermes WebUI bundles session management, file browsing, automation, memory, and multi-profile support into a browser chat interface that syncs with TUI and Telegram sessions.
@VincentLogic: 发现个挺有意思的 AI 助手客户端! Hermes Agent,界面做得挺清爽的中文桌面应用。功能集成得挺全: - 对话、会话管理 - 多模型支持 - 技能、工具集成 - 定时任务、网关配置 从界面看能帮你:搜索网页、设置提醒、总结邮件、…
Hermes Agent 是一款基于 Electron 开发的跨平台 AI 助手桌面客户端,支持多模型切换、技能集成与定时任务等功能,旨在为用户提供统一的 AI 效率工作台。
@GitTrend0x: Hermes 起飞前的必备插件 皮书中文实战大全,优化指南全流程手册、Hermes HUD 可视化大脑、Scarf 原生 macOS GUI、Open Design 本地设计技能包……全网程序员把 Hermes 玩成了下一代 Agent …
总结了围绕 Hermes Agent 框架的多个社区插件和资源,包括中文实战指南、优化手册、可视化监控工具、原生 macOS GUI 和设计技能包,帮助用户从入门到高级优化。


