All plugins

atlas-sidecar-powerpoint

Sidecar by Atlas Omnia — Your Hermes agent, in the sidebar of Microsoft Excel, Word, and PowerPoint. Sidecar puts your Hermes agent in a side panel next to the file you're working on. Ask it to draft, edit, analyze, or build without leaving your document, spreadsheet, or deck. In PowerPoint it reads slides, adds slides, text boxes and shapes, replaces and formats text, and reorders, deletes or re-lays out slides. After one manual local-CA trust step, connect with one click; approval authorizes subsequent chat-driven edits, not per-edit confirmation; runs on your machine, no API key files (protected TLS keys in plugin data). Your agent: it runs on your own Hermes setup, with the models and tools you already use. Setup: install the plugin, enable the Hermes API server, manually trust the per-install local CA using the printed command (never run automatically), run /sidecar-powerpoint manifest to write a manifest for the actual bridge port and sideload it into PowerPoint, click Connect to Hermes and allow it in Hermes with /sidecar-powerpoint. Disclosure — the plugin serves its bundled sidebar at https://localhost:<actual-port>/sidecar-powerpoint/ from an HTTPS listener bound to 127.0.0.1:47650-47654 (first free port) inside the process that runs the Hermes gateway (or plugin host) from when the gateway loads the plugin (setting autostart, default on; off: from the first /sidecar-powerpoint or sidecar_powerpoint_* call) until the plugin stops or Hermes exits; by default it accepts the same exact https://localhost:<actual-port> origin and exactly one Host localhost:<actual-port>. An external HTTPS site remains optional through addin_base; the default needs no web hosting. A per-install CA and localhost certificate are generated in plugin-data/atlas-sidecar-powerpoint/tls/; private keys are owner-only, never logged. For TLS it can only vouch for localhost. The trust command does not limit the certificate to TLS, so protect the key file and remove the trust when you stop using Sidecar. Critical permitted DNS localhost subtree and IP 127.0.0.1/32; no IPv6; CA validity is at most 825 days, leaf at most 397. Legacy unconstrained CAs refuse service: manually remove old trust before deleting the TLS directory and restarting. Protect its CA key and remove OS trust manually on uninstall. Requires cryptography>=43. Allowing lets the configured origin use your Hermes agent and all its tools until you revoke. Use a site you control or trust; open only documents you trust. A sidebar gets a session only after the user allows it in Hermes (/sidecar-powerpoint, or hermes sidecar-powerpoint allow); the approval is remembered as a SHA-256 hash of a per-sidebar grant in plugin-data/atlas-sidecar-powerpoint/approvals.json (owner-only) and revoked with /sidecar-powerpoint revoke. No Sidecar tool can approve; an agent with shell access could run the CLI allow command, subject to Hermes command approval. Forwards the sidebar's chat requests to the user's Hermes API server on loopback (setting api_server_url, default http://127.0.0.1:8642) with API_SERVER_KEY (requires_env, secret) read through agent.secret_scope.get_secret, kept in memory only, never written, logged or sent to the sidebar. The bundled sidebar is served by the plugin at https://localhost:<actual-port>/sidecar-powerpoint/; it loads Microsoft's Office.js from appsforoffice.microsoft.com and sends document data only to the same-origin localhost bridge. An external HTTPS host is optional through addin_base; the default requires no web hosting. A reproducible optional external build (npm run build:static) writes SHA256SUMS. Tool calls from another Hermes chat than the sidebar's are refused. The bridge makes no other outbound service calls, runs no shell commands and has no telemetry or self-updater. Hermes itself uses the configured model/provider and tools; local bridge transport is not a promise of local-only inference. Same author as Workbench (hermes-office-desktop, Office for the web in Hermes Desktop); separate lineage (desktop Office sidebar), distinct sidecar_powerpoint_ tool names and ports, installable together. Sidecar is developed by Atlas Omnia. It is not affiliated with or endorsed by Microsoft or Nous Research. Microsoft, Excel, Word, and PowerPoint are trademarks of the Microsoft group of companies.

AtlasOmniaToolsv1.2.0Updated 6 hours ago

About

