Skip to content

Releases: abundantbeing/hermes-browser-extension

v0.2.0

Choose a tag to compare

@abundantbeing abundantbeing released this 21 Jul 21:09

Hermes Browser Extension v0.2.0 — Hermes Assist

Hermes Browser Extension v0.2.0 — Hermes Assist

Released July 21, 2026 · 26 commits since v0.1.11

Hermes now meets you where you write. v0.2.0 introduces Hermes Assist across the web, then hardens the model, context, session, connection, packaging, and full-view systems underneath it.

Hermes Browser Extension v0.2.0 is the first release built around Hermes Assist: a compact, site-aware drafting surface that appears beside supported text composers and routes every model-backed action through the connected Hermes Agent.

The release also includes every change shipped to main after v0.1.11 and the complete v0.2.0 release-candidate worktree: restored model discovery, stronger session continuity, real task progress, Browser Context Protocol v2, safer inline insertion, cleaner transcripts and copying, exact target packaging, and a substantial connection/runtime hardening pass.

No Hermes Agent repository changes are required for this release. Hermes Assist capability-gates exact model locking and falls back transparently to the connected gateway's default model when that contract is unavailable.

✨ Highlights

Hermes Assist across 31 writing environments

Hermes Assist recognizes GitHub, X, YouTube, Reddit, Facebook, ChatGPT, Grok, Claude, Perplexity, Gmail, Google Calendar, Google Chat, Proton Mail, LinkedIn, Slack, Discord, Microsoft Teams, Outlook, GitLab, Stack Overflow, Linear, Jira/Confluence, Notion, Google Docs, Threads, Bluesky, Mastodon, Substack, Medium, WhatsApp, and Telegram.

  • Site- and composer-aware primary actions such as Draft a reply, Draft a post, and Draft a message.
  • Useful surface-specific secondary actions without turning the panel into a generic command dump.
  • Explicit routing to the current Hermes session, a new Assist session, or a background session.
  • Review-first results: Hermes never sends, posts, submits, navigates, purchases, or otherwise operates the host page.
  • Safe plain-text fields can apply a reviewed draft after an explicit user action.
  • Framework-owned and higher-risk structured editors default to preview/copy.
  • Exact apply/undo binding prevents a stale result from replacing a field that changed while Hermes was working.
  • Duplicate request IDs cannot apply the same draft twice.
  • Keyboard and pointer containment prevent host-page shortcuts from reacting while the Assist panel is open.
  • Obstacle-aware launcher placement keeps Hermes Assist clear of native composer controls.
  • Canonical themed scrollbars, Light/Dark parity, and a compact on-brand settings surface.

Site-aware context with private-surface defaults

  • Per-site context controls and conservative defaults for private work, messaging, email, document, and AI-chat surfaces.
  • Private-site context remains empty until explicitly enabled.
  • Gmail thread capture is ask-first, visibility-filtered, bounded, and excludes field values.
  • X status capture targets the source post instead of the empty reply form; broad-feed capture remains suppressed.
  • Browser text, adapter metadata, page URLs, and selected elements are bounded and redacted before transport.
  • Secret-shaped drafts, sensitive fields, disabled controls, read-only fields, credentialed URLs, malformed URLs, and unsupported schemes fail closed.

Exact model choice with transparent fallback

  • The Hermes Assist model selector is restored and remains available in Settings.
  • Gateways that advertise session chat plus per-session model locking receive the exact selected provider/model and must acknowledge it.
  • A provider/model mismatch is rejected rather than silently running the wrong model.
  • Released gateways without exact session routing receive no unsupported override fields and use the gateway default model instead.
  • The result tells the user when fallback occurred and which routing path was used.
  • Reasoning controls preserve all seven levels: Minimal, Low, Medium, High, Extra High, Max, and Ultra.

Live provider catalogs and corrected context windows

  • Per-gateway model discovery remains the primary source for each connected user.
  • Canonical Hermes/Nous catalog enrichment fills authenticated provider gaps without replacing the user's gateway list.
  • Kimi K3, Laguna S 2.1, and Laguna XS 2.1 now appear when available.
  • Cached catalogs remain isolated by gateway and profile and survive a temporary public-catalog failure.
  • Provider-qualified identities are preserved across aliases and malformed catalog rows are discarded.
  • GPT-5.6 context metadata is provider-correct: OpenAI Codex OAuth variants show 272k, direct OpenAI variants retain 1.05M, and explicit runtime/catalog telemetry remains authoritative.

Browser Context Protocol v2

  • New typed hermes.browser.turn.v2 envelopes separate the user's instruction, browser data, and attachments.
  • Context is bound to owner, conversation, session, and turn identity.
  • Deterministic source and serialized budgets apply before transport.
  • Attachment-only turns use explicit placeholders while image data stays outside the JSON envelope.
  • Final redaction fails closed on cycles, unsupported values, secret-shaped content, and credential-bearing URLs.
  • Unchanged browser context can use bounded hash references before a fresh full snapshot is required.
  • The v1 prompt compatibility path and visible “What Hermes saw” receipts remain available.

Companion plugin isolation and local text tools

  • Owner/session/turn-scoped context storage with TTL, size limits, bounded retention, and consume-on-read isolation.
  • Durable session identity no longer leaks context across conversations or reconnects.
  • Added deterministic, standard-library text utilities that require no model call: formatting cleanup, bullet conversion, text statistics, and bounded diffs.
  • The optional companion remains read-only and supplemental: no browser control, network calls, or required dependency for normal extension use.

Real task progress in the side panel and Hermes Web

  • Hermes todo tool events now render as a live task stack on both Browser surfaces.
  • Task order, one active item, completed/pending/cancelled states, and progress percentage are normalized consistently.
  • Task state is isolated per Hermes session, bounded, and available in compact or expanded form.

