Download plugins/platforms/photon/plugin.yaml from SaylorTwift/hermes-agent: direct link, hf CLI and curl.
- Browser
- Download file 4.41 kB
-
https://huggingface.co/SaylorTwift/hermes-agent/resolve/main/plugins/platforms/photon/plugin.yaml
- Command line
-
hf download hf://SaylorTwift/hermes-agent/plugins/platforms/photon/plugin.yaml
-
curl -L -o plugin.yaml https://huggingface.co/SaylorTwift/hermes-agent/resolve/main/plugins/platforms/photon/plugin.yaml
4.41 kB
| name: photon-platform | |
| label: iMessage via Photon | |
| kind: platform | |
| version: 0.3.0 | |
| description: > | |
| Photon Spectrum gateway adapter for Hermes Agent. | |
| Connects to iMessage (and other Spectrum interfaces) through Photon's | |
| managed Spectrum platform. Both directions run over the `spectrum-ts` | |
| SDK's long-lived gRPC stream via a small supervised Node sidecar β | |
| inbound messages arrive on the SDK's `app.messages` stream (no webhook, | |
| no public URL, no signing secret), and outbound messages are sent over | |
| the same sidecar. | |
| The plugin ships with a `hermes photon` CLI for the one-time device | |
| login + project + user setup. Runtime credentials are written to | |
| ``~/.hermes/.env`` (``PHOTON_PROJECT_ID`` = the Spectrum project id, | |
| ``PHOTON_PROJECT_SECRET``) like every other channel, with management | |
| metadata (device token, dashboard project id) in ``~/.hermes/auth.json``. | |
| Photon's free shared-line model lets users get started without a paid plan. | |
| author: NousResearch | |
| requires_env: | |
| - name: PHOTON_PROJECT_ID | |
| description: "Spectrum project id (the project's spectrumProjectId; set by `hermes photon setup`)" | |
| prompt: "Photon Spectrum project id" | |
| url: "https://app.photon.codes/" | |
| password: false | |
| - name: PHOTON_PROJECT_SECRET | |
| description: "Project secret paired with the Spectrum project id (set by `hermes photon setup`)" | |
| prompt: "Photon project secret" | |
| url: "https://app.photon.codes/" | |
| password: true | |
| optional_env: | |
| - name: PHOTON_SIDECAR_PORT | |
| description: "Loopback port for the Node sidecar control + inbound channel (default 8789)" | |
| prompt: "Sidecar control port" | |
| password: false | |
| - name: PHOTON_SIDECAR_AUTOSTART | |
| description: "Spawn the Node sidecar on connect (true/false, default true)" | |
| prompt: "Auto-start the sidecar?" | |
| password: false | |
| - name: PHOTON_NODE_BIN | |
| description: "Path to the node binary (default: shutil.which('node'))" | |
| prompt: "Node executable path" | |
| password: false | |
| - name: PHOTON_DASHBOARD_HOST | |
| description: "Photon Dashboard API host (default https://app.photon.codes)" | |
| prompt: "Dashboard host" | |
| password: false | |
| - name: PHOTON_SPECTRUM_HOST | |
| description: "Photon Spectrum API host (default https://spectrum.photon.codes)" | |
| prompt: "Spectrum API host" | |
| password: false | |
| - name: PHOTON_ALLOWED_USERS | |
| description: "Comma-separated E.164 phone numbers allowed to talk to the bot" | |
| prompt: "Allowed users (comma-separated)" | |
| password: false | |
| - name: PHOTON_ALLOW_ALL_USERS | |
| description: "Allow any sender to trigger the bot (dev only β disables allowlist)" | |
| prompt: "Allow all users? (true/false)" | |
| password: false | |
| - name: PHOTON_READ_RECEIPTS | |
| description: "Mark inbound iMessages read after forwarding to Hermes (true/false, default true)" | |
| prompt: "Send read receipts? (true/false)" | |
| password: false | |
| - name: PHOTON_REQUIRE_MENTION | |
| description: "Ignore group-chat messages unless they match a mention wake word (true/false, default false)" | |
| prompt: "Require a mention in group chats?" | |
| password: false | |
| - name: PHOTON_MENTION_PATTERNS | |
| description: "Mention wake-word regexes for group chats (JSON list or comma/newline-separated; defaults to Hermes wake words)" | |
| prompt: "Group mention patterns" | |
| password: false | |
| - name: PHOTON_HOME_CHANNEL | |
| description: "Default Photon target for cron / notification delivery: Spectrum space id, DM GUID, or bare E.164 phone number" | |
| prompt: "Home Photon target" | |
| password: false | |
| - name: PHOTON_HOME_CHANNEL_NAME | |
| description: "Human label for the home channel" | |
| prompt: "Home channel display name" | |
| password: false | |
| - name: PHOTON_TELEMETRY | |
| description: "Enable Spectrum SDK telemetry in the sidecar (true/false, default false; toggle with `hermes photon telemetry on|off`)" | |
| prompt: "Enable Spectrum telemetry? (true/false)" | |
| password: false | |
| - name: PHOTON_MARKDOWN | |
| description: "Send agent replies as markdown β iMessage renders it natively, other Spectrum platforms degrade to plain text (true/false, default true)" | |
| prompt: "Render replies as markdown? (true/false)" | |
| password: false | |
| - name: PHOTON_REACTIONS | |
| description: "Tapback π/π/π on messages as processing status and route tapbacks on bot messages to the agent (true/false, default false)" | |
| prompt: "Enable reaction tapbacks? (true/false)" | |
| password: false | |