Sidecar by Atlas Omnia — Your Hermes agent, in the sidebar of Microsoft Excel, Word, and PowerPoint. Sidecar puts your Hermes agent in a side panel next to the file you're working on. Ask it to draft, edit, analyze, or build without leaving your document, spreadsheet, or deck. In PowerPoint it reads slides, adds slides, text boxes and shapes, replaces and formats text, and reorders, deletes or re-lays out slides. After one manual local-CA trust step, connect with one click; approval authorizes subsequent chat-driven edits, not per-edit confirmation; runs on your machine, no API key files (protected TLS keys in plugin data). Your agent: it runs on your own Hermes setup, with the models and tools you already use. Setup: install the plugin, enable the Hermes API server, manually trust the per-install local CA using the printed command (never run automatically), run /sidecar-powerpoint manifest to write a manifest for the actual bridge port and sideload it into PowerPoint, click Connect to Hermes and allow it in Hermes with /sidecar-powerpoint. Disclosure — the plugin serves its bundled sidebar at https://localhost:<actual-port>/sidecar-powerpoint/ from an HTTPS listener bound to 127.0.0.1:47650-47654 (first free port) inside the process that runs the Hermes gateway (or plugin host) from when the gateway loads the plugin (setting autostart, default on; off: from the first /sidecar-powerpoint or sidecar_powerpoint_* call) until the plugin stops or Hermes exits; by default it accepts the same exact https://localhost:<actual-port> origin and exactly one Host localhost:<actual-port>. An external HTTPS site remains optional through addin_base; the default needs no web hosting. A per-install CA and localhost certificate are generated in plugin-data/atlas-sidecar-powerpoint/tls/; private keys are owner-only, never logged. For TLS it can only vouch for localhost. The trust command does not limit the certificate to TLS, so protect the key file and remove the trust when you stop using Sidecar. Critical permitted DNS localhost subtree and IP 127.0.0.1/32; no IPv6; CA validity is at most 825 days, leaf at most 397. Legacy unconstrained CAs refuse service: manually remove old trust before deleting the TLS directory and restarting. Protect its CA key and remove OS trust manually on uninstall. Requires cryptography>=43. Allowing lets the configured origin use your Hermes agent and all its tools until you revoke. Use a site you control or trust; open only documents you trust. A sidebar gets a session only after the user allows it in Hermes (/sidecar-powerpoint, or hermes sidecar-powerpoint allow); the approval is remembered as a SHA-256 hash of a per-sidebar grant in plugin-data/atlas-sidecar-powerpoint/approvals.json (owner-only) and revoked with /sidecar-powerpoint revoke. No Sidecar tool can approve; an agent with shell access could run the CLI allow command, subject to Hermes command approval. Forwards the sidebar's chat requests to the user's Hermes API server on loopback (setting api_server_url, default http://127.0.0.1:8642) with API_SERVER_KEY (requires_env, secret) read through agent.secret_scope.get_secret, kept in memory only, never written, logged or sent to the sidebar. The bundled sidebar is served by the plugin at https://localhost:<actual-port>/sidecar-powerpoint/; it loads Microsoft's Office.js from appsforoffice.microsoft.com and sends document data only to the same-origin localhost bridge. An external HTTPS host is optional through addin_base; the default requires no web hosting. A reproducible optional external build (npm run build:static) writes SHA256SUMS. Tool calls from another Hermes chat than the sidebar's are refused. The bridge makes no other outbound service calls, runs no shell commands and has no telemetry or self-updater. Hermes itself uses the configured model/provider and tools; local bridge transport is not a promise of local-only inference. Same author as Workbench (hermes-office-desktop, Office for the web in Hermes Desktop); separate lineage (desktop Office sidebar), distinct sidecar_powerpoint_ tool names and ports, installable together. Sidecar is developed by Atlas Omnia. It is not affiliated with or endorsed by Microsoft or Nous Research. Microsoft, Excel, Word, and PowerPoint are trademarks of the Microsoft group of companies.

Sidecar for PowerPoint (1.2.0)

Judge quickstart — PowerPoint only (Mac)