Cleaner copying, transcripts, and completion

  • Copying part of a Hermes answer preserves semantic text, links, code, tables, and ordered-list numbering while stripping extension-only presentation markup.
  • Internal context wrappers no longer leak into visible transcripts.
  • Restored session history is preserved instead of being replaced by partial runtime data.
  • Only the local transcript cache is bounded; canonical gateway history remains intact.
  • Accepted sends to shared sessions are confirmed before local state advances.
  • Accepted stream failures recover from canonical history instead of replaying the turn.
  • assistant.completed, run.completed, and idle terminal events stop the busy state immediately, fixing the lingering Stop button when an HTTP stream stays open.
  • Final assistant media wins over raw deltas while generated-image runs remain active until media settles.

Connection and session reliability

  • Local, Hermes Cloud, and Remote readiness now share one staged controller: settings, gateway, capabilities, models, selected model, skills, profiles, sessions, and durable session binding.
  • The startup gate cannot report ready until the required binding succeeds.
  • Ticket transports remain Chat-only and skip unsupported REST-only surfaces explicitly.
  • Automatic API pairing is loopback-only; remote API connections require an explicit endpoint and token.
  • Non-loopback agent discovery is permanently credential-free, even when a probed service identifies itself as Hermes.
  • Remote dashboard conversations preserve their durable session identity across WebSocket replacement and resume through the fresh live connection.
  • Closed dashboard sockets surface a reconnecting state rather than a false ready state.

Side-panel and Hermes Web hardening since v0.1.11

  • Chrome 141+ requires a real sidePanel.onOpened confirmation, preventing Arc's hidden side-panel contexts from suppressing the fallback.
  • Silent side-panel failures reuse one extension-tab fallback instead of spawning duplicate tabs.
  • Failed tab-scoped panel opens receive one window-scoped retry.
  • Firefox keeps its sidebar path and popup fallback.
  • Startup/loading states, runtime controls, empty states, diagnostics, and connection feedback received a full polish pass.
  • Hermes Web model discovery fallbacks and full-tab runtime contracts were restored and hardened.
  • Full-tab handoff preserves safe session/browser-tab identity while fresh Hermes Web sessions carry no stale Browser identity.
  • Update status now distinguishes exact loaded-source state instead of loosely reporting “current.”
  • Ordered lists, session restoration, transcript continuity, provider switching, rich media, artifacts, skills, thinking indicators, and the Cyberpunk globe/visual tour were corrected or refined.

Release packaging and integrity

  • Source, package, Chromium manifest, Firefox manifest, lockfile, and companion-plugin versions are checked together.
  • Chromium and Firefox builds are produced as isolated target trees.
  • Packaging creates versioned target-specific archives, SHA256SUMS-v0.2.0.txt, and a machine-readable release manifest.
  • Build hashing passes source content through Git filters so generated metadata tracks the real packaged source.
  • Release-only ads, notes, and campaign artifacts remain outside the public source tree.

Security and privacy

...

Read more

v0.1.11

Choose a tag to compare

@abundantbeing abundantbeing released this 13 Jul 04:42

Hermes Browser Extension v0.1.11 — Hermes Web Alpha

Hermes Browser Extension v0.1.11 — Hermes Web Alpha

Hermes now has a full browser workspace.

v0.1.11 introduces Hermes Web Alpha alongside the side panel, with canonical Hermes sessions, rich conversation rendering, session-scoped runtime controls, generated media, accurate context telemetry, and the same tools, skills, attachments, and voice workflow you expect from Hermes.

Hermes Web Alpha currently runs over token-backed Local or Remote API connections. Hermes Cloud Preview and ticketed remote-dashboard transports remain Chat-only in the side panel; live full-view dashboard handoff is not shipped yet.

This is also the final broad hardening pass for the 0.1.x line: Local, Cloud Preview, and Remote connections are explicit; nine themes work across Light and Dark modes; Firefox gets a preview package; and credential-bearing URLs are omitted before browser context reaches Hermes.

Highlights

Hermes Web Alpha

  • Full-page browser-native Hermes workspace.
  • Canonical Hermes session rail and history.
  • User messages on the right; Hermes responses on the left.
  • Safe rich Markdown, code, tables, links, generated images, and artifacts.
  • Model, provider, reasoning effort, tools, skills, attachments, voice, steering, and stop controls.
  • Activity, context, compaction, payload, and diagnostics inspection.
  • Fresh Hermes Web drafts from the extension's full-view button.

Three connection modes

  • Local gateway — the default, offline-capable connection to Hermes on the same machine.
  • Hermes Cloud Preview — attaches a trusted, signed-in HTTPS Hermes Cloud agent tab with a one-use ticket and Chat-only browser context.
  • Remote gateway — connects to a self-hosted API or trusted remote dashboard through an explicit URL/token.

Connection migration, validation, settings copy, compatibility diagnostics, and dispatch behavior now follow the selected mode instead of relying on ambiguous legacy settings.

Nine complete themes

Every shipped theme supports Light and Dark modes across the side panel and Hermes Web:

  • Nous
  • Midnight
  • Ember
  • Mono
  • Cyberpunk
  • Slate
  • Senter Space
  • Aphrodite
  • Solstice

Cyberpunk Light includes its own dark-to-light green Hermes Web mark, while Nous Light remains the first-launch Hermes Web default.

Rich media and generated images

  • Diffusion-style generated-image reveal.
  • Full image lightbox.
  • Zoom, reset, open, and explicit download controls.
  • Better final-image completion and echoed-image cleanup.
  • Improved artifact discovery and attachment rendering.

Context you can trust

  • Accurate context-window usage and compaction telemetry.
  • Compact context chip with a detailed payload/telemetry popover.
  • Runtime accounting is session-gated and prefers authoritative persisted data.
  • Browser Context receipts show what Hermes saw.
  • Restricted and credential-bearing tab URLs are omitted across active, selected, open-tab, pinned-scope, prompt, receipt, and payload-hash surfaces.

