All plugins

3ds-platform

Talk to Hermes from a Nintendo 3DS: a gateway platform for the Hermes 3DS homebrew app, with streaming replies, approvals and clarify questions, sessions, skills, jobs, model and slash-command pickers, pictures, documents, audio, voice messages, camera photos and spoken replies, over an end-to-end encrypted Noise IK link (LAN, or away from home through Tailscale Funnel). Disclosure — opens a TCP listener on all interfaces (port 7333) and a UDP discovery responder (7334); paired consoles (Noise IK keys in the plugin's data folder, paired by one-time LAN-only code) get full agent chat including approval answers; opt-in away mode publishes a persistent public Tailscale Funnel to a loopback listener; runs `tailscale`, `ffmpeg` and the desktop file opener, and downloads image links in replies; the dev-only `security: plaintext` setting accepts unauthenticated connections.

rndaomPlatformv0.1.0Updated 37 minutes ago

About

Talk to Hermes from a Nintendo 3DS: a gateway platform for the Hermes 3DS homebrew app, with streaming replies, approvals and clarify questions, sessions, skills, jobs, model and slash-command pickers, pictures, documents, audio, voice messages, camera photos and spoken replies, over an end-to-end encrypted Noise IK link (LAN, or away from home through Tailscale Funnel). Disclosure — opens a TCP listener on all interfaces (port 7333) and a UDP discovery responder (7334); paired consoles (Noise IK keys in the plugin's data folder, paired by one-time LAN-only code) get full agent chat including approval answers; opt-in away mode publishes a persistent public Tailscale Funnel to a loopback listener; runs `tailscale`, `ffmpeg` and the desktop file opener, and downloads image links in replies; the dev-only `security: plaintext` setting accepts unauthenticated connections.

Nintendo 3DS platform for Hermes Agent

3ds-platform is the gateway side of Hermes 3DS: a homebrew app that
lets you talk to your Hermes Agent from a Nintendo 3DS. The plugin adds a 3ds messaging platform to the Hermes
gateway; the app on the console connects to it over an end-to-end encrypted channel (Noise IK).

Unofficial community project. Not affiliated with, endorsed by or sponsored by Nous Research or Nintendo.

On the 3DS you get streaming replies with formatting and emoji, tool activity, approvals and clarify questions,
sessions, skills, scheduled jobs, a model picker and slash commands, pictures, documents and audio sent by
Hermes, voice messages, camera photos and spoken replies. The app itself, its install steps and screenshots are
in the main README.

Install

hermes plugins install 3ds-platform
hermes plugins enable 3ds-platform

Turn the platform on in ~/.hermes/config.yaml, together with streaming (off by default in Hermes):

platforms:
  3ds:
    enabled: true
streaming:
  enabled: true

Restart the gateway (hermes gateway restart), then pair the console once, at home: run hermes 3ds pair,
open Hermes on the 3DS, pick your computer and type the code it shows. hermes 3ds devices lists paired
consoles and hermes 3ds unpair <name> removes one.

Settings

All optional. Set them under platforms.3ds in config.yaml or as environment variables.

| Setting | Variable | Default | What it does |
|---|---|---|---|
| port | THREEDS_PORT | 7333 | TCP port the 3DS connects to |
| (variable only) | THREEDS_HOME_CHANNEL | none | Chat id (dev:<fingerprint>, see hermes 3ds devices) for cron delivery |
| away | THREEDS_AWAY | off | Away-from-home access through Tailscale Funnel: on, auto (no warning when Tailscale is missing) or off; unset means off unless hermes 3ds away on was run (see below) |
| away_port | THREEDS_AWAY_PORT | 7339 | Loopback port the Funnel forwards to |

Optional extras: ffmpeg on PATH for audio and spoken replies, and piper-tts in Hermes' environment for
replies that start speaking while the model is still writing (tts.streaming.provider: piper-stream).

What it does on your computer

Read this before installing.

  • Listens on your network. A TCP listener on port 7333 for the 3DS, and a UDP responder on port 7334 that
    answers discovery broadcasts from the 3DS on the same network. When a 3DS asks for it, the plugin may also
    connect back to that console's private (LAN) address. Only consoles you paired can open a session; pairing
    needs a one-time code and is accepted from the local network only.
  • Away from home (Tailscale Funnel), off by default. After you run hermes 3ds away on (or set
    away: on), and with Tailscale installed and signed in, the plugin asks Tailscale to publish a Funnel: a
    public internet address that forwards to a loopback-only listener on port 7339. Only paired consoles get past
    the handshake there. hermes 3ds away shows the state; hermes 3ds away off removes the Funnel and keeps
    away mode off, and away: off in the config means the plugin never touches Tailscale. Details: docs/away-from-home.md.
  • Runs programs. tailscale (for the Funnel, only once you turn away mode on), ffmpeg (to convert
    audio files and spoken replies for the 3DS), and your desktop's file opener (xdg-open or open) when you
    tap Open on PC for a file in the chat.
  • Downloads pictures. When a reply contains an image link, the plugin downloads that image to shrink it for
    the 3DS screen.
  • Stores keys. Its own data folder (Hermes' plugin data directory for 3ds) holds the computer's long-term
    key (server_key, readable by your user only) and the list of paired consoles (devices.json). Outside
    that folder it reads only Hermes' own config and state (sessions, skills, jobs, models), files Hermes sends to
    the chat, and the Piper voice when spoken replies are set up.
  • No telemetry. Apart from Tailscale (away mode) and image links in replies, it contacts no outside
    service, and nothing is reported anywhere.

A paired 3DS has the same power over your agent as you have in any other Hermes chat, approvals included. If one
is lost, unpair it.

Licence

See LICENSE in the repository.

README from the reviewed commit 3182c0b; it updates when the author re-pins.