The default sidebar is bundled with the plugin and served from its HTTPS localhost bridge; no public site or self-hosting is required.

  1. Install hermes plugins install https://github.com/AtlasOmnia/sidecar-powerpoint#plugins/atlas-sidecar-powerpoint --enable; enable the Hermes API server and start the gateway as described in Setup below.
  2. Review and run this install's printed local-CA trust command. In Hermes, run /sidecar-powerpoint manifest (or hermes sidecar-powerpoint manifest) to write the manifest for the actual bound port and show the Mac sideload instruction.
  3. Sideload the generated manifest into desktop PowerPoint using the instructions below.
  4. Open a blank synthetic file, click Connect to Hermes, compare the code in Hermes, then Allow. Allow grants the configured origin access to your Hermes agent and all its tools until revoked, not per-edit approval.
  5. Ask: “Set slide 1 title to Sidecar Demo and subtitle to Synthetic quarterly update.” Then request an independent document readback. Use native Office Undo where supported; Stop does not roll back edits. Revoke with /sidecar-powerpoint revoke when done; removing CA trust is a separate manual step.
    Windows desktop Office is untested. An optional external addin_base override authorizes its exact origin, not just this app's path.

Sidecar by Atlas Omnia. Your Hermes agent, in the sidebar of Microsoft Excel, Word, and PowerPoint.

Sidecar puts your Hermes agent in a side panel next to the file you're working on. Ask it to draft, edit, analyze, or build without leaving your document, spreadsheet, or deck.

Sidecar is a Hermes plugin plus an Office add-in that opens your agent in the sidebar of Microsoft Excel, Word, and PowerPoint. It works with the file you have open, so you can ask for a formula, a rewrite, or a slide outline and get it in place.

In PowerPoint, Sidecar can:

  • read the presentation overview, the selected slides, all slides, or the text on one slide;
  • add slides, including a title-and-bullets slide with a safe default layout;
  • add text boxes and shapes, replace the selected text, find and replace text on a slide;
  • format text in a shape (bold, italic, color, size, font);
  • reorder slides, delete a slide (never the last one), list layouts and apply a layout to a slide.

After one manual local-CA trust step, click Connect to Hermes and approve the sidebar once in Hermes.
That approval authorizes the configured origin to use your Hermes agent and all its tools until revoked; it is not a confirmation for each edit.
The bridge runs locally; your configured Hermes model/provider may receive presentation context.
No API keys are stored by the plugin (TLS private keys are protected in plugin data).

Your agent: it runs on your own Hermes setup, with the models and tools you already use.

Chat with your own Hermes agent in a sidebar inside desktop PowerPoint for Mac while Hermes reads,
reviews and edits the open presentation.

The plugin serves the bundled static sidebar from its own same-origin HTTPS loopback bridge at
https://localhost:<actual-port>/sidecar-powerpoint/, forwards the sidebar's chat to your Hermes API server, and gives Hermes fifteen
sidecar_powerpoint_* tools that act on the open presentation through the sidebar. No separate service or public web hosting is required; an external HTTPS site is optional through the addin_base override. No Microsoft app registration. HTTPS loopback requires one explicit user trust step for a per-install local CA.

Status

Live-tested in desktop PowerPoint for Mac at 315f1f0, 2026-11-11 about 00:32:
Connect and Allow; one prompt changed slide 1's title and subtitle, verified by readback
from the deck, and produced exactly one request to Hermes. After a plugin reload with the
sidebar open, it showed “Lost the connection to Hermes on this computer.” with a Try again
button; Try again reconnected. Revoke dropped the sidebar to “needs your OK”.

In the earlier run at 3682e5f, about 00:01 the same night (behaviour unchanged since),
one prompt changed slide 1's title and subtitle and added a second slide with three bullets,
verified by readback. The request stayed open for about 24 seconds with no timeout or repeat. After a plugin reload in that run the sidebar showed “Not connected” and did not reconnect within 10 seconds; reopening it connected.
Reversal on request restored the deck (no real undo). Approval was remembered after restarting
PowerPoint; the next Connect after revoke asked for approval again.

PowerPoint needs Try again (or reopen the sidebar) after a plugin reload; Excel and Word
reconnect by themselves. Both runs used a private test site via the addin_base setting,
with the CA trusted in the login keychain only. The plugin-served same-origin default in 1.2.0
has not yet been live-tested in Office. Windows desktop PowerPoint is untested. Dark theme,
keyboard-only use, PowerPoint for the web and TLS-only trust were not tested.

Setup