Runtime and session integrity

  • Backend-acknowledged session model lock.
  • Model/provider/reasoning/skill choices stay scoped to the active browser session.
  • Canonical model catalog survives partial gateway updates.
  • Better side-panel ↔ Hermes Web session continuity.
  • Browser session source metadata and context persistence are preserved.
  • Duplicate browser-turn retries are prevented.

Browser and side-panel updates

  • Firefox preview build via npm run build:firefox.
  • Opera sidebar support.
  • Scoped element picker for explicit page-element context.
  • Updated side-panel header, Hermes Agent mark, icon layout, composer, runtime footer, and settings.
  • Refreshed public visual tour and compatibility documentation.

Privacy and security hardening

v0.1.11 adds one canonical decoded credential-URL policy shared by the Browser Context Protocol and legacy context path. It blocks common API keys, tokens, client secrets, private keys, credentials, signatures, and signed-URL fields even when parameter names are encoded or nested.

The extension remains read-only. It does not request debugger, native-messaging, cookie, history, bookmark, or browser-control permissions. The downloads permission is used only when the user explicitly saves a generated image or artifact.

Fixes

  • Browser context now survives OpenAI-style content arrays in the optional companion plugin.
  • Generated-image finalization no longer leaves incomplete/duplicated media states.
  • Session model and context state stay aligned across gateway refreshes.
  • Runtime options remain attached to the correct browser session.
  • Duplicate browser-turn retries are suppressed.
  • Element-picker icon styling matches the attachment menu.
  • Star-history URLs correctly encode repository paths and sealed tokens.
  • Remote auth and runtime failures produce clearer redacted diagnostics without misreporting gateway reachability.

Contributors

Thank you to the contributors who improved this release:

  • @bradlishman — contributed the scoped, read-only page element picker and safe browser-context integration incorporated from #29.
  • @barteqpl — contributed native Opera sidebar support and cross-browser panel-opening compatibility work incorporated from #30.
  • @Doom-pixel-alt — reported security issues that informed restricted-URL, Windows command-resolution, and setup-secret hardening incorporated from #33.
  • @iruzen-dono — fixed companion-plugin browser-context extraction for OpenAI-style content arrays in #36.
  • @HuntIntegrativeSolutions — reported the credential-bearing URL privacy gap and contributed the initial fix direction/regression coverage in #38 and #39. The final v0.1.11 integration expands that policy across decoded/nested parameters, signed URLs, pinned scope, prompts, receipts, and payload hashes.

Install / update

  1. Download and extract the Chromium release archive.
  2. Open chrome://extensions or edge://extensions.
  3. Enable Developer mode.
  4. Choose Load unpacked and select the extracted dist/ folder.
  5. If updating an existing unpacked copy, select the new folder and click Reload on the extension card.

Firefox users can load the preview package from dist/firefox/ through about:debuggingThis FirefoxLoad Temporary Add-on.

Compatibility

  • Primary: Chrome / Edge / Chromium 114+.
  • Best effort: Brave, Comet, and Chromium forks with the Side Panel API.
  • Preview: Firefox package.
  • Not shipped: Safari.
  • Hermes connection: Local gateway, trusted Hermes Cloud Preview tab, or explicit Remote gateway.
  • Hermes Web full view: token-backed Local/Remote API connections in this alpha; Cloud Preview and ticketed dashboard transports remain Chat-only in the side panel.

Verification

  • npm test: 385/385 passed.
  • JavaScript syntax checks: passed.
  • Manifest validation: Hermes Browser Extension 0.1.11.
  • ESLint: 0 errors; 11 existing warnings.
  • git diff --check: passed.
  • Chromium build and versioned release archive: passed.
  • Firefox preview build and versioned release archive: passed.
  • Exact archive manifests re-read as v0.1.11; no .env, .git, node_modules, internal plans, Hermes artifacts, or agent-context files found in either archive.
  • Five README product screenshots were render-checked visually.
  • SHA-256 checksums are included in SHA256SUMS-v0.1.11.txt.

Links

v0.1.10

Choose a tag to compare

@abundantbeing abundantbeing released this 07 Jul 14:15

Hermes Browser Extension v0.1.10 Release Notes

Release date: 2026-07-07

Hermes Browser Extension v0.1.10 is the supportability and integration bridge release: read-only Browser context stays the foundation, while Browser Context Protocol receipts, an optional companion plugin, truthful diagnostics, session control, and Browser-scoped model selection make the extension easier to operate and support.

Launch ad

Use the v0.1.10 launch ad asset:

Hermes Browser v0.1.10 update ad

What ships in v0.1.10

1. Companion Plugin MVP

The optional companion-plugin/ is now a functional, fail-soft Hermes plugin rather than a placeholder skeleton. It registers:

  • browser_context_status — check whether Browser context is cached.
  • browser_get_context — retrieve the sanitized current Browser context envelope.
  • browser_clear_context — clear the process-local cache.
  • browser_event_log — inspect bounded diagnostic events.
  • pre_llm_call and post_tool_call hooks.
  • A bundled hermes-browser skill.

The plugin remains supplemental. The extension still works through prompt-embedded Browser Context Protocol fallback when the plugin is absent. The plugin does not add browser control, API-server routes, network calls, nativeMessaging, debugger, or page-action channels.

2. Browser Context Protocol receipts + sanitized cache

v0.1.10 keeps Browser Context Protocol as the trust boundary for read-only context. The companion cache parses UNTRUSTED_BROWSER_CONTEXT_START / UNTRUSTED_BROWSER_CONTEXT_END blocks and stores safe metadata only:

  • protocol id and payload hash;
  • context scope;
  • active-tab origin rather than full private URL;
  • section availability/counts for page text, selected text, metadata, transcript, and tabs;
  • redaction count and truncation state;
  • bounded event diagnostics with secret-looking values redacted.

