Skip to main content
The Inkbox Hermes Agent plugin is a standalone platform plugin for Hermes Agent. It connects a Hermes agent to an Inkbox identity and supports email, SMS/MMS and voice calls, iMessage, contact rules, an Inkbox tunnel, realtime phone calls, and bundled Inkbox skills when those capabilities are configured. This is a plugin, not an Inkbox SDK skill or Hermes fork. It lives in its own repository and wires Inkbox directly into Hermes’ plugin system, gateway, tools, CLI, setup wizard, and bundled task skills.

View plugin on GitHub

Install

For sponsored group conversations, check the Companion receiver requirements before installing or updating. Install and configure upstream Hermes Agent first. For macOS, Linux, or WSL2:
bash
For native Windows PowerShell:
bash
Install and enable the Inkbox plugin:
bash
Configure Inkbox and start or restart the gateway:
bash
The setup wizard creates or connects an Inkbox agent, offers to provision a phone number, offers to connect iMessage, configures signed inbound messaging, and offers several phone-call voice stacks when a calling channel is available. If the gateway is already running, restart it so it reloads the Inkbox platform config. Keep the gateway process running. On startup the plugin opens an Inkbox tunnel, configures identity-owned notification delivery, wires the incoming-call URL, and routes configured email, SMS/MMS, iMessage, and call channels into Hermes sessions. To update an existing install:
bash

Companion mode

The Companion contract requires SDK 0.7.3 or later. Confirm your installed Hermes adapter supports the current receiver contract; an SDK-only update does not establish plugin compatibility. Enable the separate Companion toggle, then use active exact bidirectional allows to make senders eligible. You can save the toggle before those rules or channel resources exist. A qualifying authenticated group message activates the scope. The adapter must load all authorized snapshot pages into one combined Hermes input, hold later live messages behind initialization, and retain the actual trigger author and conversation reply target. Existing host approvals and denials still apply. Incomplete context or uncertain host acceptance must not release partial initialization. Installing or updating does not enable Companion mode. Use the existing setup and gateway restart steps after upgrading. See Companion mode for email authentication, SMS consent, dedicated-line iMessage requirements, and revocation.

Available capabilities

Depending on your setup choices and account availability, your Hermes agent can have:
  • An email address - send, receive, and reply from an Inkbox mailbox
  • A phone number, when available - SMS/MMS and voice calls, inbound and outbound
  • iMessage, when connected - continue Hermes conversations from iMessage threads
  • An Inkbox tunnel - inbound webhooks and WebSocket connections reach the local Hermes gateway without a public server
  • Contacts and contact rules - persistent Inkbox records and server-side allow/block controls
  • Bundled Inkbox skills - email triage, SMS response, contact lookup, outbound calling, notes, and credential workflows

What Inkbox adds

Hermes Agent itself stays upstream. The plugin adds an Inkbox platform adapter, tool group, CLI setup wizard, gateway webhook routing, and package-included task skills without requiring a Hermes fork.

After install

Run a quick health check:
bash
Use any channels you configured. If the agent has a phone number, text START to it from every phone the agent needs to text. This opts that phone number in to SMS from the agent. You can also email the agent mailbox, use iMessage when connected, or call the agent phone number when available; the gateway routes each configured channel into Hermes.

Manage who can reach the agent

Inkbox reachability is controlled server-side with per-agent contact rules. Use the Inkbox console contact rules to allow or block specific contacts, phone numbers, email addresses, or domains. Each agent identity’s mail and phone filter modes decide whether unmatched senders are allowed by default or rejected.