{
  "sources": [
    {
      "url": "https://gist.githubusercontent.com/gtmcknight/594c47336546c8763e641b46cf9af4ec/raw/field.json",
      "quote": "\"refs\":[{\"name\":\"done-bell\",\"repo\":\"https://github.com/aydnOktay/hermes-done-bell-\",\"sha\":\"3fa519a291d91b0e6c44bd42762190363ce80c39\",\"subdir\":\"\"},{\"name\":\"homeassistant\",\"repo\":\"https://github.com/NousResearch/hermes-official-plugins\",\"sha\":\"e7a218f26db88426ab3e7376f0e000b6e356f5e7\",\"subdir\":\"homeassistant\"}],\"plugins\":[{\"pr\":149124,\"name\":\"neuralwatt\",\"repo\":\"https://github.com/0xGingi/neuralwatt-hermes\",\"sha\":\"123651dd0456ad235953652eb1e9d527f2"
    },
    {
      "url": "https://raw.githubusercontent.com/NousResearch/hermes-agent/main/plugin-catalog/README.md",
      "quote": "17. **No unscannable executable payloads.** Everything a reviewer and the\n   install scanner read at the pinned commit must be source they can read. A\n   plugin must not ship a compiled binary (a native executable or library of\n   any OS — detected by file header, not extension: ELF, Mach-O, PE/`MZ`,\n   WebAssembly), committed Python bytecode (`.pyc`/`.pyo`, including sourceless\n   or hash-forged caches that run instead of the `.py` beside them), or an"
    },
    {
      "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"
    },
    {
      "url": "https://raw.githubusercontent.com/NousResearch/hermes-official-plugins/e7a218f26db88426ab3e7376f0e000b6e356f5e7/homeassistant/README.md",
      "quote": "Official [Hermes Agent](https://github.com/NousResearch/hermes-agent) plugin for\n[Home Assistant](https://www.home-assistant.io/). It provides two things:\n\n1. **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\"."
    },
    {
      "url": "https://raw.githubusercontent.com/itsolaph/data-lens/00b83750c2cb6a5901fab71542957975716c5584/README.md",
      "quote": "## What it does (and does not)\n\n1. You enable it and explicitly list host directories (`roots`). **Default: no roots, nothing is readable.**\n2. When the agent calls `read_file(path)` with no `offset`/`limit` on a large `.csv`, `.json` (top-level array of\n   objects), `.jsonl` or `.ndjson` inside a root, the built-in handler runs first and reads the file. If that read"
    },
    {
      "url": "https://raw.githubusercontent.com/kris-holy/hermes-keln-provider/e468413c29a5ecadba9e623ef55d31237e90c760/README.md",
      "quote": "## Why a plugin?\n\nKeln's API is OpenAI-compatible, so Hermes can reach it through a hand-written custom provider. The\nplugin adds:\n\n| | Custom provider | This plugin |\n|---|---|---|\n| Choosing Keln | A manual `config.yaml` block | `--provider keln`, or a row in `hermes model` |\n| Model picker | The list you type or the raw catalog | The live catalog, with a tool-calling list as the fallback |\n| Auxiliary tasks | The main model | `zai-org/glm-5.3-flash`, a lower-cost model |\n"
    },
    {
      "url": "https://raw.githubusercontent.com/karmsheel/google-home/b9a23c4f7ac3ea884ebeeb0cc0184f9960911c6f/googlehome/README.md",
      "quote": "The speaker is the mouth and the host microphone is the ear. Every spoken reply\nis synthesized by Hermes and cast over the Cast v2 protocol, after mDNS\ndiscovery and a TLS 8009 handshake. The speaker's own microphone is not\nreachable by third parties and is not used.\n\nThis directory is the installable plugin. It contains both halves:\n\n- **the platform adapter** (Python, standard library only): `kind: platform`,\n  five tools, two hooks, and `hermes googlehome` CLI commands;"
    },
    {
      "url": "https://raw.githubusercontent.com/jlucwright/shvl-agent-plugin/92298e257346765cbcb5dd390a5ba881a460054d/README.md",
      "quote": "## Scope\n\nThis is the workspace-first scope used by the approved SHVL public connector. It is not the separate expanded developer API. The historical CSV helper and CSV-led package were removed from this package in version 1.0.1. The server retains a legacy optional CSV tool for compatibility; this skill does not use or promote it.\n"
    },
    {
      "url": "https://raw.githubusercontent.com/cacx097/prize-radar/9f477018dff663df664be645a373e86b38383cca/README.md",
      "quote": "Why a plugin and not a prompt: the tools call official APIs and parse machine-readable deadlines and eligibility lists, the tracker keeps state across sessions in the plugin database, each event fires once, and the reminders reach you through Hermes's session hook, cron and messaging delivery without you asking.\n\n## Install\n\n```bash\nhermes plugins install prize-radar        # once listed in the catalog\nhermes plugins enable prize-radar"
    },
    {
      "url": "https://raw.githubusercontent.com/benhens/hermes-helper/7629e8d23ef96eb789304b9192b977c857f6ea75/README.md",
      "quote": "A Hermes Desktop plugin that helps you understand Hermes and set it up the way you want, one step at a time. It explains and checks; it never installs, builds or changes settings for you.\n"
    },
    {
      "url": "https://raw.githubusercontent.com/ockentap/hermes-dynamic-memory/1efe0fcd5c5d002cb55ce5b03d394cf2ec35c735/README.md",
      "quote": "1. **Plugin** — copy `plugin/dynmem/` to `~/.hermes/plugins/`, enable in `config.yaml`.\n2. **Skill** — copy `skill/` to `~/.hermes/skills/system-administration/dynamic-memory/`.\n   `skill-install/` holds the fresh-box setup skill.\n3. **Adopt the format** — restructure the index into `keywords → file.md` lines, then:\n   ```bash\n   python3 scripts/verify_index.py ~/.hermes/memories/MEMORY.md   # exits 0 = clean\n   ```"
    },
    {
      "url": "https://raw.githubusercontent.com/P0GL0L/hermes-lineage/61de70980f4322838a9b53f4802623146f1046c2/README.md",
      "quote": "## What it will not do\n\nSaid plainly, because the receipts are only worth something if their limits are.\n\n- lineage sees what Hermes's hooks report. A file written by a background process that outlives the tool call, or by anything outside Hermes, is not attributed.\n- *Inferred* means inferred. The `basis` and `confidence` fields exist so you can ignore the dashed lines."
    },
    {
      "url": "https://raw.githubusercontent.com/eddiemessiah/hermes-guardrails/fcbe5859f468b83634e92020f3abb520600555f4/README.md",
      "quote": "| Human approval | Payments over a threshold, or to a payee never paid before, go to Hermes's own approval prompt (Allow once / session / always / Deny). Each approval is scoped to one payment, so \"always\" never whitelists future spends. Unattended runs (cron, no human) fail closed. |"
    },
    {
      "url": "https://raw.githubusercontent.com/jamesparser/realcryptocap-hermes/9df89e0c1ae2ddf0c91ba34f65b6ce3ac02b5f13/README.md",
      "quote": "## Development\n\n```bash\npython tests/test_tools.py          # offline tests with fixture data\nhermes plugins validate . --install-deps\nhermes plugins doctor . --ci\n```\n\n## License\n\nMIT. Built by Node0 Data Systems / [RealCryptoCap](https://realcryptocap.com)."
    },
    {
      "url": "https://raw.githubusercontent.com/itsolaph/data-lens/00b83750c2cb6a5901fab71542957975716c5584/data_lens_middleware.py",
      "quote": "        result = next_call(args)          # exactly once, unconditionally, args untouched\n        if tool_name != READ_TOOL:\n            return result\n        try:\n            settings = load_settings(get_config)\n            if not settings.intercept_read_file or not settings.roots:\n                return result\n            base = _applicable_result(args, result)\n            if base is None or base[\"file_size\"] < settings.limits.min_bytes:\n                return result"
    },
    {
      "url": "https://raw.githubusercontent.com/P0GL0L/hermes-lineage/61de70980f4322838a9b53f4802623146f1046c2/lineage_core/tracker.py",
      "quote": "        # Inferred: read earlier in this turn, then in the recent session window.\n        if st is not None:\n            for src_id in st.consumed:\n                if src_id == nid or src_id in evidenced:\n                    continue\n                self.store.add_edge(nid, src_id, \"derived_from\", basis=\"inferred\", confidence=0.6,\n                                    meta={\"reason\": \"read earlier in this turn\"}, **ctx)"
    },
    {
      "url": "https://raw.githubusercontent.com/eddiemessiah/hermes-guardrails/fcbe5859f468b83634e92020f3abb520600555f4/core/guard.py",
      "quote": "        if d.action == \"approve\":\n            # rule_key is per payment so an \"always\" answer never whitelists future spends.\n            return {\"action\": \"approve\", \"message\": d.message, \"rule_key\": f\"guardrails:{req.key}\"}\n        return None\n\n    # -- guardrails_pay handler ---------------------------------------------\n    def pay(self, args: dict) -> dict:\n        try:\n            cfg = self.config()\n            req = self.build_request(PAY_TOOL, args, cfg)"
    },
    {
      "url": "https://raw.githubusercontent.com/eddiemessiah/hermes-guardrails/fcbe5859f468b83634e92020f3abb520600555f4/core/ledger.py",
      "quote": "    def claim(self, key: str):\n        \"\"\"Atomically move a reservation to 'charging'. Returns the prior row, or None if not claimable.\"\"\"\n        with self.tx() as db:\n            row = db.execute(\"SELECT status, approved_by FROM payments WHERE key=?\", (key,)).fetchone()\n            if not row or row[0] != \"reserved\":\n                return row\n            by = \"human\" if row[1] == \"pending\" else row[1]"
    },
    {
      "url": "https://raw.githubusercontent.com/jamesparser/realcryptocap-hermes/9df89e0c1ae2ddf0c91ba34f65b6ce3ac02b5f13/rcc_client.py",
      "quote": "    @staticmethod\n    def is_native(c: Dict[str, Any]) -> bool:\n        cid = (c.get(\"id\") or \"\").lower()\n        if cid in _NON_NATIVE_IDS:\n            return False\n        return not (_NON_NATIVE_RE.search(c.get(\"name\") or \"\") or _NON_NATIVE_RE.search(c.get(\"symbol\") or \"\"))\n\n    @staticmethod\n    def slim(c: Dict[str, Any]) -> Dict[str, Any]:\n        return {\n            \"rank\": c.get(\"real_rank\") or c.get(\"market_cap_rank\"),\n            \"id\": c.get(\"id\"),"
    },
    {
      "url": "https://api.github.com/repos/eddiemessiah/hermes-guardrails/git/trees/fcbe5859f468b83634e92020f3abb520600555f4?recursive=1",
      "quote": "__pycache__/__init__.cpython-312.pyc\",\"mode\":\"100644\",\"type\":\"blob\",\"sha\":\"2a2eccf56042cd71c6195b8a4b63ce6a7b2201cc\",\"size\":12900,\"url\":\"https://api.github.com/repos/eddiemessiah/hermes-guardrails/git/blobs/2a2eccf56042cd71c6195b8a4b63ce6a7b2201cc\"},{\"path\":\"__pycache__/__init__.cpython-314.pyc\",\"mo"
    }
  ]
}