Static machine-readable community plugin index with fuzzy search and index-resolved installs, mirroring the Skills Hub catalog pattern (fetch → HERMES_HOME/cache with 24h TTL → bundled seed fallback). - hermes_cli/plugin_index.py: index fetch/cache/seed chain, fuzzy search (name/description/tags/author + typo tolerance), capability filter, bare-name resolution. Canonical URL overridable via plugins.index_url config key. - hermes_cli/data/plugin_index.json: bundled seed (offline fallback + format reference) with 5 real ecosystem plugins, each pinned to an exact commit SHA. - hermes plugins search [term] [--json] [--capability] [--refresh]: Rich table or JSON output, offline-safe, with an explicit 'indexed ≠ audited' footer. - hermes plugins install <name>: bare names (no slash, no URL scheme) resolve through the index to owner/repo[/subdir] @ pinned ref and hand off to the existing install path (ref wired through the #82029 exact-ref support). Ambiguous names list candidates and exit; explicit owner/repo and Git URL installs are untouched, and an explicit --ref always beats the index pin. - Docs: discovery section in user-guide plugins.md (format, submission workflow via PR to hermes-plugin-index, security framing) and reference/cli-commands.md rows. - Tests: tests/hermes_cli/test_plugin_index_search.py (38 tests, no live network) covering parsing, search, remote→cache→seed fallback, TTL, install resolution/ambiguity/passthrough, and --json output.
69 lines
3.0 KiB
JSON
69 lines
3.0 KiB
JSON
{
|
|
"schema_version": 1,
|
|
"generated_at": "2026-08-12T00:00:00Z",
|
|
"plugins": [
|
|
{
|
|
"name": "hermes-media-studio",
|
|
"description": "Media Studio — generative media workspace plugin for Hermes Desktop (fal + Krea, durable job queue, library).",
|
|
"author": "NousResearch",
|
|
"tags": ["media", "image-gen", "video-gen", "dashboard", "desktop"],
|
|
"repo": "NousResearch/hermes-media-studio",
|
|
"ref": "e8d59971d2b7901405b39dac7b03bdd616272d0d",
|
|
"homepage": "https://github.com/NousResearch/hermes-media-studio",
|
|
"capabilities": ["tools", "dashboard"],
|
|
"api_version": 1,
|
|
"added_at": "2026-08-12"
|
|
},
|
|
{
|
|
"name": "hermes-telegram-business",
|
|
"description": "Observe-with-approval Telegram Business Mode (secretary bot) plugin — every drafted reply requires owner approval before it reaches the customer.",
|
|
"author": "NousResearch",
|
|
"tags": ["telegram", "gateway", "approvals", "messaging"],
|
|
"repo": "NousResearch/hermes-telegram-business",
|
|
"ref": "e905f3bc5eeaa5a9dab9bc5155601b3ebec75757",
|
|
"homepage": "https://github.com/NousResearch/hermes-telegram-business",
|
|
"capabilities": ["platform"],
|
|
"api_version": 1,
|
|
"added_at": "2026-08-12"
|
|
},
|
|
{
|
|
"name": "plugin-llm-example",
|
|
"description": "Reference plugin showing host-owned structured LLM access via ctx.llm.complete_structured(). Registers a /receipt-extract slash command.",
|
|
"author": "NousResearch",
|
|
"tags": ["example", "llm", "reference", "slash-command"],
|
|
"repo": "NousResearch/hermes-example-plugins",
|
|
"subdir": "plugin-llm-example",
|
|
"ref": "38fe0fb53eff98d477f807432e965429e665ca33",
|
|
"homepage": "https://github.com/NousResearch/hermes-example-plugins/tree/main/plugin-llm-example",
|
|
"capabilities": ["commands", "llm"],
|
|
"api_version": 1,
|
|
"added_at": "2026-08-12"
|
|
},
|
|
{
|
|
"name": "plugin-llm-async-example",
|
|
"description": "Reference plugin demonstrating async host-owned LLM access from plugin code — the asyncio counterpart to plugin-llm-example.",
|
|
"author": "NousResearch",
|
|
"tags": ["example", "llm", "async", "reference"],
|
|
"repo": "NousResearch/hermes-example-plugins",
|
|
"subdir": "plugin-llm-async-example",
|
|
"ref": "38fe0fb53eff98d477f807432e965429e665ca33",
|
|
"homepage": "https://github.com/NousResearch/hermes-example-plugins/tree/main/plugin-llm-async-example",
|
|
"capabilities": ["commands", "llm"],
|
|
"api_version": 1,
|
|
"added_at": "2026-08-12"
|
|
},
|
|
{
|
|
"name": "hermes-plugin-chrome-profiles",
|
|
"description": "Switch Hermes browser tools between Chrome profiles via CDP.",
|
|
"author": "anpicasso",
|
|
"tags": ["browser", "chrome", "cdp", "tools"],
|
|
"repo": "anpicasso/hermes-plugin-chrome-profiles",
|
|
"ref": "5b9c3257b464c0f926d4355149a8aed9c8f307b4",
|
|
"homepage": "https://github.com/anpicasso/hermes-plugin-chrome-profiles",
|
|
"capabilities": ["tools"],
|
|
"api_version": 1,
|
|
"added_at": "2026-08-12"
|
|
}
|
|
]
|
|
}
|