It deliberately avoids storing raw page text, selected text, full tab URLs, cookies, bearer tokens, API keys, prompt payloads, or browser-control state.

3. Truthful /meta quick command

/meta now ships with /metadata and /head aliases. It analyzes captured Browser context for page metadata and SEO/content signals, but it is intentionally truthful: it reports only what the extension actually captured and explicitly lists metadata classes that are unavailable from the current context.

This prevents the command from implying that the extension captured raw <head> HTML, Open Graph, Twitter Cards, JSON-LD, canonical, hreflang, robots, or favicon values unless those values are present in the supplied Browser context.

4. Copy Diagnostics and supportability hardening

Copy Diagnostics now better supports public support triage with redacted extension origin, browser family, build/version, gateway origin, connection state, capability flags, selected model/provider, context mode, extractor mode, and last visible error. It intentionally excludes API keys, bearer tokens, cookies, page text, selected text, full tab URLs, tab titles, and webpage content.

The Browser continues to distinguish a reachable gateway from upstream Hermes runtime/tool failures, so runtime tracebacks show as connected-with-warning diagnostics instead of making the entire extension look disconnected.

5. Session control

v0.1.10 adds compact Browser session controls for day-to-day work:

  • create/switch Browser sessions from the side panel;
  • copy the current session ID for debugging and handoff;
  • rename sessions through PATCH /api/sessions/{id};
  • keep session action buttons compact/on-brand;
  • group/label Browser sessions by source;
  • generate smarter first-message titles instead of leaving default Hermes Browser Extension labels everywhere.

6. Model Scope Lock

Browser model selection is now scoped to the extension rather than Hermes global defaults. v0.1.10 adds:

  • Browser-scoped preferred model storage;
  • per-session model/provider bindings;
  • new Browser sessions inheriting the last Browser-selected model;
  • existing sessions keeping their own model binding;
  • safeguards so switching Browser models does not mutate Hermes Desktop/global defaults.

7. UI guardrails and polish

The release includes UI supportability polish across the side panel:

  • loading skeletons;
  • context-meter warn/critical glow states;
  • tool activity fade-in;
  • command-menu stagger;
  • settings readability/text-size controls;
  • dock/model-picker layout guards;
  • Hermes scrollbar consistency in bottom-dock areas;
  • compact session menu actions.

Reduced-motion users keep the relevant animation guardrails.

8. Public docs and packaging

Public docs are updated for v0.1.10:

  • README.md;
  • CHANGELOG.md;
  • SECURITY.md;
  • PRIVACY.md;
  • PERMISSIONS.md;
  • DATA-FLOW.md;
  • companion-plugin/install.md.

Version surfaces prepared for v0.1.10:

  • package.json;
  • package-lock.json;
  • root manifest.json;
  • extension/manifest.json;
  • companion-plugin/plugin.yaml;
  • generated build-info.json / extension/build-info.json / dist/build-info.json after build;
  • generated dist/manifest.json and release archive after packaging.

PR and contributor citations

Incorporated into v0.1.10

Reviewed but deferred from v0.1.10

Release verification

Release-prep verification run on 2026-07-07:

npm run package
npm run verify
npm run lint
python -m py_compile companion-plugin/*.py

Results:

  • npm run package rebuilt dist/, stamped build metadata, and produced artifacts/hermes-browser-extension.tar.gz.
  • npm run verify passed: 203/203 tests, JS syntax checks, and scripts/check-manifest.mjs.
  • Manifest check reported Manifest OK: Hermes Browser Extension 0.1.10.
  • npm run lint completed with 0 errors and 8 pre-existing warnings in extension/sidepanel.js.
  • python -m py_compile companion-plugin/*.py completed successfully.

v0.1.9

Choose a tag to compare

@abundantbeing abundantbeing released this 05 Jul 22:43

Hermes Browser Extension v0.1.9 update ad

Hermes Browser Extension v0.1.9

Release Date: July 5, 2026
Since v0.1.8: 10 commits · 38 files changed · 3,311 insertions · 211 deletions · 181 tests passing

Support the run before expanding the run. v0.1.9 turns the Browser Extension into a more supportable public alpha: stable browser-context protocol helpers, redacted Copy Diagnostics, clearer compatibility rows, runtime/tool event naming, and a private fail-soft Companion Plugin skeleton.

This release includes everything new since v0.1.8, including the runtime/readiness/security hardening that landed after the v0.1.8 tag and the final v0.1.9 supportability layer.

Highlights

  • Browser Context Protocol v1 — browser context packaging now has a stable hermes.browser.context.v1 module with deterministic payload hashes, chat-only fallback prompts, and literal untrusted-context receipts. Existing prompt/hash/receipt call sites stay compatibility-preserving wrappers.

  • Copy Diagnostics for support — Settings now includes a Copy Diagnostics flow that produces a redacted support report with browser family, extension/build version, gateway origin, connection state, capability flags, selected model/provider, context mode, extractor mode, and last visible error.

  • Compatibility matrix + cleaner fallback language — README and side-panel compatibility rows now document Chrome/Edge/Chromium support, Chromium-fork best effort, Firefox/Safari preview status, local/remote Gateway modes, Browser Context Protocol support, private companion prototype status, and explicitly deferred control/Runs/debugger/nativeMessaging surfaces.

  • Stable runtime/tool event naming — current Hermes stream aliases normalize into stable Browser runtime event names for the Tool Activity Strip while browser-control-shaped events remain denied/disabled in the v0.1.9 surface.

  • Private Companion Plugin skeletoncompanion-plugin/ now contains a fail-soft private prototype with policy constants, protocol helpers, context store, tools, hooks, install notes, and skill docs. It intentionally does not register API-server routes, assume side-channel availability, or expose browser-control/page-action channels.

  • Runtime/readiness/security hardening since v0.1.8 — model/provider/reasoning controls, startup readiness checks, model discovery/session fixes, CI coverage, contributor credits, README visual restoration, and Issue #27 DOM/CSP hardening are included in this release.

What changed since v0.1.8

Runtime controls + readiness

  • Tightened Browser runtime controls so model/provider/reasoning choices stay closer to the actual runtime request path instead of acting like stale UI chrome.
  • Added readiness helpers and tests for startup gating, unconfigured/unreachable gateways, sparse model/capability data, and selected-model readiness.
  • Kept older or partial Hermes runtimes usable by degrading missing capability/model data into explicit fallback states instead of blocking the whole side panel.

Model discovery and contributor follow-through

  • Continued model-discovery hardening, including custom OpenAI-compatible model source discovery as discovery-only runtime data.
  • Added public contributor credits for:
    • rahlquist — custom model source discovery contribution.
    • KeyArgo — OpenAI-style SSE stream handling contribution.

CI + public hygiene

  • Added a GitHub workflow that runs verify/lint/build checks with read-only repository permissions.
  • Restored the README side-panel visual state after the v0.1.8 tag.
  • Kept public docs focused on user-facing install/support behavior instead of internal planning notes.

Issue #27 security hardening

  • Rendered session group labels with DOM text nodes instead of gateway-derived innerHTML interpolation.
  • Constrained extension-page image sources through CSP.
  • Added source/manifest regression guards for the label/CSP hardening path.

Browser Context Protocol

  • Added extension/lib/browser-context-protocol.mjs.
  • Added stable protocol id: hermes.browser.context.v1.
  • Added deterministic browser-context payload hashing.
  • Preserved chat-only prompt fallback behavior.
  • Added literal untrusted-data receipt rendering so UI text sinks do not treat page/gateway data as trusted markup.
  • Kept legacy wrappers in common.mjs and capabilities.mjs so existing flows still work.

Support diagnostics

  • Added extension/lib/support-diagnostics.mjs.
  • Added browser-family detection for Chrome, Edge, Opera, Firefox, Safari, and unknown browsers.
  • Added origin-only URL redaction for diagnostics.
  • Added Copy Diagnostics UI in Settings.
  • Redacted API keys, bearer tokens, cookies, page text, selected text, tab titles, and full tab URLs from the copied support block.

Capability + compatibility rows

  • Added explicit Browser capability flags for Browser Context Protocol, runtime events, tool events, support diagnostics, compatibility matrix, companion plugin, browser control, and action safety.
  • Extended compatibility rows with Browser Context Protocol, browser-context upload fallback, and optional Companion Plugin status.
  • Made support copy clear that browser control, Runs UI, debugger, and nativeMessaging are not part of v0.1.9.

Runtime/tool event naming

  • Added extension/lib/runtime-events.mjs.
  • Added stable names for run/tool event surfaces.
  • Normalized current Hermes tool-progress aliases into the Tool Activity Strip.
  • Classified browser-control-shaped events as denied/disabled for this release.

Companion Plugin private prototype

  • Added companion-plugin/plugin.yaml with private prototype status.
  • Added policy.py with browser control, API-server routes, and network side effects disabled.
  • Added protocol helpers, context store, events, tools, hooks, install notes, and skill docs.
  • Added tests to assert the skeleton exists and preserves the untrusted-context boundary.

Build/version/testing

  • Bumped source, package, root manifest, extension manifest, built dist/ manifest, and package lock to 0.1.9.
  • Added runtime-events and support-diagnostics to JS syntax/manifest checks.
  • Added tests for Browser Context Protocol, runtime event naming, support diagnostics redaction, capability rows, companion skeleton, readiness, and Issue #27 hardening.

Install / update

git clone https://github.com/abundantbeing/hermes-browser-extension
cd hermes-browser-extension
npm install
npm run build

Then open chrome://extensions / edge://extensions, enable Developer mode, click Load unpacked, and select the repo’s dist/ folder.

If Chromium still shows an older build after updating, click Reload on the extension card. If it still looks stale, remove the extension and load the fresh dist/ folder again.

Runtime compatibility

v0.1.9 keeps the public alpha conservative:

  • Chrome / Edge / Chromium 114+ are the primary support target.
  • Brave, Comet, and other Chromium forks are best-effort if they expose the Side Panel API and extension clipboard permissions.
  • Firefox and Safari are preview/status-only in this release; diagnostics can report browser family, but cross-browser builds are not shipped here.
  • Local Hermes API server remains the safest default: http://127.0.0.1:8642.
  • Remote API mode still requires an explicit trusted URL/token setup.
  • Remote dashboard WebSocket mode remains best-effort for chat/session/model paths.
  • Browser control, Runs UI, debugger, and nativeMessaging remain deferred.

Verification

  • npm run verify181/181 tests passing, JS syntax checks passing, manifest check passing.
  • npm run build — rebuilt unpacked dist/ and stamped build metadata.
  • npm run package — rebuilt the release archive.
  • npm run lint — no errors; existing warnings only.
  • git diff --check — clean before commit/push.
  • Secret-pattern scan — clean.
  • GitNexus change detection — intentional high/critical blast radius around central Browser runtime/support paths; local verification passed.
  • Build metadata: 0.1.9 at commit dff30dd7e18740368a8ad6aa62e795f63375a146, dirty: false.

Assets

  • hermes-browser-extension-v0.1.9.tar.gz
    • SHA256: fcca31a2362149d3fce0f2b03cf8fef75952099e46d102d43158cad01060baf9
  • hermes-browser-v0.1.9-update-ad.png
    • SHA256: 4b9d6ab670b7a6a71a4c34ddda070401e0406274cab8e6af05950acca0799791

v0.1.8

Choose a tag to compare

@abundantbeing abundantbeing released this 04 Jul 03:10

Hermes Browser Extension v0.1.8 update ad

Hermes Browser Extension v0.1.8

Release Date: July 4, 2026
Since v0.1.7: 11 commits · 31 files changed · 2,103 insertions · 220 deletions · 145 tests passing

Steer the run. Keep the tools. Know the meter. v0.1.8 makes Hermes Browser feel like a real Hermes client instead of a thin page-context chat box: active turns can be steered, tool calls render as live runtime activity, selected models and provider settings are actually carried into the request path, and the context meter now separates live context from cumulative token spend.

The important part: this stays full Hermes. Tools, skills, page context, tab selection, voice, local/remote gateways, dashboard pairing, and Desktop/TUI-style session behavior stay in the product. This release tightens the controls and telemetry around that power instead of stripping it down.

✨ Highlights

  • Active-run steering is now first-class — while Hermes is already working, text-only composer submit steers the active turn by default. Queue is explicit, Stop remains visible, and backend-queued steer text is restored to the draft instead of silently becoming the next prompt.

  • Runtime model routing is real — Browser sends the selected model, provider, reasoning controls, and fast/service-tier options with session chat. The API path now acknowledges the effective runtime so the UI can distinguish what was selected from what actually ran.

  • Context tracking no longer lies — the context bar uses runtime prompt/context values when Hermes reports them, falls back to the local estimate when it has to, and keeps cumulative token spend separate. Chat-only mode stays lean instead of looking like it is burning the whole window.

  • Live tool activity is readable — tool calls stream into a compact activity strip with tool names, statuses, timings, and sanitized previews instead of leaking raw tool markdown into assistant messages.

  • Model discovery is tougher — Refresh Models now walks the real discovery ladder: Hermes API catalog when available, dashboard model options when paired, and session-discovered models as a fallback. A one-row /v1/models response no longer wipes a deliberate model selection.

  • Fresh Browser sessions behave like Browser sessions — panel-open startup now creates a fresh Browser session by default, keeps transcript scope separate from browser context scope, and avoids accidental auto-resume confusion.

  • Chat-only and tab context are cleaner — Chat only disables browser context capture without switching sessions. Pinned-tab, selected-tab, and follow-active modes keep their own scope, and tab include/exclude controls preserve scroll position instead of fighting the panel.

  • Gateway failures are easier to understand — Hermes runtime/tool tracebacks show as connected-with-warning when the gateway is reachable. Missing routes, API-key issues, CORS/config problems, and upstream runtime failures get more specific diagnostics.

  • Composer and voice polish landed — Enter submits, Shift+Enter inserts a newline, busy composer controls stay compact, the mic hides while a run is active, voice dictation uses the Desktop-compatible transcription route, and sidepanel microphone-block cases fall back to a visible dictation tab.

  • Public alpha hardening — restricted URLs stay protected, obvious secrets are redacted before prompt assembly, remote API validation is stricter, manifest/version checks catch drift, and the package/build metadata now tracks the shipped commit.

Install / update

git clone https://github.com/abundantbeing/hermes-browser-extension
cd hermes-browser-extension
npm install
npm run build

Then open chrome://extensions / edge://extensions, enable Developer mode, click Load unpacked, and select the repo’s dist/ folder.

If Chromium still shows an older build after updating, click Reload on the extension card. If it still looks stale, remove the extension and load the fresh dist/ folder again.

Runtime compatibility

Hermes Browser can still fall back on older Hermes runtimes where possible, but the best v0.1.8 path expects a Hermes API server that exposes the current capabilities contract — especially session runtime reporting and run steering. The extension checks capabilities instead of blindly assuming every route exists.

Verification

  • npm run verify145/145 tests passing, JS syntax checks passing, manifest check passing.
  • npm run package — rebuilt the unpacked dist/ folder and packaged the release archive.
  • Live Browser/gateway QA confirmed active steering works against the local Hermes gateway.
  • Packaged archive build metadata: 0.1.8 at commit e1d0f16 with dirty: false.

Assets

  • hermes-browser-extension-v0.1.8.tar.gz
    • SHA256: c1deb37787a8e7c8932210e5216fe2b95ca6c121646e388e6f4e4426f1c88560
  • hermes-browser-extension-v0.1.8-update-ad.png
    • Existing approved v0.1.8 update image retained.

v0.1.7

Choose a tag to compare

@abundantbeing abundantbeing released this 30 Jun 10:28

v0.1.7

Release date: June 30, 2026
Channel log: 13 commits

The tab scope + no-page release. v0.1.7 makes the side panel tab-attached by default, adds Chat only/no page mode, exposes Browser Behavior controls, and makes context accounting more explicit so Hermes only sees what the user intends to send.

✨ Highlights

  • Tab-scoped side panels by default — Side panel paths now include tab scope, so opening Hermes from a browser tab attaches the panel to that tab instead of silently following the whole window.
  • Global panel remains available — Browser Behavior settings include a panel-opening choice for users who prefer one global side panel across tabs.
  • Chat only / no page mode — Hermes can run with no browser page context attached: no active tab title/URL, open tabs, selected text, page metadata, YouTube transcript, or page text.
  • Context scope menu — The composer header now supports Chat only, Follow active tab, Pin current tab, and Page only/selected-tab prompt controls.
  • Per-tab isolation — Tab-attached and pinned-tab workflows keep local message caches and Hermes session bindings separated by tab.
  • Accurate context receipts — The context meter and “What Hermes saw” receipt now report the tabs actually sent to Hermes, not only the tabs open in the window.
  • Browser Behavior settings — New controls group auto-naming, prompt context sources, and tab-attached/global panel residency in one settings section.
  • Compatibility/fallback clarity — Older Hermes gateways degrade into explicit fallback/manual modes instead of missing-route failures.
  • Remote API validation fix — Trusted http://host:8642 API servers work with a token while remote dashboard WebSocket mode remains HTTPS-only.
  • Slash command polish/rewrite and /action-items match the public docs, /actions stays reserved for interactive page elements, and slash-command turns preserve attachments.

✅ Verification

Fresh v0.1.7 release verification:

  • npm ci passed with 0 vulnerabilities.
  • npm run verify passed: 120/120 tests, JavaScript syntax checks, and manifest/version checks.
  • npm run lint passed with 0 errors. There are 4 existing unused-helper warnings in extension/sidepanel.js.
  • npm run build passed and built unpacked extension at dist/.
  • git diff --check passed.
  • npm run package passed and produced artifacts/hermes-browser-extension.tar.gz.
  • Archived manifest.json verified at Hermes Browser Extension 0.1.7.
  • Archived build-info.json verified clean and stamped to commit b2bff1d229730dc9db4d324a77f0fc5762b0e2b6.
  • README screenshot gallery visually checked in Mono theme.

Archive SHA256:

92868b30cd6a2cb2060b67a9cb5163ae5e6594173233bcae316226b7e336727c  hermes-browser-extension.tar.gz

Install / update

Download hermes-browser-extension.tar.gz, extract it, then load the extracted extension folder in chrome://extensions / edge://extensions with Developer Mode enabled.

If your browser still shows an older version, click Reload on the extension card. If it still does not update, remove the old unpacked extension card and load the fresh extracted v0.1.7 folder again.
Browser Extension v0 1 7 Update Ad

v0.1.6

Choose a tag to compare

@abundantbeing abundantbeing released this 28 Jun 16:46

v0.1.6

Release date: June 28, 2026
Channel log: 9 commits · 2 merged PRs · 1 community contributor

The context control + trust release. v0.1.6 adds built-in quick commands, pinned-tab context control, per-tab conversation isolation, and stronger sensitive-tab redaction while keeping the extension read-only and preserving the existing permission surface.

✨ Highlights

  • Built-in quick commands — Added visible quick actions and slash commands for common browser-context work: /summarize, /explain, /rewrite, /tabs, /action-items, and more.
  • Follow or pin browser context — The side panel can follow the active tab or stay pinned to a specific tab, so switching browser tabs does not silently change what Hermes sees.
  • Per-tab conversation isolation — Pinned tabs get separate local message caches and separate Hermes Browser session bindings, keeping workstreams split by browser tab.
  • Selectable open-tab context — Added a tab picker so users can choose which open tabs appear in the prompt context, with select-all and deselect-all controls.
  • Sensitive-tab prompt redaction — Restricted/sensitive tab titles and URLs are redacted before prompt assembly so banking, password, payment, health, and similar tabs do not leak through active-tab or open-tab summaries.
  • Permission surface unchanged — v0.1.6 keeps the existing v0.1 host-permission model while shipping context-control and privacy improvements. Narrower optional host permissions remain a future migration.

🙌 Contributors

  • @iruzen-dono / Zhou Jules — quick command foundations in #20 and multi-tab context picker foundations in #21.
  • @abundantbeing — v0.1.6 tab-lock architecture, per-tab session/message isolation, privacy redaction, hardening, regression coverage, packaging, and release.

✅ Verification

Fresh v0.1.6 release verification:

  • npm ci passed with 0 vulnerabilities.
  • npm run verify passed: 90/90 tests, JavaScript syntax checks, and manifest/version checks.
  • npm run lint passed with 0 errors. There are 4 existing unused-helper warnings in extension/sidepanel.js.
  • npm run build passed and built unpacked extension at dist/.
  • npm run package passed and produced artifacts/hermes-browser-extension.tar.gz.
  • Version surfaces verified at 0.1.6: package.json, package-lock.json, root manifest.json, extension/manifest.json, dist/manifest.json, and archived manifest.json.
  • Built side panel visual smoke checked from dist/: follow/pin menu opened, pinning updated the context control, tab picker opened with tab rows, and browser console had no warnings/errors.

Archive SHA256:

242025470a0558f859a1f5343a1cefd732ae99869eef65db16b56cf0df67fa66  hermes-browser-extension.tar.gz

Install / update

Download hermes-browser-extension.tar.gz, extract it, then load the extracted extension folder in chrome://extensions / edge://extensions with Developer Mode enabled.

If your browser still shows an older version, click Reload on the extension card. If it still does not update, remove the old unpacked extension card and load the fresh extracted v0.1.6 folder again.
Browser Extension v0 1 6(1) Update Ad

v0.1.5

Choose a tag to compare

@abundantbeing abundantbeing released this 27 Jun 01:51

v0.1.5

Release date: June 27, 2026
Channel log since the initial v0.1.5 tag: 6 follow-up commits · 2 merged PRs · 9 files changed · 1 community contributor

The compatibility + trust release. v0.1.5 makes Hermes Browser Extension clearer about what it can reach, what it sends to Hermes, and how it behaves when a connected Hermes runtime does not expose every optional browser-facing route. The initial release added capability-aware UI, safer context receipts, voice/gateway fallbacks, and public security docs. Follow-up channel updates tightened the DOM context chip and added contributor-friendly static checks without changing the extension permission model.

✨ Highlights

  • Hermes compatibility panel — Added a capability panel backed by /v1/capabilities, with legacy fallback for older gateways that do not expose the newer capability route.
  • Cleaner first-run Connect flow — If browser pairing is not advertised by the connected runtime, Connect now skips dead pairing routes and guides users directly to Manual setup.
  • Capability-gated voice dictation — Voice features now prefer Hermes STT when available and fall back to Browser speech when audio transcription is not exposed by the connected runtime.
  • Token hygiene UI — Added masked token state, connection mode, last-tested timestamp, and one-click token clearing so users can see security state without exposing secrets.
  • “What Hermes saw” receipts — Sent turns now include a collapsible receipt showing the active tab/context/attachment/redaction payload that was sent.
  • Safer optional API behavior — Image upload and profile APIs are now capability-gated, so missing routes become clear fallback warnings instead of confusing failures.
  • Clearer Remote gateway behavior — With an API key, Remote means a remote API server and same-LAN http://host:8642 is supported. With a blank key, Remote means HTTPS dashboard WebSocket mode.
  • Public permissions, data-flow, and privacy docs — Documented the shipped permission model and browser-context data flow for users and contributors.
  • Update troubleshooting — Added guidance for stale unpacked extension cards that still show 0.1.4 after an update, plus native Hermes computer-use troubleshooting pointers.

🧭 v0.1.5 channel updates after the initial tag

These updates landed on main after the first v0.1.5 tag so this release page can act as the public changelog for the v0.1.5 line.

DOM context chip states

Contributed by @iruzen-dono in #19.

  • Replaced the misleading initial 📎 DOM · 0 chars · ~0 tok state with explicit chip states:
    • 📎 Loading...
    • 📎 Restricted · N/A
    • 📎 Error · N/A
    • 📎 DOM · X chars · ~Y tok
  • Distinguished page-loading, browser-restricted pages, context-capture failures, and normal captured DOM context.
  • Added follow-up regression coverage for loading, restricted, error, and captured context states.

Contributor linting + fresh-clone tooling

Contributed by @iruzen-dono in #18, finalized by maintainer follow-up.

  • Added ESLint flat config and npm run lint / npm run lint:fix scripts for JavaScript static checks.
  • Added the browser/extension globals needed for the current extension runtime.
  • Added package-lock.json so npm ci works for fresh clones and future automation.
  • Updated contributor docs to call out linting for JavaScript changes.
  • Cleaned redaction-helper regex escapes surfaced by lint while preserving token redaction behavior.

🙌 Contributors

  • @iruzen-dono / Zhou Jules — DOM chip state fix in #19 and ESLint/static-checking foundation in #18.
  • @abundantbeing — v0.1.5 compatibility/trust release, regression coverage, release packaging, and final tooling hardening.

✅ Verification

Initial v0.1.5 package verification:

  • npm run verify passed.
  • npm run build passed.
  • Built unpacked extension at dist/.
  • Packaged release archive: artifacts/hermes-browser-extension.tar.gz
  • Archive SHA256: cf4451ba8c02f78651f9fc798067bf15a6e7475b178aa02ef47a7508b5f711e3

Current v0.1.5 channel verification on main after follow-up updates:

  • npm ci passed.
  • npm run test passed: 78/78 tests.
  • npm run lint passed with 0 errors. There are 4 existing unused-helper warnings in extension/sidepanel.js.
  • npm run verify passed.
  • npm run build passed.

Install / update

Download the archive below, extract it, then load the extracted extension folder in chrome://extensions / edge://extensions with Developer Mode enabled.

If Chrome still shows 0.1.4, remove the old unpacked extension card and load the fresh extracted v0.1.5 folder again.

Source users can pull main for the follow-up v0.1.5 channel updates listed above.
image

v0.1.4

Choose a tag to compare

@abundantbeing abundantbeing released this 26 Jun 04:15

Hermes Browser Extension v0.1.4

This release focuses on reliability and extension-side polish for unpacked alpha installs.

What's new

  • Editable Hermes session titles, plus first-message auto-naming for new Browser sessions.
  • Live connection state: the side panel now checks gateway reachability instead of treating a saved API key as connected.
  • Commit-aware update checks for unpacked builds, including same-version "unpulled commits" guidance.
  • Trusted-host agent discovery for private remote gateways, with bearer tokens held back until a probed endpoint identifies itself as Hermes.
  • Refined default Nous palette toward the Hermes Desktop ink-blue / soft-white look.

Verification

  • npm run verify — pass
  • npm run package — pass
  • Built archive SHA256: 7ac72c8efb5f22d0b4560129b59f9b74e0c3e56c134e3b1c17c0ba1e5697fc26
Browser Extension v0 1 4 Update Ad

v0.1.3

Choose a tag to compare

@abundantbeing abundantbeing released this 25 Jun 11:59

What's new in Hermes Browser Extension v0.1.3

Hermes Browser Extension now connects beyond localhost: remote API servers, dashboard WebSocket gateways, local agent ports, and Hermes-powered repo review are in the alpha loop.

Changed

  • Remote gateway modes — Choose local API, remote API, or remote dashboard/WebSocket setup from the side-panel settings.
  • Dashboard WebSocket bridge — Remote dashboard mode mints browser tickets from an authenticated dashboard tab and talks over wss://.
  • Real model fallback discovery — If an older gateway only advertises the synthetic hermes-agent alias, Browser can recover real model choices from /api/sessions history without keeping the alias as the primary picker entry.
  • Connected local agent picker — Scan trusted localhost Hermes API gateways on ports like 8642-8646 and switch the Browser side panel between local agents that share the same browser token.
  • Clearer connect fallback — Pairing 404s now explain when an install does not expose Desktop pairing and point users to manual setup instead of a raw error.
  • Stronger browser-context redaction — Added coverage for provider-shaped tokens and compound secret keys before page context reaches the agent prompt.
  • Hermes PR/issue reviews — Added a local gh poller and event runner so Hermes can review changed PRs/issues without comment spam.
  • Review watchdog hardening — Stuck local review requests now timeout per target instead of hanging the whole poller.

Install

git clone https://github.com/abundantbeing/hermes-browser-extension.git
cd hermes-browser-extension
npm install
npm run package

Then load dist/ as an unpacked extension in Chrome/Edge/Comet.

Public alpha. Load unpacked. Local or remote Hermes runtime. Read-only browser context.