{
  "sources": [
    {
      "url": "https://raw.githubusercontent.com/aydnOktay/hermes-done-bell-/3fa519a291d91b0e6c44bd42762190363ce80c39/README.md",
      "quote": "Hermes plugin: **ring when a turn finishes** so you can leave the window.\n\nOS notification (when away), optional chime, status chip (`busy` / `done` /\n`needs you`). No API keys. Does not send chat, write code, or touch user files."
    },
    {
      "url": "https://raw.githubusercontent.com/NousResearch/hermes-official-plugins/e7a218f26db88426ab3e7376f0e000b6e356f5e7/homeassistant/README.md",
      "quote": "The adapter reconnects automatically with 5s → 10s → 30s → 60s backoff."
    },
    {
      "url": "https://raw.githubusercontent.com/realartsbro/continuo/4f661d3a1e10ca5021d20efbc0617a744ea4c2d5/README.md",
      "quote": "Hermes uses the same project and the same job list as you. When it rewrites a scene or moves a clip, the open page\nshows the change with before and after, and Undo takes it back. Each edit from Hermes names the revision it read. If\nyou changed the scene or the cut since then, the edit is refused and nothing is saved."
    },
    {
      "url": "https://raw.githubusercontent.com/Yonkoo11/hermes-taster/eb28faad246267c59b4f9e1ed145ec23ac3e4026/README.md",
      "quote": "- **One run, one path.** Code that waits for a date, a server reply or a real wallet is not exercised. Tools are called with empty arguments.\n- **In-process attack.** A plugin written to attack Taster shares the monitor's process and can tamper with it. An out-of-process watcher would fix this and is not built."
    },
    {
      "url": "https://raw.githubusercontent.com/merdoks/trust-ladder/fae4e9df58767e5e3832c8f65936b97868bc98fc/README.md",
      "quote": "A prompt or skill can *ask* the model to remember. trust-ladder *enforces* it at the tool-call boundary,\nproves each guard before installing it, and keeps score."
    },
    {
      "url": "https://raw.githubusercontent.com/KellerAI/hermes-plugins/b4b6df4da6a21e493b09628d7ca1d28a10348f40/hook-desk/README.md",
      "quote": "- It is skills only: no tools, no hooks, no MCP servers, no scripts."
    },
    {
      "url": "https://raw.githubusercontent.com/teakesdev/corpus-open/6694628ff017b58b432e77485885e86128f5ff19/hermes_plugin/__init__.py",
      "quote": "        token = self.secret(SECRET_ENV[\"courtlistener_token\"])\n        if token:\n            return token\n        from ..matterkit import credentials\n        if self.secret_route():\n            return credentials.saved_courtlistener_token() or None\n        return credentials.courtlistener_token() or None"
    },
    {
      "url": "https://raw.githubusercontent.com/TANGBUDU/sharelet/06e58ce218f3a684e4fa6cfdfbbc654142e55a8e/README.md",
      "quote": "Each link allows 20 runs for 7 days by default and can be closed at any time."
    },
    {
      "url": "https://raw.githubusercontent.com/suhas-svg/hermes_podcast/1c0c4ed9fd4c04e341ef094f5b18d7ebcfceefc6/tests/test_podcast_plugin.py",
      "quote": "    assert stream[\"codec_name\"] == \"mp3\" and stream[\"sample_rate\"] == \"44100\"\n    assert [c[\"tags\"][\"title\"] for c in probe[\"chapters\"]] == [\"Intro\", \"The idea\"]"
    },
    {
      "url": "https://raw.githubusercontent.com/kryptokrates/nektar-hermes/52b489da98994623d9386b3b4a23aa30daec82aa/install.mjs",
      "quote": "process.env.NEKTAR_IMAGE ?? 'ghcr.io/kryptokrates/nektar:latest'"
    },
    {
      "url": "https://raw.githubusercontent.com/Mhiah/On-Brand/bd53e9d2fa62898a4fc3cd36da9f977dd8e1ef9b/onbrand/engine.py",
      "quote": "    matches = extract_drafts(text)\n    if not matches:\n        return EnforceResult(text, False)"
    },
    {
      "url": "https://raw.githubusercontent.com/excelformulabot/better-analyst-hermes-plugin/fb3e68f5ca5b3f1709c70c2c7bf8bcf37944147c/README.md",
      "quote": "The server decides the tool set at runtime, so the pinned commit doesn't cover it."
    },
    {
      "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://raw.githubusercontent.com/realartsbro/continuo/4f661d3a1e10ca5021d20efbc0617a744ea4c2d5/BUILD-INFO.json",
      "quote": "  \"excluded\": [\n    \"__pycache__\",\n    \"dashboard/generation/paid\",\n    \"dashboard/workflows\",\n    \"tests\",\n    \"README.md\"\n  ],"
    },
    {
      "url": "https://raw.githubusercontent.com/NousResearch/hermes-official-plugins/e7a218f26db88426ab3e7376f0e000b6e356f5e7/homeassistant/tests/test_service_policy.py",
      "quote": "def test_custom_script_permission_does_not_hide_denied_explicit_target(monkeypatch):"
    },
    {
      "url": "https://raw.githubusercontent.com/teakesdev/corpus-open/6694628ff017b58b432e77485885e86128f5ff19/matterkit/credentials.py",
      "quote": "def _stored() -> str:\n    try:\n        with open(_token_path(), encoding=\"utf-8\") as f:\n            return f.read().strip()\n    except OSError:\n        return \"\""
    },
    {
      "url": "https://raw.githubusercontent.com/TANGBUDU/sharelet/06e58ce218f3a684e4fa6cfdfbbc654142e55a8e/image_provider.py",
      "quote": "        atomic_private(self.path, {\"provider\": \"openai\", \"openai_key\": key.strip()})"
    },
    {
      "url": "https://api.github.com/repos/NousResearch/hermes-agent/pulls/153623/reviews",
      "quote": "cloudflared is downloaded from `releases/latest` and checked against the digest from the same API response, which only proves the transfer wasn't corrupted."
    },
    {
      "url": "https://api.github.com/repos/NousResearch/hermes-agent/pulls/151822/reviews",
      "quote": "Hermes doesn't run a `setup` key"
    },
    {
      "url": "https://raw.githubusercontent.com/excelformulabot/better-analyst-hermes-plugin/fb3e68f5ca5b3f1709c70c2c7bf8bcf37944147c/mcp.json",
      "quote": "        \"mcp-remote@0.15.2\",\n        \"https://app.betteranalyst.com/api/mcp/connector\",\n        \"--transport\",\n        \"http-only\",\n        \"--auth-timeout\",\n        \"55\","
    }
  ]
}
