Preloop exposure and Agent Control plugin for Hermes
Project description
Preloop Hermes Plugin
preloop-hermes-plugin exposes Hermes to Preloop without requiring the Preloop
CLI to be present at runtime.
The plugin reads the preloop.control block from ~/.hermes/config.yaml,
connects Hermes to Preloop over the Agent Control WebSocket, advertises runtime
capabilities, routes operator prompts or voice transcripts into Hermes, and
gates native tool calls through Preloop mobile/watch approvals via the
pre_tool_call hook (fail-closed by default).
Set preloop.control.tool_approval.enabled: false to disable the gate, or
preloop.control.tool_approval.fail_open: true / PRELOOP_TOOL_APPROVAL_FAIL_OPEN=1
to allow tools when Preloop is unreachable.
Install
pip install preloop-hermes-plugin
If your Hermes build wraps PyPI installs:
hermes plugins install preloop-hermes-plugin
For local development from this repository:
cd preloop/runtime-plugins/hermes-preloop
python -m pip install -e .
Configure
The plugin does not require the Preloop CLI at runtime. Existing Preloop users
can still let the CLI provision preloop.control:
preloop agents onboard hermes
preloop agents install-plugin hermes
preloop agents validate hermes
Restart Hermes after installation. When this plugin connects and advertises capabilities, Preloop marks Agent Control verified and Talk appears for the agent in web and mobile clients.
When installed from the Hermes marketplace or UI, the plugin should prompt for
Preloop login or signup if that config block is missing. The standalone helper
uses Preloop's browser OAuth flow to create a runtime bearer token and writes the
config automatically; users should not hand-author bearer_token values.
The generated ~/.hermes/config.yaml contains:
preloop:
control:
enabled: true
protocol: preloop.agent_control.v1
runtime: hermes
control_ws_url: wss://staging.preloop.ai/api/v1/agents/control/ws
bearer_token: agt_...
runtime_principal_id: hermes-...
runtime_principal_name: Hermes
Manual Test Without Preloop CLI
pip install preloop-hermes-plugin
preloop-hermes-plugin login --config ~/.hermes/config.yaml
preloop-hermes-plugin verify --config ~/.hermes/config.yaml
preloop-hermes-plugin run --config ~/.hermes/config.yaml
login should open Preloop login/signup and write the runtime control config.
verify checks the config shape and confirms the plugin can load the Preloop
runtime client. run opens the Agent Control WebSocket and advertises
capabilities. In Preloop, the agent should become control_online=true and the
web/mobile clients should show Talk.
To test a prompt manually, open the Preloop web UI, choose the Hermes agent, click Talk, and send a short message. The plugin should forward the message to Hermes and send a command result back to Preloop.
Verify
preloop-hermes-plugin verify --config ~/.hermes/config.yaml
Publishing status
The package is published to PyPI as
preloop-hermes-plugin. Before publishing, run:
python -m build
python -m twine check dist/*
See ../PUBLISHING.md for the full PyPI release checklist. Hermes discovers plugins via the hermes_agent.plugins entry point after install.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file preloop_hermes_plugin-0.1.0.tar.gz.
File metadata
- Download URL: preloop_hermes_plugin-0.1.0.tar.gz
- Upload date:
- Size: 11.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
addbe4f2266a2a90248595dc18eddc77a22734bbaf1fe686f275f67db0e8d7de
|
|
| MD5 |
108614107a9c041f8dbe87dfb6632a71
|
|
| BLAKE2b-256 |
9c0958921ee79f9865486710dc1047392c5cc181664c93d3ebe9b9080ef25317
|
File details
Details for the file preloop_hermes_plugin-0.1.0-py3-none-any.whl.
File metadata
- Download URL: preloop_hermes_plugin-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
12bd1f8dd01c6f2e226e0a91b19f0be76d90167f613b2279304aa085f8faa749
|
|
| MD5 |
c29767a1c4a38ce42df27f56a622a7ab
|
|
| BLAKE2b-256 |
1ff86c927f81f96a720a463be38091edd5539093d850ecfc67fb32fc33792d85
|