You need Hermes (0.23.0 or newer) and desktop PowerPoint (Microsoft 365 for Mac; Windows is an untested target) on the same computer.

  1. Install the plugin (from the catalog, or by URL):
    hermes plugins install https://github.com/AtlasOmnia/sidecar-powerpoint#plugins/atlas-sidecar-powerpoint --enable
    It asks for API_SERVER_KEY if you have none yet: paste a long random value (for example the output of
    openssl rand -hex 32). Hermes stores it in its own .env; the plugin never stores or shows it.
  2. Enable the Hermes API server: add API_SERVER_ENABLED=true to ~/.hermes/.env (the profile you use), then
    start or restart the gateway: hermes gateway. The plugin's bridge starts with it.
  3. Trust the local bridge CA once: review and run the single platform-specific command printed when the bridge
    starts (also shown by /sidecar-powerpoint trust or hermes sidecar-powerpoint trust; plain status does not repeat it). See Local TLS trust.
  4. Load the sidebar into PowerPoint: after the bridge starts, run /sidecar-powerpoint manifest in Hermes (or hermes sidecar-powerpoint manifest in a terminal). It writes manifest.xml in the plugin data directory for the actual bound port and prints the Mac sideload instruction; no web hosting is required. See Load the manifest. Then in PowerPoint:
    Home > Add-ins > Sidecar for PowerPoint.
  5. One click: press Connect to Hermes in the sidebar. The sidebar shows a code. In any Hermes chat run
    /sidecar-powerpoint and choose Allow (Hermes shows the same code). Allow only if the code matches the one in your sidebar. Then ask away.

Hermes remembers the approval for this sidebar (tested after restarting PowerPoint; Hermes restart persistence is implemented but not live-tested here). Take it back any time with
/sidecar-powerpoint revoke (or hermes sidecar-powerpoint revoke in a terminal); the sidebar then has to ask again.

Local TLS trust

A WKWebView probe of the HTTPS sidebar failed against both HTTP loopback names. The plugin instead serves only
https://localhost:47650-47654, bound to IPv4 127.0.0.1. There is no HTTP/numeric-host fallback and certificate
verification remains enabled. Python dependency: cryptography>=43, declared in plugin.yaml; ensure it is
installed in the Python environment running Hermes if your host does not install declared plugin dependencies.
No external OpenSSL command or certificate download is needed.

On first bridge start, a unique local CA and localhost leaf certificate are generated in
<owning Hermes home>/plugin-data/atlas-sidecar-powerpoint/tls/. The plugin prints one command for your platform
with the actual CA path. Review it; the plugin never executes it, requests elevation, or changes trust itself.
For example (replace the placeholder with the actual printed path):

  • macOS, your login keychain, not the system keychain; no sudo:
    security add-trusted-cert -r trustRoot -k "$HOME/Library/Keychains/login.keychain-db" '<plugin-data>/tls/ca.pem'
  • Windows, PowerShell, your current user's root store, not Local Machine:
    certutil -user -addstore Root '<plugin-data>\tls\ca.pem'

Disclosure: For TLS it can only vouch for localhost. The trust command does not limit the certificate to TLS, so protect the key file and remove the trust when you stop using Sidecar. Its critical name constraints permit the DNS localhost
subtree and exactly IP 127.0.0.1/32 (no IPv6). X.509 DNS subtree semantics also permit names below
localhost; the server leaf has only DNS localhost. It cannot vouch for unrelated sites such as example.com
in conforming verifiers. Protect the plugin data directory and retained CA key:
TLS keys are created with mode 0600 and the TLS directory with 0700 on POSIX; on Windows protect the owning
user's directory with its user-only ACL. Never share or commit ca-key.pem or localhost-key.pem. Only the public
ca.pem is used for the manual trust command; no API credential is included. TLS trust does not approve a
sidebar: the code/Allow flow is still required.

The CA survives restarts (at most 825 days, path length 0, critical certificate/CRL-signing usage only);
the server-auth, non-CA localhost leaf lasts at most 397 days (currently one year) and is renewed on bridge start
within 30 days of expiry using the same CA, without another trust step. Missing/corrupt identities fail closed.
Legacy unconstrained CAs, incorrect constraints, or overlong CA validity are refused without replacement.
A one-time instruction per runtime says to remove the old CA trust first, then delete the TLS directory;
the plugin never silently reuses or rotates that CA. For recovery, stop this plugin's bridge, remove its matching CA from your login
keychain (Keychain Access) or Current User > Trusted Root Certification Authorities (Windows certificate manager),
then remove only this plugin's tls directory and start it again. Review/trust the newly printed CA. Uninstalling
the plugin or /sidecar-powerpoint revoke does not remove OS certificate trust; remove the matching CA manually.
To remove trust on Mac: Keychain Access > login > Certificates > “Sidecar for PowerPoint local CA ...” (older installs: “Sidecar local CA ...”) > Delete,
then delete only this plugin's tls folder after stopping the bridge. Uninstall/revoke alone does not remove trust.
Compare with openssl x509 -noout -fingerprint -in <plugin-data>/tls/ca.pem before removing trust.
TLS-only trust (-p ssl) and a server-auth EKU on the CA are planned hardening; neither is implemented yet.
Reload PowerPoint after changing trust. Until trusted, a browser may report only TypeError: Load failed; do not
disable verification or revert to HTTP. Managed devices may require your administrator's approval of user CAs.

