Repository navigation
Releases: BonesGit/hermes-vector-platform
Release list
0.5.3 — sandbox staging, group history, catalog image
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 onMessageEvent.channel_contextso 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 restartEnable group history when you want it:
# env
VECTOR_GROUP_CONTEXT=1
# or config
# vector.group_context.enabled: trueFull 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
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 restartYou 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
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 restartFull notes: CHANGELOG.md.
Full Changelog: v0.5.0...v0.5.1
0.5.0 — simpler setup and first-run hello DM
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 restartOn 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_versionkeys. 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_CHANNELonce so the chat appears in Vector. Markersdk/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.communitiesinconfig.yamlstill works if you want groups later. - Install no longer prompts for
VECTOR_NPUB. That value is written by setup, not pasted athermes plugins install.
Upgrade from 0.4.0
hermes plugins update vector-platform
hermes gateway restartRe-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
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 restartOn 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.replayinconfig.yaml). - Config in
config.yaml. Profile, communities, reactions, pairing, replay, and prebuilt fetch live undervector:..envkeepsVECTOR_NPUB,VECTOR_ALLOWED_USERS, andVECTOR_HOME_CHANNEL. - Installable package.
pip installshipsplugin.yamland sidecar sources ashermes_vector_platform(preferpip install -eif you compile locally). - Prebuilt sidecars for Linux and macOS, attached to this release as
vector-bridge-<triple>plusSHA256SUMS.
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.yamlundervector:. LeftoverVECTOR_*env still wins if set. - Re-run
hermes gateway setupso it can download the sidecar and refreshdisplay.platforms.vector.tool_progress: new.
Full notes: CHANGELOG.md.
Full Changelog: v0.3.0...v0.4.0
v0.3.0
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 restartRequires 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/ toolsethermes-vector) with its own Vector bot npub — not a human impersonation - Rust
vector-bridgesidecar: localhost HTTP + SSE, spawn-timeX-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.nsecfails until setup/import - Default-deny allowlist (
VECTOR_ALLOWED_USERS) + Hermes pairing codes (VECTOR_PAIRINGdefault on) - Cron
deliver=vectorvia 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, orVECTOR_GROUP_ALLOW_ALLchannels - Join DMs to
VECTOR_HOME_CHANNELwith copy-pasteablechannel_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=onfor download-on-arrival) - Outbound files to a 64-hex channel via
bot.channel().send_file
Slash commands & profile
- Vector
/picker (kind 10304):/approveand/denywith optional args - Optional public kind-0 profile (
VECTOR_BOT_NAME/ABOUT/AVATAR/BANNER); when slash is on, publishesbot: trueand copies to discovery indexers so the picker works
Requirements / notes
- Sidecar binds
127.0.0.1:8096by default; every route except/liveneeds the token - Do not set
VECTOR_STUBin 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.