Skip to content
AI Primer
release

Hermes Agent adds Photon gateway support for iMessage control

Hermes Agent added Photon as a gateway channel, letting users bring an agent into iMessage through the hermes gateway setup flow. The integration matters because it extends an open-source agent stack into a consumer messaging surface without changing the core agent runtime.

3 min read
Hermes Agent adds Photon gateway support for iMessage control
Hermes Agent adds Photon gateway support for iMessage control

TL;DR

  • Hermes Agent added Photon as a gateway channel, so users can bring an agent into iMessage through the existing setup flow, according to NousResearch's announcement and Teknium's gateway-channel post.
  • The official Photon iMessage docs position Photon as a managed layer for Apple line allocation and abuse prevention, which means users do not need to run their own Mac relay.
  • Photon changes Hermes' iMessage path from webhook-style plumbing to a persistent connection, with a long-lived gRPC stream carried by the spectrum-ts SDK and a supervised Node sidecar, per the merged implementation PR.
  • The docs split the service into a shared free tier and a Business tier with a dedicated number, while Photon's provider docs describe those as different line-allocation modes.

You can read the setup doc, dig into the implementation PR, and place the feature inside Hermes' broader v0.16 surface release, which was explicitly about pushing the agent onto more operating surfaces.

Photon setup

NousResearch framed the feature as a one-command add-on: run hermes gateway setup, pick Photon, then text the agent from iMessage. NousResearch's announcement ties that directly to the public Photon guide, while Teknium's gateway-channel post describes Photon as a new member of Hermes' gateway channel list.

The setup doc adds the missing operational detail. Photon is a managed service for Hermes' iMessage path, handling Apple line allocation and abuse prevention, so the user does not have to operate a separate relay machine or expose their own infrastructure through a public endpoint in the first place. Photon iMessage docs

Persistent connection channel

The most useful technical detail lives outside the tweets. Hermes' Photon guide says Photon behaves like Discord or Slack inside Hermes: a persistent-connection channel with no webhook, public URL, or signing secret.

The merged Photon channel PR shows how that works:

  • spectrum-ts holds a long-lived gRPC stream for inbound and outbound traffic.
  • Hermes runs that TypeScript SDK in a supervised Node sidecar.
  • The Python adapter talks to that sidecar over loopback.
  • The older webhook stack was removed, along with its separate management and login flow.
  • The PR notes that the earlier model could not deliver real attachments.

That fits the bigger product direction in Hermes' v0.16 release post, which framed the release around operating agents from desktop, web, and gateway surfaces instead of only from a terminal.

Line pool and business numbers

The Photon docs also make the service model more concrete than the launch posts do. The free tier uses a shared iMessage line pool, so different recipients can see different sending numbers, but each individual conversation stays on a stable number. Photon iMessage docs

Photon's own iMessage provider docs describe that as a line-allocation choice. Hermes' guide says the paid Business tier switches to a dedicated number for each user, and Photon's line API docs expose dedicated iMessage numbers as a billable Business-plan feature.

That means Hermes did not just add another chat surface. It added a managed iMessage transport with two distinct routing models, one built around shared pool numbers and one built around dedicated business lines.

Share on X