Skip to content

Releases

v0.6.6: reminders reach your other devices at once

Choose a tag to compare

@100yenadmin 100yenadmin released this 11 Nov 05:14
ef401ae
  • Released pushes go straight to your other devices. When a device disconnects (or an HTTP, Omi, Pebble or
    xiaozhi request ends) before it received or acknowledged a push, that push now goes at once to the user's other
    connected devices. Before, it waited until one of them sent something or reconnected. Nothing was lost either
    way. A device that already holds the push (waiting for an acknowledgement, held while a v0 device waits for its
    answer, or in an HTTP answer) never gets it twice.
  • Steadier push-hold tests (wider timing margins).

0.6.5: the demo film on the README

Choose a tag to compare

@100yenadmin 100yenadmin released this 10 Nov 17:43
fe2a300

Docs only. The demo film now plays on the README itself, under the demo link, so you can watch it without X. No code
changes.

0.6.4: one install line for terminals, scripts and agents

Choose a tag to compare

@100yenadmin 100yenadmin released this 10 Nov 15:56
5e12c01

Docs only. The README's install line now ends in --yes-deps, so the plugin's two dependencies (aiohttp, qrcode)
are installed and the plugin is enabled even when there is no terminal to answer the prompt (an agent or a script
running the install). Before, such an install finished but left the plugin disabled. No code changes.

0.6.3: a fresh G2 approval picture

Choose a tag to compare

@100yenadmin 100yenadmin released this 10 Nov 09:40
cb18c7c

Docs only. The G2 app's approval screenshot is a new capture from the Even Hub simulator talking to a real 0.6.2
gateway: the whole command fits on the lens, so every choice is offered. The old picture showed a clipped command
that still offered "once", which 0.6.2 no longer allows. No code changes.

0.6.2: no approving a command you could not read whole

Choose a tag to compare

@100yenadmin 100yenadmin released this 10 Nov 09:28
6d60854
  • Clipped commands can only be blocked from a device. An approval prompt used to cut the command to 87
    characters, and a spoken "yes" or an approve button still allowed it, so a user could approve a command they only
    partly saw or heard. The prompt now carries the whole command up to 300 characters. A longer one is clipped and
    offers deny only: a spoken yes or an approve button resolves nothing, and the prompt says to use /approve after
    reading the full command. Short commands shown whole are still approved by voice as before.
  • Answers go through Hermes's card resolver. On Hermes 0.23 and later, button and voice answers resolve through
    resolve_gateway_approval_card, so Hermes's own Deny-only rule for clipped commands applies too.
  • Speech, G2 and Pebble. When Hermes's text-to-speech drops part of a command from a spoken prompt (it skips
    paths and web addresses), a spoken yes can only block it; buttons and typed /approve still work. The G2 app
    offers only Deny when the lens cannot show the whole command (or it spans lines), and a tap answers only the card
    already on the lens. Pebble shows approval prompts verbatim. A yes is
    also checked when Hermes asked for approval as text, so a bare yes never reaches Hermes's own oldest-request rule.
  • Omi: only your own voice answers an approval. A yes or no counts only from transcript segments marked
    is_user (the wearer); speech from anyone nearby is not acted on and not passed to Hermes as a bare yes.

v0.6.1: a clearer README

Choose a tag to compare

@100yenadmin 100yenadmin released this 09 Nov 21:59
5d51bbb
  • Install, pair and try on the first screen. The README opens with the install command in its short
    owner/repo form, what to answer when Hermes asks about dependencies, and three steps to a first answer without
    glasses. A demo link, badges and the "not yet tested on real glasses" status sit above them.
  • Settings, tools and troubleshooting. A table of the main settings, the three agent tools, the security notes
    next to pairing (a device token bypasses the gateway allowlist; the listener is unencrypted by default), a
    troubleshooting list, a bug route that keeps tokens out of reports, and a private security reporting link. No
    code changes.

Install: hermes plugins install 100yenadmin/glasses-platform --enable (answer y in a terminal; without one add --yes-deps).

0.6.0: a Python client for your own devices

Choose a tag to compare