Load the manifest (sideload)

The plugin bundles and serves the default sidebar at https://localhost:<actual-port>/sidecar-powerpoint/; no static-site hosting is required. Run /sidecar-powerpoint manifest (or hermes sidecar-powerpoint manifest) to write a manifest for the bridge's actual bound port into plugin data and print the sideload instruction. For an optional external site, build with npm run build:static -- --base https://your-site.example/powerpoint/ and configure the same URL as addin_base.

macOS (Word, Excel and PowerPoint read add-in manifests from their own wef folder):

mkdir -p ~/Library/Containers/com.microsoft.PowerPoint/Data/Documents/wef
cp manifest.xml ~/Library/Containers/com.microsoft.PowerPoint/Data/Documents/wef/atlas-sidecar-powerpoint.xml

Quit and reopen PowerPoint, then Home > Add-ins (or Insert > Add-ins > My Add-ins) > Developer Add-ins > Sidecar for
PowerPoint. To remove it, delete that file.

Windows — untested guidance (per-user developer sideload, no admin rights):

reg add "HKCU\Software\Microsoft\Office\16.0\WEF\Developer" /v AtlasSidecarPowerPoint /t REG_SZ /d "C:\path\to\manifest.xml" /f

Quit and reopen PowerPoint, then Home > Add-ins > Sidecar for PowerPoint. To remove it:
reg delete "HKCU\Software\Microsoft\Office\16.0\WEF\Developer" /v AtlasSidecarPowerPoint /f.
Alternative: put manifest.xml in a shared folder and add it under File > Options > Trust Center > Trust Center
Settings > Trusted Add-in Catalogs (Show in Menu), then Home > Add-ins > More Add-ins > Shared Folder.

What Hermes can do in PowerPoint

sidecar_powerpoint_get_presentation_overview, sidecar_powerpoint_read_selected_slides, sidecar_powerpoint_read_all_slides, sidecar_powerpoint_create_slide, sidecar_powerpoint_create_text_slide, sidecar_powerpoint_add_text_box, sidecar_powerpoint_update_slide_text, sidecar_powerpoint_add_shape, sidecar_powerpoint_read_slide_content, sidecar_powerpoint_delete_slide, sidecar_powerpoint_reorder_slide, sidecar_powerpoint_find_and_replace_text, sidecar_powerpoint_list_slide_layouts, sidecar_powerpoint_set_slide_layout, sidecar_powerpoint_format_text. Details: tool reference.

The tools act only on the presentation whose sidebar started the chat; another chat is refused (ForeignSession). Speaker notes, slide duplication and image insertion are not advertised: stable Office.js cannot execute those operations here.

Settings

Plugin settings (plugins.entries.atlas-sidecar-powerpoint.settings in config.yaml, or the Desktop Plugins tab):

SettingDefaultMeaning
addin_basehttps://localhost:47650/sidecar-powerpoint/Default is served by the plugin at https://localhost:<actual-port>/sidecar-powerpoint/ on the first free port in 47650-47654; the runtime resolves the actual port. An external HTTPS site is optional via this override, and the bridge accepts only that exact origin.
api_server_urlhttp://127.0.0.1:8642Your Hermes API server (loopback only). Chat uses /p/<profile>/v1/chat/completions for the owning named profile, or /v1/chat/completions for default. An explicit /p/<profile> base path is allowed only for the same profile.
autostarttrueStart the bridge when the gateway loads the plugin; off: on the first /sidecar-powerpoint or sidecar_powerpoint_* call.

Optional: use your own sidebar site

The bundled same-origin sidebar works without any hosting. If you choose to use an external site, set the active profile's addin_base to an HTTPS URL ending in / and build for exactly that URL:

hermes config set plugins.entries.atlas-sidecar-powerpoint.settings.addin_base https://sidebar.example.org/powerpoint/
npm ci
npm run build:static -- --base https://sidebar.example.org/powerpoint/

Host dist/ unchanged at that URL, including manifest.xml, SHA256SUMS and bundled license files.
Reload the plugin/gateway, sideload that site's manifest and reopen the sidebar. The plugin reads
addin_base through ctx.get_config("addin_base", ...), not an environment variable or slash command.
Use a dedicated origin you control: approval covers the whole host.

Safety, in short

Allowing a sidebar lets the site at the configured origin use your Hermes agent and all its tools until you revoke.
Use a site you control or trust; open only documents you trust. The Allow question names that origin.

  • The HTTPS bridge binds 127.0.0.1 only, on ports 47650-47654 (first free), requires Host localhost:<actual-port>, and
    answers only the sidebar site's exact origin.
  • A sidebar gets a session only after you allow it in Hermes. Hermes stores a SHA-256 hash of that sidebar's
    grant (never the grant) in <hermes home>/plugin-data/atlas-sidecar-powerpoint/approvals.json (owner-only); the grant
    stays in the sidebar's browser storage. /sidecar-powerpoint revoke deletes it and closes open sidebars at their next
    request.
  • No shared API key file. The sidebar never sees an API key. The plugin reads API_SERVER_KEY through
    Hermes (agent.secret_scope.get_secret) when it forwards a chat request, keeps it in memory, and never writes
    or logs it.
  • No Sidecar tool can approve. Approval is the /sidecar-powerpoint command or hermes sidecar-powerpoint allow; an agent that can run shell commands could run the latter, subject to Hermes' own command approval.
  • Logs carry metadata only (route, status, time), never document text, prompts, grants or keys.

Disclosures

  • Background listener: an HTTPS listener at https://localhost:47650-47654, bound to 127.0.0.1, in the process that runs the Hermes
    gateway (or the plugin host), from when the gateway loads the plugin (or the first /sidecar-powerpoint / tool call when
    autostart is off) until the plugin stops or Hermes exits. It does not overlap Workbench (47615-47619) or the other Sidecar
    plugins (Word 47630-47634, Excel 47640-47644).
  • Network: forwards the sidebar's chat requests to your Hermes API server on loopback (api_server_url), with
    API_SERVER_KEY read through Hermes. The bridge has no other outbound service calls, telemetry or self-updater.
    Hermes itself uses your configured model/provider and tools; local bridge transport does not imply local-only inference.
  • Files: plugin-data/atlas-sidecar-powerpoint/approvals.json and pending.json (hashes and metadata), plus
    tls/ca.pem, tls/localhost.pem (public certificates), tls/ca-key.pem and tls/localhost-key.pem (private keys).
  • The sidebar page is bundled with the plugin and served by its HTTPS localhost listener at https://localhost:<actual-port>/sidecar-powerpoint/; it loads Microsoft's Office.js from appsforoffice.microsoft.com and sends presentation data only to the same-origin localhost bridge. An external HTTPS host is optional through addin_base; if selected, build it yourself with npm ci && npm run build:static -- --base <your site>/ and serve the generated files unchanged.
  • Same author, separate lineage: Atlas Omnia also publishes Workbench (Office for the web inside Hermes
    Desktop). This plugin is the desktop-Office sidebar; its tools use their own sidecar_powerpoint_ prefix so both can be
    installed together.

Limits

  • After a plugin reload, use Try again or reopen the sidebar to reconnect. After an update, close and reopen the sidebar to load the current pane.

  • There is no real undo: asking Hermes to reverse an edit makes it edit again, not restore an Office undo transaction.
    Save a copy before important changes; stopping a turn does not roll back edits already made.

  • Native Hermes turns have a 300-second budget, with progress every 5 seconds and a live 30-second Stop / Continue
    checkpoint. Continue resets the remaining budget to 300 seconds from that decision; an unanswered checkpoint
    remains bounded by the current deadline. Native failures are not automatically retried.

  • Tested live only in desktop PowerPoint for Mac. Windows desktop PowerPoint is untested; PowerPoint for the web is untested.

  • One profile's bridge per port; with several Hermes profiles running this plugin, the sidebar connects to the
    first one that answers.

  • The sidebar must reach https://localhost from the HTTPS page, with the local CA manually trusted for the
    current user. Local network policies may still block it; successful backend TLS tests are not live Office acceptance.

  • Large presentations: reads are bounded (see docs/powerpoint-tools.md); a turn has a time limit and a 30-second checkpoint.

