Hermes Agent delivery adapter for Watchline.
Project description
Watchline for Hermes Agent
Watchline is an event layer for agents. This Hermes plugin delivers matched Watchline events into a local Hermes gateway without exposing your laptop to the internet.
Watchline uses two integration planes:
- Hosted MCP gives Hermes the watch tools:
start_watch,continue_watch,list_watches,pause_watch,resume_watch, anddelete_watch. - This plugin registers a Hermes gateway platform named
watchline. It polls a Watchline pull channel and forwards matched events as inbound Hermes messages.
The plugin intentionally does not duplicate Watchline tools. Hermes discovers tools from the hosted MCP server, and this adapter only handles local delivery.
Install
hermes plugins install qordinate-ai/watchline-hermes-plugin --enable
The package is also available on PyPI:
python -m pip install watchline-hermes-plugin
For local development:
hermes plugins install file:///absolute/path/to/watchline-hermes-plugin --enable
Configure
Create a Watchline API key and pull channel at https://watch.qordinate.ai, then run:
hermes watchline configure \
--api-key wl_... \
--channel-id ch_... \
--user-id me \
--delivery-channel main \
--api-base-url https://api.watch.qordinate.ai
The command writes:
platforms.watchlinefor delivery.mcp_servers.watchlinefor hosted watch tools.
Restart the Hermes gateway after changing plugin or MCP config:
hermes gateway restart
Use
Ask Hermes to use Watchline:
Use the Watchline start_watch tool to watch Gmail for emails from my boss.
Ask me for the sender email address if needed.
When a matching event arrives, Watchline queues it on your pull channel. The plugin polls that channel, runs Hermes against your main/home channel, and acknowledges the delivery only after Hermes accepts it.
Why a Hermes Plugin?
Hermes also has a built-in webhook adapter for external events. That is a good option when your Hermes gateway already has a public URL, reverse proxy, or tunnel and you want Watchline to push matched events directly into Hermes.
This plugin uses Watchline pull delivery instead. Hermes runs locally, polls the Watchline channel, and injects matched events into the gateway without requiring your Hermes agent to expose an inbound webhook endpoint online. You can still use Hermes webhooks separately for deployments where a public callback URL is already part of your setup.
Commands
hermes watchline status
hermes watchline install-mcp
hermes watchline preview-delivery
Configuration Reference
| Field | Required | Description |
|---|---|---|
api_key |
Yes | Watchline project API key. |
channel_id |
Yes | Watchline pull channel ID. |
user_id |
No | Stable Watchline user id. Defaults to me. |
api_base_url |
No | Watchline API base URL. Defaults to production. |
poll_interval_seconds |
No | Delivery polling interval. Minimum is 5 seconds. |
delivery_channel |
No | Hermes delivery target. Defaults to main, the first configured home channel. Use telegram, discord, or telegram:<chat_id>[:thread_id] to override. |
Links
Project details
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 watchline_hermes_plugin-0.1.4.tar.gz.
File metadata
- Download URL: watchline_hermes_plugin-0.1.4.tar.gz
- Upload date:
- Size: 12.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dafa387e72ab8aa6b451cc3c19461b9f197ea415546c4e8850c9dc06504902f9
|
|
| MD5 |
c108521909d0c83b71cff47d8cf84b6b
|
|
| BLAKE2b-256 |
7b92964f073611ceaf5b183c56554c2c20b2cb1baa22ce375ec35547a630b1bf
|
Provenance
The following attestation bundles were made for watchline_hermes_plugin-0.1.4.tar.gz:
Publisher:
publish.yml on qordinate-ai/watchline-hermes-plugin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
watchline_hermes_plugin-0.1.4.tar.gz -
Subject digest:
dafa387e72ab8aa6b451cc3c19461b9f197ea415546c4e8850c9dc06504902f9 - Sigstore transparency entry: 1627508767
- Sigstore integration time:
-
Permalink:
qordinate-ai/watchline-hermes-plugin@d3d2424336af16cae94e4bbcb47e6edd07a88062 -
Branch / Tag:
refs/tags/v0.1.4 - Owner: https://github.com/qordinate-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d3d2424336af16cae94e4bbcb47e6edd07a88062 -
Trigger Event:
release
-
Statement type:
File details
Details for the file watchline_hermes_plugin-0.1.4-py3-none-any.whl.
File metadata
- Download URL: watchline_hermes_plugin-0.1.4-py3-none-any.whl
- Upload date:
- Size: 12.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b7c5c8ee095244b755fe966c3f81e937cfee6012f630370e7ba058a7601648a
|
|
| MD5 |
58c0367467b7259aef1ae6c8891eafba
|
|
| BLAKE2b-256 |
d844ebaaee94ff8902412cf543e16fa4b49c7d3701c23e1e07126db6c6aa57a5
|
Provenance
The following attestation bundles were made for watchline_hermes_plugin-0.1.4-py3-none-any.whl:
Publisher:
publish.yml on qordinate-ai/watchline-hermes-plugin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
watchline_hermes_plugin-0.1.4-py3-none-any.whl -
Subject digest:
3b7c5c8ee095244b755fe966c3f81e937cfee6012f630370e7ba058a7601648a - Sigstore transparency entry: 1627508874
- Sigstore integration time:
-
Permalink:
qordinate-ai/watchline-hermes-plugin@d3d2424336af16cae94e4bbcb47e6edd07a88062 -
Branch / Tag:
refs/tags/v0.1.4 - Owner: https://github.com/qordinate-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d3d2424336af16cae94e4bbcb47e6edd07a88062 -
Trigger Event:
release
-
Statement type: