{
  "sources": [
    {
      "url": "https://raw.githubusercontent.com/aydnOktay/hermes-done-bell-/3fa519a291d91b0e6c44bd42762190363ce80c39/README.md",
      "quote": "OS notification (when away), optional chime, status chip (`busy` / `done` /\n`needs you`). No API keys."
    },
    {
      "url": "https://raw.githubusercontent.com/NousResearch/hermes-official-plugins/e7a218f26db88426ab3e7376f0e000b6e356f5e7/homeassistant/README.md",
      "quote": "**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."
    },
    {
      "url": "https://raw.githubusercontent.com/wesleymatosdev/hermes-hyperframes-plugin/d49838bc34d347e30b8e205fc8259f67a38a8fca/README.md",
      "quote": "Resolution order for the credential: plugin `api_server_key` setting > `HERMES_API_SERVER_KEY` env > Hermes home `.env` `API_SERVER_KEY`."
    },
    {
      "url": "https://raw.githubusercontent.com/Gaijin-01/prompt-firewall/9b63a4b81648ace74d2f12db77d5ae90a69164e6/README.md",
      "quote": "Those test files are not part of the published plugin tree."
    },
    {
      "url": "https://raw.githubusercontent.com/shahaman098/hermes-redgreen/339fde590c58eab3137fdbb94bec39a88b9b3baa/README.md",
      "quote": "Commands that need pipes, redirection or inline environment assignments fall back to the shell."
    },
    {
      "url": "https://raw.githubusercontent.com/RezaHarirchian/hermes-tallyhand/04efeb6236ad2301d89871497f871735b530a8bc/README.md",
      "quote": "Roles are enforced in code, not by the model: you, your moderators and your viewers get different tools, and a check before every tool call refuses the rest."
    },
    {
      "url": "https://raw.githubusercontent.com/Akshay-Scalelabs/pepper-hermes-plugin/c1f61cdf362c00cd3dc6eee416c5feecfa433b74/README.md",
      "quote": "Live splitting requires ParlayTix to admit the specific account and verified, unsplit ticket."
    },
    {
      "url": "https://raw.githubusercontent.com/mertkayacs/postkitty/490d8f992387b610c3b6f32cd87d800dc58c8010/README.md",
      "quote": "The copy comes from the model your Hermes uses."
    },
    {
      "url": "https://raw.githubusercontent.com/oways/hermes-finder/0f3f878f027ed2abaf5a67e0c684add211297ee9/README.md",
      "quote": "> 🖼️ Screenshots: drop images into `assets/` and reference them here\n> (for example `![Finder](assets/preview.png)`) before you submit to the catalog."
    },
    {
      "url": "https://raw.githubusercontent.com/Mattbusel/hermes-counterparty/5527f523a33ccc71bcd7ea8a65c00538e4b42fdf/README.md",
      "quote": "A clean name offline passes with the note that sanctions and ownership were not checked; a listed name offline still asks."
    },
    {
      "url": "https://raw.githubusercontent.com/salch-cred/deja-fix/f31c1a317bd407ac6f226b203abb0881b901450e/README.md",
      "quote": "**Only `write_file` and `patch` edits are tracked.** Files changed by shell commands aren't."
    },
    {
      "url": "https://raw.githubusercontent.com/Apihpih96/hermes-jalancost/aa3f8f9254de3366c442996ca4d12b6760206fe4/jalancost/README.md",
      "quote": "JalanCost is a small, offline Hermes tool for estimating a road trip's fuel cost and splitting the known total among passengers."
    },
    {
      "url": "https://raw.githubusercontent.com/wesleymatosdev/hermes-hyperframes-plugin/d49838bc34d347e30b8e205fc8259f67a38a8fca/dashboard/plugin_api.py",
      "quote": "return _dotenv_value(\"API_SERVER_KEY\")"
    },
    {
      "url": "https://raw.githubusercontent.com/shahaman098/hermes-redgreen/339fde590c58eab3137fdbb94bec39a88b9b3baa/core.py",
      "quote": "shell=argv is None,"
    },
    {
      "url": "https://raw.githubusercontent.com/mertkayacs/postkitty/490d8f992387b610c3b6f32cd87d800dc58c8010/engine/video_make.py",
      "quote": "subprocess.run(command, check=True, capture_output=True)"
    },
    {
      "url": "https://raw.githubusercontent.com/Mattbusel/hermes-counterparty/5527f523a33ccc71bcd7ea8a65c00538e4b42fdf/__init__.py",
      "quote": "if any(s.offline for s in screenings) and mode == \"warn\":"
    },
    {
      "url": "https://raw.githubusercontent.com/salch-cred/deja-fix/f31c1a317bd407ac6f226b203abb0881b901450e/__init__.py",
      "quote": "for path in s.dirty:"
    },
    {
      "url": "https://raw.githubusercontent.com/RezaHarirchian/hermes-tallyhand/04efeb6236ad2301d89871497f871735b530a8bc/sandbox.py",
      "quote": "return block(FAILED) if who.twitch or tool in twitch_tools.TOOL_NAMES else None"
    },
    {
      "url": "https://raw.githubusercontent.com/NousResearch/hermes-agent/main/plugin-catalog/README.md",
      "quote": "11. **Credentials come through Hermes, never from files.** A plugin gets\n   secrets only through Hermes's routes."
    },
    {
      "url": "https://gist.githubusercontent.com/gtmcknight/594c47336546c8763e641b46cf9af4ec/raw/field.json",
      "quote": "339fde590c58eab3137fdbb94bec39a88b9b3baa"
    }
  ]
}