Tests

npm ci
npm test            # vitest (sidebar) + pytest (plugin: scripts/tests)
hermes plugins validate plugins/atlas-sidecar-powerpoint

Layout

  • plugins/atlas-sidecar-powerpoint/ — the Hermes plugin (what the catalog installs): __init__.py (tools, commands),
    desk_bridge.py (bridge, approvals, chat forwarding; shared by the three Sidecar plugins), desk_app.py,
    companion/ (sidebar ticket protocol), bridge_client.py, tool_schemas.json.
  • src/ — the sidebar (TypeScript); manifest.template.xml; scripts/build-static.mjs.
  • catalog/atlas-sidecar-powerpoint.yaml — draft catalog entry (not submitted).

License: Apache-2.0 (see LICENSE and NOTICE). Microsoft, Office and PowerPoint are trademarks of Microsoft; no
affiliation or endorsement is implied. Hermes is a Nous Research project.

Trademarks

Sidecar is developed by Atlas Omnia. It is not affiliated with or endorsed by Microsoft or Nous Research. Microsoft, Excel, Word, and PowerPoint are trademarks of the Microsoft group of companies.

README from the reviewed commit 74a6c41; it updates when the author re-pins.

More by AtlasOmnia

3 plugins by AtlasOmnia in the catalog.

