{
  "sources": [
    {
      "url": "https://raw.githubusercontent.com/P0GL0L/hermes-lineage/61de70980f4322838a9b53f4802623146f1046c2/README.md",
      "quote": "<p align=\"center\">\n  <img src=\"docs/banner.png\" alt=\"lineage — where did this file come from?\" width=\"820\">\n</p>\n\n<p align=\"center\">\n  <a href=\"https://github.com/NousResearch/hermes-agent/pull/149244\"><img alt=\"Hermes plugin catalog PR\" src=\"https://img.shields.io/badge/Hermes%20catalog-PR%20%23149244-5b8def\"></a>"
    },
    {
      "url": "https://raw.githubusercontent.com/P0GL0L/hermes-lineage/61de70980f4322838a9b53f4802623146f1046c2/lineage_core/tracker.py",
      "quote": "\"\"\"Turns Hermes observer-hook events into provenance.\n\nThe Tracker owns no behaviour: every method is a hook callback that records what\nHermes reports, decides which nodes it implies, and links them with an explicit\nbasis. The three bases are the whole product:\n\n* ``observed``  — Hermes said so. ``write_file`` wrote this path; this tool call"
    },
    {
      "url": "https://raw.githubusercontent.com/P0GL0L/hermes-lineage/61de70980f4322838a9b53f4802623146f1046c2/lineage_core/receipt.py",
      "quote": "\"\"\"Receipts, verification and exports.\n\nA receipt is the part of lineage that leaves Hermes: a JSON sidecar\n(``report.pdf.receipt.json``) that says what the file is (hash), who made it\n(agent, model, tool call), what it was made from (sources with their own hashes\nand an explicit basis) and when. Anyone with the file and the receipt can check"
    },
    {
      "url": "https://raw.githubusercontent.com/ddaikodaiko/hermes-time-machine/1ac9c78e539dd518d6c8d8ffd64395b72bab30d4/README.md",
      "quote": "# hermes-time-machine\n\n**The rollback that knows what it can't undo.**\n\n▶ **[69-second demo](https://x.com/daik0zz/status/2119454575119737147)**: a real, unedited Hermes 0.23 session.\nThe agent pushes, `/rollback` erases that turn from the chat, and the model still knows it\npushed and gives the exact command to undo it.\n"
    },
    {
      "url": "https://raw.githubusercontent.com/ddaikodaiko/hermes-time-machine/1ac9c78e539dd518d6c8d8ffd64395b72bab30d4/effects.py",
      "quote": "\"\"\"Effect ledger: actions a workspace rewind cannot undo.\n\nThe ledger is intentionally conservative. If a command might have changed\nstate outside the protected workspace, it is recorded and flagged.\n\nEvery rollback tool restores files. None of them can undo a ``git push``, an\n``npm publish`` or a ``terraform apply``. hermes-time-machine records those"
    },
    {
      "url": "https://raw.githubusercontent.com/ddaikodaiko/hermes-time-machine/1ac9c78e539dd518d6c8d8ffd64395b72bab30d4/guard.py",
      "quote": "        session = handlers.session_dir()\n\n        found = effects.preflight(str(tool_name), args, session)"
    },
    {
      "url": "https://raw.githubusercontent.com/vcruz305/hermes-roam/8b9fba41fea77f2fe2d6d572cffd43039d2da11f/README.md",
      "quote": "<p align=\"center\"><img src=\"assets/catalog-banner.png\" alt=\"Hermes Roam\" width=\"720\"></p>\n\n# Hermes Roam\n\n**Encrypted, host-scoped sync of your Hermes Agent home between your own machines — into storage you own, with secrets that never leave, and nothing installed without your decision.**\n"
    },
    {
      "url": "https://raw.githubusercontent.com/vcruz305/hermes-roam/8b9fba41fea77f2fe2d6d572cffd43039d2da11f/settings.py",
      "quote": "\"\"\"Settings resolution for hermes-roam: config namespace + secrets -> RoamSettings.\n\nEverything here runs inside Hermes (register() stored the PluginContext) or in\ntests without Hermes; every Hermes import is lazy with a documented fallback.\n\"\"\"\n\nfrom __future__ import annotations\n\nimport dataclasses\nimport importlib\nimport logging\nimport os\nimport re\nimport socket\nfrom pathlib import Path"
    },
    {
      "url": "https://raw.githubusercontent.com/vcruz305/hermes-roam/8b9fba41fea77f2fe2d6d572cffd43039d2da11f/roam/engine.py",
      "quote": "\"\"\"Push/pull/status/diff orchestration. Collaborators are injected; nothing here imports Hermes.\"\"\"\n\nfrom __future__ import annotations\n\nimport fnmatch\nimport hashlib\nimport importlib\nimport inspect\nimport json\nimport os\nimport re\nimport shutil\nimport sys\nimport tempfile\nimport time\nimport uuid\nfrom collections.abc import Callable, Iterator\nfrom contextlib import contextmanager"
    },
    {
      "url": "https://raw.githubusercontent.com/brukchip/hermes-lens/487fb7c911fa91e3f3768ce863b77f030ab23b56/README.md",
      "quote": "<p align=\"center\"><img src=\"docs/logo.png\" width=\"180\" alt=\"Luna, the Hermes Lens companion\"></p>\n\n<h1 align=\"center\">Hermes Lens: your Hermes agent on Ray-Ban Meta glasses</h1>\n\n<p align=\"center\"><b>Hermes Lens is an open-source (MIT) Hermes Agent platform plugin and iPhone app that\nconnects Ray-Ban Meta glasses to your own Hermes agent.</b><br>"
    },
    {
      "url": "https://raw.githubusercontent.com/brukchip/hermes-lens/487fb7c911fa91e3f3768ce863b77f030ab23b56/adapter.py",
      "quote": "\"\"\"Hermes Lens: Ray-Ban Meta glasses as a Hermes channel.\n\nThe iPhone app holds the voice conversation with Gemini Live directly; this adapter\n1. mints the locked, single-use Gemini Live grant for each call (`grant.py`),\n2. turns the voice model's `ask_luna` calls into ordinary messages in this chat, so the\n   user's own Hermes agent answers with its memory, tools and skills, and"
    },
    {
      "url": "https://raw.githubusercontent.com/e-shizz/wings/0bed887bd06dd356995cabdfc4bdd5af5ac3dd98/plugin/README.md",
      "quote": "# 🪽 Wings\n\n**Link every Hermes you own, and your phone, into one wing net.** A private network between your own devices: no account, no coordination server, no third party.\n"
    },
    {
      "url": "https://raw.githubusercontent.com/e-shizz/wings/0bed887bd06dd356995cabdfc4bdd5af5ac3dd98/plugin/__init__.py",
      "quote": "\"\"\"Wings — give your Hermes wings.\n\nQR-paired WireGuard for Hermes: every Hermes computer you own and your phone on one private\nnetwork. No account, no coordination server, no third party.\n\nSurfaces registered here:\n  CLI       hermes wings (cockpit)|setup|status|doctor|connect|attach|name|add|invite|join|relay|address|login|safety|trust|qr|revoke|endpoint|router|refresh|upkeep|uninstall"
    },
    {
      "url": "https://raw.githubusercontent.com/e-shizz/wings/0bed887bd06dd356995cabdfc4bdd5af5ac3dd98/plugin/wings/trust.py",
      "quote": "\"\"\"Computers in one wing net sign each other in: no passwords between your own machines.\n\nThe hub makes a random wing net key and hands it to each computer when it joins, inside the WireGuard\ntunnel. Phones added by QR never get it: they sign in by being on the tunnel (see device_provider).\n\nTo open another machine's Hermes, the cockpit sends that machine a short-lived note signed with the"
    },
    {
      "url": "https://raw.githubusercontent.com/Web3B-eth/whos-listening/a498dd769c4196d0e911b713d4ad7363c8154ba1/README.md",
      "quote": "# Who's Listening?\n\n_Plugin ID: `whos-listening`. Commands, settings, menus and tool names use the ID, since they can't contain an apostrophe._\n\nA memory plugin for [Hermes Agent](https://github.com/NousResearch/hermes-agent) that knows **who is listening**.\n"
    },
    {
      "url": "https://raw.githubusercontent.com/Web3B-eth/whos-listening/a498dd769c4196d0e911b713d4ad7363c8154ba1/whos_listening/guard.py",
      "quote": "\"\"\"The request guard: the last check before a request leaves for a model.\n\nHermes runs ``llm_request`` middleware on every main chat request, after the request is built\nand before it is sent. The guard gets the real route of that request (provider, model,\n``base_url``). On a Shared route it removes every tagged Private span from every string in the"
    },
    {
      "url": "https://raw.githubusercontent.com/Web3B-eth/whos-listening/a498dd769c4196d0e911b713d4ad7363c8154ba1/whos_listening/tools.py",
      "quote": "\"\"\"The memory tools the model can call, as plain functions over a `Store`.\n\nNothing here imports Hermes. The provider passes in the route tier it believes the\ncurrent request has; Private memories only come back on a Private route, and they come\nback tagged so the guard can find them later.\n\"\"\"\n\nfrom __future__ import annotations\n\nimport json\nimport logging\nimport re"
    },
    {
      "url": "https://gist.githubusercontent.com/gtmcknight/594c47336546c8763e641b46cf9af4ec/raw/field.json",
      "quote": "{\"pr\":153316,\"name\":\"hermes-lens\",\"repo\":\"https://github.com/brukchip/hermes-lens\",\"sha\":\"487fb7c911fa91e3f3768ce863b77f030ab23b56\",\"subdir\":\"\"}"
    },
    {
      "url": "https://gist.githubusercontent.com/gtmcknight/594c47336546c8763e641b46cf9af4ec/raw/RUN.md",
      "quote": "# Run a plugin inside real Hermes\n\nFor seats in rounds 3 and 4. Everything lives under `test/scratch/`. Nothing here needs a model, a key or an account: the model is Nous's own scripted test stand-in, `tests/fakes/fake_llm_provider.py` in the Hermes source, which answers with the tool calls you plan and records everything Hermes sends.\n\n## 1. Herme"
    },
    {
      "url": "https://raw.githubusercontent.com/NousResearch/hermes-agent/fdde27e7dae174cb4ba842589e92508852b7dd9f/plugin-catalog/README.md",
      "quote": "11. **Credentials come through Hermes, never from files.** A plugin gets\n   secrets only through Hermes's routes."
    }
  ]
}