@100yenadmin 100yenadmin released this 09 Nov 18:54
2ce7600

A Python client for your own devices. clients/python/hermes_glasses.py lets a Raspberry Pi gadget, a script, a desktop tool or a bridge to a microcontroller talk to your Hermes agent. It has asyncio WebSocket and HTTP helpers for protocol v1: streamed answers, reminders, approvals, camera replies and reconnect. It passes the conformance kit's client scenario and was checked against a real Hermes gateway (a text turn and a photo turn). See the Python client.

No plugin runtime change since 0.5.2.

Install in a terminal and answer y when Hermes asks to prepare the plugin's dependencies (scripts add --yes-deps):

hermes plugins install 100yenadmin/glasses-platform --enable

0.5.2: answer Hermes's questions from the G2 glasses

Choose a tag to compare

@100yenadmin 100yenadmin released this 09 Nov 17:51
bffd4c9

Answer Hermes's questions from the G2 glasses. When Hermes asks a question in the middle of a G2 turn (its clarify tool), the question now shows on the lens at once. Tap to answer by voice, and the turn carries on. Before, the question waited for the turn to end, so the turn stalled until it timed out. If your answer isn't heard, the question comes back.

Also in this release:

  • hermes glasses pair says why there is no QR code and how to fix it.
  • A v1 error that answers one query now names that query (turn), so a client with several queries in flight fails only that one. v0 frames are unchanged.
  • The xiaozhi simulator no longer ends a voice turn early on a queued reminder or a spoken error.

Install in a terminal and answer y when Hermes asks to prepare the plugin's dependencies (scripts add --yes-deps):

hermes plugins install 100yenadmin/glasses-platform --enable

Full notes: CHANGELOG.

0.5.1: pairing QR code on a fresh install

Choose a tag to compare

@100yenadmin 100yenadmin released this 09 Nov 17:21
b1803ca

The pairing QR code on a fresh install. On a clean Hermes install, hermes glasses pair printed only the connect URL. The plugin runs in Hermes's own plugin environment, which had no qrcode package. qrcode is now a declared dependency, so the QR code appears.

Install in a terminal and answer y when Hermes asks to prepare the plugin's dependencies (scripts add --yes-deps):

hermes plugins install 100yenadmin/glasses-platform --enable

Everything else is unchanged from 0.5.0: Even Realities G2 glasses, ESP32 voice boxes, the Omi pendant, Pebble watches, the JavaScript client and the conformance kit.

0.5.0: one plugin for every non-desktop device

Choose a tag to compare

@100yenadmin 100yenadmin released this 09 Nov 17:05
3e222d7

0.5.0: one plugin for every non-desktop Hermes device

Hermes Glasses now connects five more kinds of device to your own Hermes agent, through one gateway channel and one set of device tokens.

New devices

  • Even Realities G2 glasses. An Even Hub app in clients/even-g2: tap to talk, read the answer on the lens as it streams, see reminders, and answer approvals from a touchpad list. You pack it with your own gateway address. Checked in the official Even Hub simulator against a real Hermes.
  • ESP32 voice boxes (xiaozhi). Boards running the open-source xiaozhi firmware (138+ boards) pair with hermes glasses pair me voicebox --xiaozhi: push to talk with Opus audio, spoken answers, abort, and reminders played the next time the box connects.
  • Omi pendant. Say "Hey Hermes, …" in a live Omi conversation; answers, reminders and approval prompts come back as Omi notifications through the real-time transcript webhook.
  • Pebble watches. Build the open-source Bobby assistant with a two-line urls_override.js: Hermes answers stream to the watch and queued reminders follow the next answer.

For people building clients

  • JavaScript client (clients/js/hermes-glasses.js): a dependency-free protocol v1 client for browsers, phones and web views. It handles connect and reconnect, asks with timeouts, interrupts, approvals and photos.
  • Conformance kit (python -m conformance from the repo root): checks a server against the protocol, or runs a fake server to test a client.

Fixes

  • A device that restarts its id counter (q1, q2, …) is now answered. Before, Hermes refused the reused id and the device waited forever.

Install or update:

hermes plugins install 100yenadmin/glasses-platform