AtlasOmniaatlas-sidecar-excelSidecar by Atlas Omnia — your Hermes agent in desktop Excel for Mac. The plugin runs an HTTPS localhost bridge on ports 47640-47644, exposing 28 sidecar_excel_* tools and opt-in workbook plans. Manual CA trust and one sidebar Allow are required. Allowing lets the configured site use your Hermes agent and all its tools until revoke; use a site you control or trust and open only documents you trust. API_SERVER_KEY is read through Hermes, never sent to the sidebar or stored by the plugin; TLS private keys are owner-only. For TLS it can only vouch for localhost. The trust command does not limit the certificate to TLS, so protect the key file and remove the trust when you stop using Sidecar. Latest live run: 2026-11-11 about 00:26 in desktop Excel for Mac, plugin and sidebar built from a7b3fd7. Connect, Allow, a 3-row table with header in A1:B4 and =SUM(B2:B4) in B5 read back from the workbook; revoke dropped the sidebar to needs your OK. The bridge answered 200 to the configured origin and 403 to another origin. The sidebar used a private test site via addin_base, with CA trust in the login keychain; this Mac also has it in the System keychain. Earlier the same night at 35ef09e (behaviour unchanged since): reversal on request by clearing the range (no real undo), plugin reload with the sidebar open (it reconnected by itself and edited again), approval remembered after restarting Excel, next Connect after revoke asked for approval again. Not tested: Windows desktop Excel, dark theme, keyboard-only use, public Pages origin, TLS-only trust or all workbook tools/plans. Reopen the sidebar if it does not reconnect. The Excel test Mac also has System-keychain trust; that was not required in our Word and PowerPoint runs, which used login-keychain trust only. By default the plugin serves its bundled sidebar from the same HTTPS bridge at https://localhost:<actual-port>/sidecar-excel/; GitHub Pages or self-hosting is not required. A custom HTTPS site remains available through addin_base. Office.js loads from Microsoft. Hermes may send chat/workbook data to the configured provider. CLI approval/status never starts a listener. Remove matching CA trust manually before deleting the plugin tls directory; uninstall/revoke does not remove OS trust. No telemetry or self-updater. Apache-2.0; LICENSE and NOTICE included. No Microsoft or Nous Research endorsement. Disclosure — While the gateway runs, this plugin keeps an HTTPS listener on 127.0.0.1:47640-47644 and asks you to trust, by hand, a per-install root CA in your macOS login keychain. The CA can only vouch for localhost in TLS, but the trust command does not limit it to TLS, so protect its key file in the plugin's data folder and remove the trust when you stop using Sidecar. After you click Allow in Hermes, the sidebar site (by default the plugin's own localhost page) can run your full Hermes agent with all its tools through your API server until /sidecar-excel revoke. Workbook content goes to your configured model provider, and an opened workbook can inject instructions, so open only documents you trust. Dangerous-command approvals cannot be answered from the sidebar and time out as denied. Office.js loads from Microsoft. Uninstalling does not remove OS trust.CommunitytoolsAtlasOmniaatlas-sidecar-wordSidecar by Atlas Omnia — Your Hermes agent, in the sidebar of Microsoft Excel, Word, and PowerPoint. Sidecar puts your Hermes agent in a side panel next to the file you're working on. Ask it to draft, edit, analyze, or build without leaving your document, spreadsheet, or deck. In desktop Word for Mac it reads the document and selection, inserts and replaces text, applies exact-match edit plans, formatting, styles and comments. After one manual local-CA trust step and pane approval, the agent may read and write the bound document; this is not per-edit approval. No API keys stored by the plugin; TLS private keys are protected in plugin data. Your agent: it runs on your own Hermes setup, with the models and tools you already use. Setup: install the plugin, enable the Hermes API server, manually trust the per-install local CA using the printed user-scope command, run /sidecar-word manifest (or hermes sidecar-word manifest) to create and sideload a manifest for the plugin-served localhost sidebar, click Connect to Hermes and allow it in Hermes with /sidecar-word. GitHub Pages or self-hosting is not required by default; a self-hosted HTTPS site may still be selected through addin_base. Disclosure — runs an HTTPS listener at https://localhost:47630-47634 bound to IPv4 127.0.0.1 (first free port) inside the process that runs the Hermes gateway (or plugin host) from when the gateway loads the plugin (setting autostart, default on; off: from the first /sidecar-word or sidecar_word_* call) until Hermes exits; it accepts only the sidebar site's exact origin (plugin setting addin_base) and exactly one Host localhost:<actual-port>. A per-install CA and localhost certificate are generated in plugin-data/atlas-sidecar-word/tls/; private keys are owner-only, never logged. For TLS it can only vouch for localhost. The trust command does not limit the certificate to TLS, so protect the key file and remove the trust when you stop using Sidecar. TLS name constraints permit DNS localhost subtree and IP 127.0.0.1/32; no IPv6; CA validity is at most 825 days, leaf at most 397. Legacy unconstrained CAs refuse service: manually remove old trust before deleting the TLS directory and restarting. Protect its CA key and remove OS trust manually on uninstall. Requires cryptography>=43. A sidebar gets a session only after the user allows it in Hermes (/sidecar-word, or hermes sidecar-word allow); the approval is remembered as a SHA-256 hash of a per-sidebar grant in plugin-data/atlas-sidecar-word/approvals.json (owner-only) and revoked with /sidecar-word revoke. No Sidecar tool can approve; an agent with shell access could run the approval CLI subject to Hermes command approval. Allowing lets the whole configured origin use your Hermes agent and all its tools until revoke. Use a site you control or trust; open only documents you trust. Forwards the sidebar's chat requests to the user's Hermes API server on loopback (setting api_server_url, default http://127.0.0.1:8642) with API_SERVER_KEY (requires_env, secret) read through agent.secret_scope.get_secret, kept in memory only, never written, logged or sent to the sidebar. The sidebar page is bundled with the plugin and served at https://localhost:47630/sidecar-word/ (actual bound port in 47630-47634); it loads Office.js from appsforoffice.microsoft.com and sends document data only to the verified HTTPS localhost bridge. GitHub Pages or other hosting is not required; a self-hosted HTTPS site can still be selected through addin_base. A reproducible build (npm run build:sidebar) writes SHA256SUMS. Pane approval authorizes all known tools, including new content and formatting, only for a valid bound session with active approval. Unknown tools, invalid or missing sessions and revoked approvals fail closed. No comment-per-turn guard is claimed without a trustworthy turn id; tool calls from another Hermes chat than the sidebar's are refused. No other network calls, no shell commands, no telemetry, no self-updater. Same author as Workbench (hermes-office-desktop, Office for the web in Hermes Desktop); separate lineage (desktop Office sidebar), distinct sidecar_word_ tool names and ports, installable together. Sidecar is developed by Atlas Omnia. It is not affiliated with or endorsed by Microsoft or Nous Research. Microsoft, Excel, Word, and PowerPoint are trademarks of the Microsoft group of companies.Communitytools

Developer Mode

Explore built-in Hermes toolsets and actions.

HermesAgent

Developer?

Create a Hermes extension for Desktop or agent workflows.

Developer Section