{
  "sources": [
    {
      "url": "https://raw.githubusercontent.com/aydnOktay/hermes-done-bell-/3fa519a291d91b0e6c44bd42762190363ce80c39/README.md",
      "quote": "## Install (dev)\n\n```powershell\nhermes plugins install C:\\Users\\aydin\\Desktop\\nous-puling\\plugins\\done-bell\nhermes plugins enable done-bell\n```\n\nCopy the pane (Hermes 0.21 installer may skip it):\n\n```powershell\nNew-Item -ItemType Directory -Force -Path \"$env:LOCALAPPDATA\\hermes\\desktop-plugins\\done-bell\" | Out-Null\nCopy-Item \"$env:LOCALAPPDATA\\hermes\\plugins\\done-bell\\desktop\\plugin.js\" \"$env:LOCALAPPDATA\\hermes\\desktop-plugins\\done-bell\\plugin.js\" -Force\n```\n\nRestart Hermes."
    },
    {
      "url": "https://raw.githubusercontent.com/NousResearch/hermes-official-plugins/e7a218f26db88426ab3e7376f0e000b6e356f5e7/homeassistant/README.md",
      "quote": "1. **Gateway platform `homeassistant`**: subscribes to Home Assistant's WebSocket event bus and\n   forwards `state_changed` events to the agent, with domain/entity filters and per-entity cooldowns.\n   The agent's replies show up as Home Assistant persistent notifications titled \"Hermes Agent\".\n   Cron jobs can deliver to `deliver=homeassistant[:target]` through the target's own notify service\n   (`notify.mobile_app_my_phone` for `target=mobile_app_my_phone`), without a running gateway."
    },
    {
      "url": "https://raw.githubusercontent.com/equitylayerio/equitylayer-hermes-plugin/b5120d992d29cae3e23944489fe731988b0f597f/README.md",
      "quote": "**Coverage today (2026-11-10):**\n\n| Theme | What you can track |\n| --- | --- |\n| CPO and optical networking | Live now: 28 variables across Taiwan, US and Japan suppliers (revenue, segments, capex, issuer statements). |\n| Custom AI chips (ASIC) | Live now: design-service and foundry suppliers' monthly revenue and filings (Taiwan open data, SEC). |\n| Space infrastructure | Being added: launch and satellite variables are in review and not in the live catalog yet. Until they land, a space"
    },
    {
      "url": "https://raw.githubusercontent.com/otsoa-dubief/tenure/f4a62855e592b9e170ab0c54d9278aabef05f370/README.md",
      "quote": "- **Static reading, not a sandbox.** tenure reads a command's text before it runs. It over-asks on purpose (shell\n  it cannot parse, targets it cannot resolve and sensitive-looking names ask), but a spelling it does not\n  recognise can still slip through: a tool setting it does not watch (`GH_PAGER`, `KUBECONFIG`...), an alias or a\n  function set in an earlier call. Each one found so far is capped in `tests/test_audit_cap_bypass.py`. If the\n  agent itself is untrusted, run Hermes in a"
    },
    {
      "url": "https://raw.githubusercontent.com/KyaniteLabs/unbl0ck/cea69470241cd57aee35eaa970325104c555e8bc/README.md",
      "quote": "- **Hermes internals:** Kanban access uses Hermes's internal `hermes_cli.kanban_db*` modules, because no public plugin API for Kanban comments and unblocks exists yet. To keep each poll fast, the queue also reads the newest block event and your latest comment per card with one indexed SQL query each, falling back to the public `list_events`/`list_comments` if the schema differs. A Hermes release that changes those modules can break the queue until UNBL0CK is updated. `hermes plugins va"
    },
    {
      "url": "https://raw.githubusercontent.com/cyberpz/hermes-shelly-direct/8dff6456ba20aa26708494eccd64f667106fe7f4/README.md",
      "quote": "- 💡 **Zero-config discovery** — one UDP broadcast finds every Shelly on the\n  segment; a TCP-gated CIDR sweep covers IoT VLANs where broadcast is blocked\n- 🧬 **Auto gen-detection** — one probe tells Gen1 from Gen2/3, per device\n- ✅ **Verify-after-write** — every command is read back from the device;\n  `verified: false` means the device did *not* confirm, and Hermes says so\n- 🔋 **Real state, not guessed state** — live power (W/kWh), temperature,\n  humidity, shutter position\n- 🖥️ **Dashb"
    },
    {
      "url": "https://raw.githubusercontent.com/Excession-Labs/hermes-security-plugin/3ef38fe399181650fedd62adbf3bad203a7a201b/README.md",
      "quote": "This is a portable Agent Plugins v1 package: `plugin.json`, `mcp.json` and `skills/`. It has no Python code.\n\n## Install\n\n```bash\nhermes plugins install Excession-Labs/hermes-security-plugin --no-enable\nhermes plugins enable hermes-security-plugin\n```\n\nStart a new session. No API key is needed for header checks or provider data.\n\n## Disclosure\n\n- Network calls: the tools call `https://penetrationtestservices.com/mcp` and `https://pentestcompare.com/mcp`. A header check sends"
    },
    {
      "url": "https://raw.githubusercontent.com/dbottrader/asin-hhc-proof-of-pay/3a979a2af8082c8c29cbb20a32d7373619ce238a/README.md",
      "quote": "## Honest limits\n\n- The plugin **reads and verifies public snapshots**. It does not post work,\n  claim bounties, or move HHC. Interacting with escrow (publishing work,\n  submitting, verdicts, settlement) requires a reachable ASIN-HHC mesh node;\n  the public board snapshot states its own generation time and limitations,\n  and the tool surfaces both.\n- Receipt validation is **schema conformance** against the published\n  asin-hhc:receipt schema — it proves a receipt is a well-formed evide"
    },
    {
      "url": "https://raw.githubusercontent.com/DataRebelHQ/hermes-plugin-exchangerebel/e5f0ca3b0ca738a277a5f848970ca2fbcc47ef45/README.md",
      "quote": "## How payment works\n\nAll paid operations use x402 on Solana:\n\n1. Call a paid operation without payment — you receive a 402 challenge\n   (SOL recipient + USDC token account + a fresh memo).\n2. Pay with the memo attached via the Solana Memo program.\n3. Retry with the `X-Payment-Tx` header and the `toll_memo` query\n   parameter.\n\nChallenges are dual-version: the `PAYMENT-REQUIRED` header carries the\nx402 v2 PaymentRequired object, and the response body carries the same\nchallenge in x402"
    },
    {
      "url": "https://raw.githubusercontent.com/tylerjharden/hermes-hackathon-ipp/3e2feea4b1216a6b2343b18a6de710ae5b126c46/plugins/odoo-prod-guard/README.md",
      "quote": "## Gate\n\n`odoo_search_read` and `odoo_version` are reads. `odoo_call` on prod asks for approval when the method is not a read and the `model:method` pair does not match `routine_allowlist` (`fnmatch`). Dev records a warning and returns no directive. An env value other than `dev` or `prod` is treated as prod.\n\n## Disclosures\n\nLive mode sends HTTPS to the Odoo base URL. JSON-2 writes and reads use `POST /json/2/{model}/{method}` with `Authorization: bearer` and `X-Odoo-Database`. Version"
    },
    {
      "url": "https://raw.githubusercontent.com/vrindachaa/gnothi/3b3748626ebf718a64147044080150aeea065a76/README.md",
      "quote": "- Qualification is deterministic pattern matching, not semantic entailment.\n  Unknown wording, causation, and broad superiority flag `overclaim: true`.\n  Its status describes the evidence result. A positive arithmetic check does\n  not validate unrelated prose, provenance, representativeness, or causality.\n  Prior results are caller-supplied and unauthenticated.\n\nKnown safe inconclusive phrases (case-insensitive, optional final period):\n“The result is inconclusive”; “B may be slightly b"
    },
    {
      "url": "https://raw.githubusercontent.com/bhoot1234567890/computer-view/be3c169c5053b79e11cc6667f92ee3480db2499c/integrations/hermes-native/README.md",
      "quote": "## Supported configuration\n\n- Linux with a dedicated, same-user Hermes Xvnc desktop exposing a private Unix RFB socket.\n- Hermes 0.22.6 or newer, with this plugin enabled in the relevant in-process tool workers. Earlier releases and host-isolated handoff are not claimed to work.\n- The owner's private Telegram DM. Groups and other messaging platforms are not supported in this release.\n- A separately managed HTTPS reverse proxy or tunnel forwarding only to Computer View's private Unix HT"
    },
    {
      "url": "https://raw.githubusercontent.com/cyberpz/hermes-shelly-direct/8dff6456ba20aa26708494eccd64f667106fe7f4/__init__.py",
      "quote": "def _settings(ctx) -> dict:\n    settings = {}\n    for key in (\"timeout_ms\", \"verify_writes\", \"extra_hosts\", \"auth_user\"):\n        try:\n            value = ctx.get_config(key, default=None)\n            if value is not None:\n                settings[key] = value\n        except Exception:  # noqa: BLE001\n            pass\n    try:  # secret values live in the Hermes secret store, never in config.yaml\n        from agent.secret_scope import get_secret\n        secret = get_secret(\"SHELLY_DIRE"
    },
    {
      "url": "https://raw.githubusercontent.com/dbottrader/asin-hhc-proof-of-pay/3a979a2af8082c8c29cbb20a32d7373619ce238a/tests/run_tests.py",
      "quote": "ROOT = Path(__file__).resolve().parent.parent\nPKG_DIR = ROOT / \"asin-hhc-proof-of-pay\"\nsys.path.insert(0, str(PKG_DIR))\n\n# --- load the plugin package with package semantics (hyphenated dir name) ---\nspec = importlib.util.spec_from_file_location(\n    \"asin_hhc_pop\", PKG_DIR / \"__init__.py\", submodule_search_locations=[str(PKG_DIR)]\n)\nplugin = importlib.util.module_from_spec(spec)\nsys.modules[\"asin_hhc_pop\"] = plugin\nspec.loader.exec_module(plugin)\n\ntools = plugin.tools\nRESULT"
    },
    {
      "url": "https://raw.githubusercontent.com/DataRebelHQ/hermes-plugin-exchangerebel/e5f0ca3b0ca738a277a5f848970ca2fbcc47ef45/skills/exchangerebel/SKILL.md",
      "quote": "5. **Retry the same tool call **with the payment attached in the\ncall's `_meta[\"x402/payment\"]` field — the payment slot the MCP\ntransport exposes — carrying the payment transaction and the\nchallenge memo. The service verifies the payment and returns the\nanswer. You only pay for delivered answers — services with\npreflight endpoints validate the request free, before payment.\n\nNever pay twice for the same call: if a retry fails after payment,\nstop, keep the transaction signature and the"
    },
    {
      "url": "https://raw.githubusercontent.com/tylerjharden/hermes-hackathon-ipp/3e2feea4b1216a6b2343b18a6de710ae5b126c46/plugins/odoo-prod-guard/__init__.py",
      "quote": "    def config() -> dict:\n        return {\n            \"base_url\": ctx.get_config(\"base_url\", default=\"\"),\n            \"database\": ctx.get_config(\"database\", default=\"\"),\n            \"env\": ctx.get_config(\"env\", default=\"dev\"),\n            \"routine_allowlist\": _as_list(ctx.get_config(\"routine_allowlist\", default=[])),\n        }\n\n    handlers = make_handlers(config)\n    for name, schema i"
    },
    {
      "url": "https://raw.githubusercontent.com/tylerjharden/hermes-hackathon-ipp/3e2feea4b1216a6b2343b18a6de710ae5b126c46/plugins/odoo-prod-guard/client.py",
      "quote": "    def call(self, model: str, method: str, args: list, kwargs: dict) -> dict:\n        if self.mock:\n            return {\"mock\": True, \"model\": model, \"method\": method, \"ok\": True}\n        body = dict(kwargs)\n        if args:\n            body[\"args\"] = args\n        return self._request(\"POST\", f\"/json/2/{model}/{method}\", body)\n\n    def _request(self, method: str, path: str, body: dict | None) -> dict:\n        if not self.url.startswith(\"https://\"):\n            raise RuntimeError(\"ODOO"
    },
    {
      "url": "https://raw.githubusercontent.com/vrindachaa/gnothi/3b3748626ebf718a64147044080150aeea065a76/auto_hook.py",
      "quote": "    def observe(self, tool_name=None, args=None, result=None, session_id=None, turn_id=None, status=None, **kwargs):\n        key = self.key(session_id, turn_id)\n        if not key or tool_name != 'evaluate_difference' or status != 'ok' or not isinstance(args, dict):\n            return\n        marker = object()\n        with self.lock:\n            now = time.monotonic()\n            for old in list(self.pending):\n                if now - self.pending[old][0] > 300:\n                    del"
    },
    {
      "url": "https://raw.githubusercontent.com/bhoot1234567890/computer-view/be3c169c5053b79e11cc6667f92ee3480db2499c/integrations/hermes-native/computer_view/control.py",
      "quote": "                if data['holder']=='human':\n                    return json.dumps({'error':'Human has control. Do not act or capture until explicit handback.'})\n                if data['in_flight'] or data['uncertain']:\n                    return json.dumps({'error':'Prior desktop operation unsettled; operation refused. Owner recovery required.'})\n                if data['needs_observation']:\n                    return json.dumps({'error':'Fresh observation required. Call computer_view"
    },
    {
      "url": "https://raw.githubusercontent.com/otsoa-dubief/tenure/f4a62855e592b9e170ab0c54d9278aabef05f370/tenure/__init__.py",
      "quote": "def pre_tool_call(tool_name=\"\", args=None, session_id=\"\", tool_call_id=\"\", task_id=\"\", **kwargs):\n    \"\"\"The decision for one call: None to let it run (free, acting alone, or acting then notifying with its files\n    saved), else Hermes' approval gate with a rule key that ends with a fresh uuid. Any internal error, a busy store\n    included, asks, unless the call was already classified free. Every call that reaches the record first expires\n    stale pending rows. Files are saved before"
    }
  ]
}