Skip to content

Releases: BonesGit/hermes-vector-platform

0.5.3 — sandbox staging, group history, catalog image

Choose a tag to compare

@BonesGit BonesGit released this 27 Sep 00:36

New sidecar (group-context API). After updating, re-run setup so the prebuilt refreshes (or let setup download v0.5.3 Release assets).

Fixes

  • Hermes sandbox / Docker could not read inbound Vector attachments. Files are hardlinked into Hermes mount dirs (images/vector, attachments/vector) so the agent and vision can open them.
  • Multiplexed secondary profiles inherited the default bot’s VECTOR_*. Reads go through the active profile secret scope; the sidecar child gets that profile’s env only.

Added

  • Optional group-channel history on mention turns (VECTOR_GROUP_CONTEXT=1 / vector.group_context.enabled). Off by default. Puts recent channel lines on MessageEvent.channel_context so the bot can follow the room without starting turns for unaddressed chatter.
  • Plugin catalog image vector-hermes-agent-plugin.png.

Changed

  • Adapter split into an internal/ package (register() remains the Hermes entry).
  • README install notes oriented at the plugin catalog.

Upgrade

hermes plugins update vector-platform
hermes gateway setup    # refresh sidecar to v0.5.3
hermes gateway restart

Enable group history when you want it:

# env
VECTOR_GROUP_CONTEXT=1
# or config
# vector.group_context.enabled: true

Full notes: CHANGELOG.md.

Full Changelog: v0.5.2...v0.5.3

Full Changelog: v0.5.2...v0.5.3

0.5.2 — keep sidecar after Python-only plugin updates

Choose a tag to compare

@BonesGit BonesGit released this 06 Sep 02:38

Python-only patch. Sidecar binaries are the same as 0.5.1 (not rebuilt).

Fix

hermes plugins update then gateway start could drop Vector when the plugin version advanced but the sidecar did not. Runtime treated a stale .version stamp as “no binary.” Gateway start now uses the installed prebuilt anyway. Setup (including skip-reconfigure) still re-downloads when the stamp does not match.

Upgrade from 0.5.1

hermes plugins update vector-platform
hermes gateway restart

You do not need to re-run setup unless you want to refresh the sidecar stamp.

Full notes: CHANGELOG.md.

Full Changelog: v0.5.1...v0.5.2

0.5.1 — pairing defaults off in setup

Choose a tag to compare

@BonesGit BonesGit released this 06 Sep 02:24

Python-only patch. Sidecar binaries are the same as 0.5.0 (not rebuilt).

Highlights

  • Setup wizard defaults pairing codes to no. Enter writes vector.unauthorized_dm_behavior: ignore, so unknown npubs are dropped instead of getting a pairing DM. Answer Y to keep the approve-via-code path.

Upgrade from 0.5.0

hermes plugins update vector-platform
hermes gateway setup      # optional; Enter now means pairing off
hermes gateway restart

Full notes: CHANGELOG.md.

Full Changelog: v0.5.0...v0.5.1

0.5.0 — simpler setup and first-run hello DM

Choose a tag to compare

@BonesGit BonesGit released this 06 Sep 01:52

Install works on current Hermes, first start is not silent, and setup only asks for identity plus your Vector npub.

Install

Desktop: Install in Hermes

hermes plugins install BonesGit/hermes-vector-platform --enable
hermes gateway setup      # pick Vector → create identity, enter YOUR npub
hermes gateway restart

On Linux and macOS (x86_64 and aarch64), setup downloads a checksum-verified vector-bridge from this release.

Highlights

  • Install on current Hermes. Dropped v2-only manifest_version / api_version keys. Dummy secret-shaped test strings and a rustup pipe-to-shell hint are gone so the install-time security scan no longer blocks the plugin.
  • First-run hello DM. After Ready, the bot DMs VECTOR_HOME_CHANNEL once so the chat appears in Vector. Marker sdk/welcome-sent.json; a failed send retries next connect. Does not start a Hermes turn.
  • Simpler setup. The wizard no longer asks about communities (group-only npubs, open channels, home community). Identity, your npub, pairing, and optional kind-0 profile remain. vector.communities in config.yaml still works if you want groups later.
  • Install no longer prompts for VECTOR_NPUB. That value is written by setup, not pasted at hermes plugins install.

Upgrade from 0.4.0

hermes plugins update vector-platform
hermes gateway restart

Re-run hermes gateway setup only if you want the slimmer wizard (or to refresh display YAML). Existing vector.communities in config.yaml is left alone.

Full notes: CHANGELOG.md.

Full Changelog: v0.4.0...v0.5.0

0.4.0 — first public release

Choose a tag to compare

@BonesGit BonesGit released this 05 Sep 21:55

This is the first public release of hermes-vector-platform: a standalone Hermes Agent plugin that runs a Vector bot (its own nsec/npub) through a local Rust sidecar.

v0.3.0 existed as a pre-release cut. 0.4.0 is the version to install.

Install

git clone https://github.com/BonesGit/hermes-vector-platform ~/.hermes/plugins/vector-platform
hermes plugins enable vector-platform
hermes gateway setup
hermes gateway restart

