hermes-ryzome-plugin
Ryzome canvas and document tools for the Hermes Agent. Lets an AI agent externalize its working context (plans, research, reasoning) as interactive canvases. Users can inspect, edit, and hand the corrected graph back to the agent.
Requirements
- Python 3.10+
- Node.js (the wheel bundles a compiled Node runner;
nodemust be onPATH) - A Ryzome API key — get one here
Install
pip install hermes-ryzome-plugin
hermes plugins enable ryzome
export RYZOME_API_KEY=<api-key>
Hermes disables discovered plugins by default, including pip-installed ones, so hermes plugins enable ryzome is required after pip install.
For git installs via Hermes:
hermes plugins install 0xPlaygrounds/hermes-ryzome-plugin --enable
During hermes plugins install, Hermes prompts for RYZOME_API_KEY from plugin.yaml and saves it to ~/.hermes/.env automatically.
The wheel bundles the Node runner (ryzome_hermes_plugin/_runner.js) — no separate npm install is required.
Configure
Hermes-native auth for general plugins is requires_env in plugin.yaml, which hermes plugins install prompts for and saves to ~/.hermes/.env.
You can also configure the plugin manually with either:
export RYZOME_API_KEY=<api-key>
or a config file at ~/.hermes/ryzome.json:
{
"apiKey": "rz_...",
"apiUrl": "https://api.ryzome.ai",
"appUrl": "https://ryzome.ai"
}
Config fields
| Field | Required | Default | Description |
|---|---|---|---|
apiKey |
Yes | — | Ryzome API key |
apiUrl |
No | https://api.ryzome.ai |
API base URL |
appUrl |
No | https://ryzome.ai |
App base URL (for viewer links) |
Environment variables RYZOME_API_KEY, RYZOME_OPENCLAW_API_KEY, or PLUGIN_USER_CONFIG_API_KEY also work and take precedence over the config file.
Tools
| Tool | Description |
|---|---|
create_ryzome_document |
Create a standalone Ryzome document that appears in the library |
create_ryzome_canvas |
Create a canvas with explicitly defined nodes and edges |
get_ryzome_document |
Retrieve a standalone Ryzome document by its ID |
create_ryzome_plan |
Create a canvas from sequential steps (auto-chained, with optional branching via dependsOn) |
create_ryzome_research |
Create a canvas with research findings branching from a root topic |
get_ryzome_canvas |
Retrieve a canvas by ID with all nodes and edges |
list_ryzome_documents |
List standalone Ryzome documents, optionally filtered by library visibility, favorites, tags, or content type |
list_ryzome_canvases |
List all canvases accessible to the current user |
update_ryzome_document |
Update a standalone Ryzome document using document operations and metadata changes |
save_ryzome_node_to_library |
Promote an existing canvas node's backing document into the library |
upload_ryzome_image |
Upload an image from a URL to an existing canvas as an image node |
create_ryzome_bundle |
Create an ordered collection of existing documents |
get_ryzome_bundle |
Retrieve a bundle and its member metadata, including access status |
update_ryzome_bundle |
Add, remove, or reorder documents in a bundle |
create_ryzome_conversation |
Create an empty conversation (thread), optionally with context documents |
get_ryzome_conversation |
Read a conversation with its context and full message history |
list_ryzome_conversations |
List conversations, optionally filtered to pinned ones |
update_ryzome_conversation |
Update a conversation's title, pinned state, or context |
add_ryzome_conversation_message |
Append a user message to a conversation, optionally with context |
search_ryzome_conversations |
Search conversations by title or message content |
delete_ryzome_conversation |
Delete conversations by ID (caller must own them) |
Slash Commands
| Command | Description |
|---|---|
/ryzome-status |
Show Ryzome plugin configuration status inside a Hermes session |
This matches how Hermes general plugins work in practice today: tools + optional slash commands, with auth handled through requires_env and ~/.hermes/.env.
There is no separate plugin auth step inside hermes setup for general plugins.
Environment Variables
| Variable | Purpose |
|---|---|
RYZOME_API_KEY |
API key (standard) |
RYZOME_OPENCLAW_API_KEY |
API key (alternative) |
PLUGIN_USER_CONFIG_API_KEY |
API key (set automatically by some hosts) |
RYZOME_HERMES_RUNNER |
Override the Node runner command (advanced) |
RYZOME_HERMES_CONFIG_PATH |
Override the config file path (default: ~/.hermes/ryzome.json) |
Troubleshooting
Ryzome API key not configured
Tools register unconditionally but throw this error on call if no key is set. The standard fix is to reinstall or enable the plugin through Hermes so requires_env prompts for RYZOME_API_KEY, or set RYZOME_API_KEY manually.
Could not find a Ryzome Hermes runner
The wheel ships with a bundled Node runner. If this error appears, verify:
nodeis onPATH- The wheel installed cleanly (the file
ryzome_hermes_plugin/_runner.jsexists inside the installed package) - Or set
RYZOME_HERMES_RUNNERto a command that runs the runner
401 or 403 errors
- Verify the API key is valid and has canvas route access
- If using a non-production API, confirm
apiUrlmatches that environment
License
MIT
Metadata
Release files for hermes-ryzome-plugin 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hermes_ryzome_plugin-1.1.0.tar.gz | 13.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hermes_ryzome_plugin-1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 28.0 kB
Release files / hermes_ryzome_plugin-1.1.0.tar.gz
| Download URL | hermes_ryzome_plugin-1.1.0.tar.gz |
|---|---|
| Size | 13.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4a8cc7d673df38c564e0a013438a8808c573d70cc4abec7816565fb7437af02b
|
|
BLAKE2b-256 checksum How to use checksums |
b8e9f5e58e30e496de193e992f4fb50a1bd260fce10cc509010f98258c2480d8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 8, 2026.
Transparency logRelease files / hermes_ryzome_plugin-1.1.0-py3-none-any.whl
| Download URL | hermes_ryzome_plugin-1.1.0-py3-none-any.whl |
|---|---|
| Size | 14.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bdf8cd00ef3b6f6531425b53d1bfed13d1c9b6da3cf6e6609fc55c84d4b1c697
|
|
BLAKE2b-256 checksum How to use checksums |
7253cfb64363be61c9b2e049d75f07e810558bb01194b572d3967806cef92d3d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 8, 2026.
Transparency log