On Linux and macOS (x86_64 and aarch64), setup downloads a checksum-verified vector-bridge from this release. Rust is only needed if no asset matches your platform, or you set vector.prebuilt.download: false.

Highlights

  • Reliable inbound DMs. SSE reconnects replay the gap (Last-Event-ID); the missed-DM cursor only advances on real delivery. Replay is bounded so a reconnect costs about one agent turn per chat (vector.replay in config.yaml).
  • Config in config.yaml. Profile, communities, reactions, pairing, replay, and prebuilt fetch live under vector:. .env keeps VECTOR_NPUB, VECTOR_ALLOWED_USERS, and VECTOR_HOME_CHANNEL.
  • Installable package. pip install ships plugin.yaml and sidecar sources as hermes_vector_platform (prefer pip install -e if you compile locally).
  • Prebuilt sidecars for Linux and macOS, attached to this release as vector-bridge-<triple> plus SHA256SUMS.

Also in 0.4.0: in-place message edit and tool-progress, peer profiles, DM /block, message delete, and parked community invites (/invites, /join, /decline).

Upgrade from 0.3.0

  • Removed: VECTOR_ALLOW_ALL_USERS, VECTOR_HOME_CHANNEL_NAME. The wizard no longer writes nsec, mnemonic, or profile defaults into .env.
  • Move product knobs into ~/.hermes/config.yaml under vector:. Leftover VECTOR_* env still wins if set.
  • Re-run hermes gateway setup so it can download the sidecar and refresh display.platforms.vector.tool_progress: new.

Full notes: CHANGELOG.md.

Full Changelog: v0.3.0...v0.4.0

v0.3.0

Choose a tag to compare

@BonesGit BonesGit released this 04 Sep 15:24

First official release of the Vector platform plugin for Hermes Agent.

Install

git clone https://github.com/BonesGit/hermes-vector-platform ~/.hermes/plugins/vector-platform
hermes plugins enable vector-platform
hermes gateway setup    # builds vector-bridge, create/import identity
hermes gateway restart

Requires Hermes Agent (current main) and Rust ≥ 1.75. The sidecar depends on crates.io vector_sdk =0.9.0.

Features

Gateway & identity

  • Hermes platform plugin (vector / toolset hermes-vector) with its own Vector bot npub — not a human impersonation
  • Rust vector-bridge sidecar: localhost HTTP + SSE, spawn-time X-Hermes-Sidecar-Token
  • Interactive hermes gateway setup: create or import identity, operator npub as first allowlisted user, pairing, display YAML (tool_progress: off)
  • Identity create mints a NIP-06 12-word mnemonic and writes sdk/identity.nsec + sdk/identity.mnemonic (0600); mnemonic import copies both; nsec-only import has no seed file
  • Runtime never mints — missing identity.nsec fails until setup/import
  • Default-deny allowlist (VECTOR_ALLOWED_USERS) + Hermes pairing codes (VECTOR_PAIRING default on)
  • Cron deliver=vector via the live sidecar (gateway must be running)
  • Hardening: runtime record ~/.hermes/runtime/vector-sidecar.json (0600), truncated npub logs, nsec redaction, orphan sidecar reap on connect

DMs

  • Bidirectional encrypted DMs with allowlisted peers
  • Typing indicators
  • Encrypted file attachments (Vector Blossom) inbound and outbound
  • File-only (no caption): Vector ack + session breadcrumb (no AI turn); sequential files accumulate until the next text
  • File + caption: save then Hermes turn with media_urls (vision / STT / docs)
  • Outbound send_image / send_document / video / voice / animation via /send-file
  • Missed DMs while the sidecar was down are not sent to the agent; after Ready, allowlisted chats get ❌ (VECTOR_MISSED_REACT, default on)
  • Agent send_message(action=react|unreact) on DMs; optional processing-lifecycle 👀 → ✅/❌ (VECTOR_REACTIONS, default off)

Communities (Concord)

  • Join-first: trusted inviters auto-join; mention / reply / slash-gated turns
  • Optional bot-owned private home room (VECTOR_CREATE_COMMUNITY)
  • Group people-gate: VECTOR_ALLOWED_USERS, VECTOR_GROUP_ALLOWED_USERS, or VECTOR_GROUP_ALLOW_ALL channels
  • Join DMs to VECTOR_HOME_CHANNEL with copy-pasteable channel_id: (once per channel)
  • Community file attachments: stash on arrival; download when a people-gated member replies and @mentions the bot (VECTOR_COMMUNITY_DOWNLOAD_ALL=on for download-on-arrival)
  • Outbound files to a 64-hex channel via bot.channel().send_file

Slash commands & profile

  • Vector / picker (kind 10304): /approve and /deny with optional args
  • Optional public kind-0 profile (VECTOR_BOT_NAME / ABOUT / AVATAR / BANNER); when slash is on, publishes bot: true and copies to discovery indexers so the picker works

Requirements / notes

  • Sidecar binds 127.0.0.1:8096 by default; every route except /live needs the token
  • Do not set VECTOR_STUB in the gateway
  • First setup runs cargo build --release (no prebuilt binary yet)
  • Community reactions and missed-❌ catch-up remain DM-only

See CHANGELOG.md for the full history.