{
  "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.j"
    },
    {
      "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/soilgrowerx/hermes-local-voice/7d795868bc7796f3234187435cab06822fbd85e3/README.md",
      "quote": "## What It Does\n\n`hermes-local-voice` adds four agent tools, two inbound chat hooks, an in-session `/local-voice` slash command, and a headless `hermes voice` CLI subcommand:\n\n* **Tools:**\n  * `transcribe_audio(path)`: validates and transcribes a local audio file (`.wav`, `.mp3`, `.ogg`, `.opus`, `.m4a`, `.flac`, `.webm`, `.aac`, `.mp4`, `.wma`, `.caf`). Returns transcript text, duration in seconds, detected language, and the model name.\n  * `voi"
    },
    {
      "url": "https://raw.githubusercontent.com/percyhendrux123-prog/hermes-axioma/fdd1fee06a2e63ffa3eb74f8e894c626c9b0651e/README.md",
      "quote": "Axioma **advises**. It never blocks, approves or executes anything. Hermes's own approval system and\nthe person reading decide.\n\n## Accessibility first\n\nColor is never the only cue. Every marked phrase carries three things where the surface allows it:\n\n| Level | Meaning | Night | Day | Style cue | Word |\n|---|---|---|---|---|---|\n| stop | Understood, but do not proceed. The reply says why and what turns it green. | `#FF453A` | `#D70015` | bold + "
    },
    {
      "url": "https://raw.githubusercontent.com/NiceStackApple/hermes-mood-engine/12af563b844fd8cec5bb2f2f046bb5de236f599c/README.md",
      "quote": "## Features\n\n- **4-axis state matrix (0-100, neutral at 50):**\n  - **Energy** (`<=35` low-effort/brief, `>=65` lively/enthusiastic)\n  - **Warmth** (`<=35` distant/matter-of-fact, `>=65` warm/playful)\n  - **Patience** (`<45` sulking/short replies, `<20` heavy dry text until cheered up, `>=65` patient/reassuring)\n  - **Focus** (`<=35` easily sidetracked/banter, `>=65` straight to technical substance)\n- **Zero-token neutral zone:** When all axes sit"
    },
    {
      "url": "https://raw.githubusercontent.com/marcofailli/tripscout/3a0e1e1a1320669efdf0ef9d0a614050f1a47856/README.md",
      "quote": "## What it does that a flight search does not\n\n| | |\n|---|---|\n| **Joint search** | The hotel price for a date window is fetched *before* the flight for that window. Google Flights shows you fares; it does not know your hotel bill. |\n| **Ground access per airport** | Each departure airport carries an access cost (train, bus, parking, fuel, return). That is what makes Bologna, Florence and Pisa actually comparable instead of nominally comparable. "
    },
    {
      "url": "https://raw.githubusercontent.com/Noshkoto/hermesmade/8a99f1be66b0423d1a2166d70285974c5d39c584/README.md",
      "quote": "# hermesmade: community Hermes bots\n\nShare your Hermes bots to [hermesmade.lol/bots](https://hermesmade.lol/bots), add other people's bots in one click, and move your Grok Bot bots into Hermes.\n\n```bash\nhermes plugins install hermesmade\n```\n\nRestart Hermes (or the desktop app) after installing. A **Community bots** page appears in the desktop sidebar.\n\n## Add a bot\n\nPress **Add bot** on hermesmade.lol (it opens `hermes://open/hermesmade?add=<id>`"
    },
    {
      "url": "https://raw.githubusercontent.com/ListeningPost/vibeline/d5d0f425a64906ae1a50c1222314a5420da404d5/README.md",
      "quote": "**Rewind and retry.** Select any step on a session's own rail and use *Rewind to this prompt and retry* (two\nclicks: the first says how many steps will be dropped). vibeline calls Hermes's `SessionDB.rewind_to_message`,\nthe call behind `/rewind`, then opens a terminal on the session with the prompt resubmitted (`hermes chat\n--resume ID -q PROMPT`). The dropped steps are soft-deleted by Hermes and stay on the rail as ghosts. It\nrewinds the convers"
    },
    {
      "url": "https://raw.githubusercontent.com/neweraXX/freshness-sidecar/fbcb965fe90dc9658ca7a483422619a74c2b5d69/README.md",
      "quote": "# Freshness Sidecar\n\nGive Hermes local-file notes that warn the agent when their source files change.\n\nAn agent can remember \u201cthe API uses port 8000\u201d long after the configuration changes. Freshness Sidecar binds that note to a file fingerprint and checks it again before each user turn.\n\nIt works alongside your existing memory provider. It does not occupy the memory-provider slot.\n\n## How it works\n\n    /fresh add file fact\n             |\n         "
    },
    {
      "url": "https://raw.githubusercontent.com/studioluftbruecke/hermes-unblockbruecke/f11471187d1aa25b81e4644da08a22148035841a/README.md",
      "quote": "## What it does\n\n- **A card table in Hermes Desktop.** Pick a deck, draw, turn the card over (click it or press F).\n  **Use in chat**, **Ask Hermes** and **Why this card?** take it further.\n- **Auto-draw for your agent (off by default).** When tool calls fail in a row, the failing result\n  that reaches the count carries one card. The call still counts as failed: the card adds a\n  direction and never hides an error.\n- **Six decks, 80 cards.** Agen"
    },
    {
      "url": "https://raw.githubusercontent.com/Takumixbt/Hermes-Arcade/cbcda3bbad2d5f03007594a6ef87d757131cbb29/README.md",
      "quote": "## What it touches\n\n- No network calls of its own. Chess model opponents and `/race` call the\n  provider you configured, through Hermes.\n- Model-written kart controllers execute as Python in a child process. That is\n  arbitrary code by design; run `/race` only with models you would let run code.\n- Games draw with sixel graphics when the terminal supports it (Windows Terminal\n  1.22+, WezTerm, iTerm2, foot). Everywhere else \u2014 VS Code, Cursor, any "
    },
    {
      "url": "https://raw.githubusercontent.com/dax8it/total-recall/fb5f332dfa150f882c5b27b4d71fbdd485b2657c/README.md",
      "quote": "## What It Provides\n\n- append-only ledger ingestion with hash chaining\n- deterministic state reduction\n- checkpoint creation\n- signed anchor verification\n- fail-closed verify and rehydrate\n- hard-coded trust gate for release/day-one execution verification\n- resume-packet handoff export and fail-closed resume rehydrate\n- device registry, encrypted backup restore, remote HEAD push/pull, single-writer\n  leases, fork-import quarantine, receipt verifi"
    },
    {
      "url": "https://raw.githubusercontent.com/studioluftbruecke/hermes-unblockbruecke/f11471187d1aa25b81e4644da08a22148035841a/autodraw.py",
      "quote": "  `attached` means offered: this hook returned the result with the card. Hermes keeps the first\n  string any `transform_tool_result` hook returns, so when another plugin's hook answers first the\n  card does not reach the model although the row says attached, and the turn's slot is used.\n\"\"\"\nfrom __future__ import annotations\n\nimport json\nimport logging\nimport threading\nimport time\nfrom collections import OrderedDict\nfrom dataclasses import datacl"
    },
    {
      "url": "https://raw.githubusercontent.com/soilgrowerx/hermes-local-voice/7d795868bc7796f3234187435cab06822fbd85e3/recorder.py",
      "quote": "    if _pid_is_alive(pid):\n        try:\n            os.kill(pid, signal.SIGINT)\n        except OSError:\n            pass\n        deadline = time.time() + 3.0\n        while time.time() < deadline and _pid_is_alive(pid):\n            time.sleep(0.05)\n        if _pid_is_alive(pid):\n            try:\n                os.kill(pid, signal.SIGTERM)\n            except OSError:\n                pass\n            time.sleep(0.1)\n\n    _write_recording_state(None"
    },
    {
      "url": "https://raw.githubusercontent.com/Takumixbt/Hermes-Arcade/cbcda3bbad2d5f03007594a6ef87d757131cbb29/console/games/kart/agent.py",
      "quote": "        env = dict(os.environ)\n        env[\"PYTHONPATH\"] = str(root) + os.pathsep + env.get(\"PYTHONPATH\", \"\")\n        env[\"PYTHONIOENCODING\"] = \"utf-8\"\n        try:\n            proc = subprocess.run(\n                [sys.executable, str(path)],\n                capture_output=True, text=True, timeout=timeout, env=env, cwd=str(root),\n            )\n        except subprocess.TimeoutExpired:\n            return {\"error\": f\"policy exceeded {timeout:.0f}"
    },
    {
      "url": "https://raw.githubusercontent.com/marcofailli/tripscout/3a0e1e1a1320669efdf0ef9d0a614050f1a47856/tripscout_core/optimizer.py",
      "quote": "    hotel_total = float(affordable[0].total_price) if affordable else 0.0\n    flight_price = float(offer.price) if offer.usable else 0.0\n    access_total = access_cost * spec.adults\n    transfer_total = transfer_cost * 2 * spec.adults\n    booked_total = flight_price * spec.adults + hotel_total + access_total + transfer_total\n    estimate = None\n    if spec.estimates:\n        estimate = estimate_stay(\n            city=dest_city,\n            countr"
    },
    {
      "url": "https://raw.githubusercontent.com/Noshkoto/hermesmade/8a99f1be66b0423d1a2166d70285974c5d39c584/hermesmade_share.py",
      "quote": "    state[plan[\"name\"]] = {\"id\": res[\"id\"], \"manage_token\": res.get(\"manage_token\") or prev.get(\"manage_token\"),\n                           \"version\": plan[\"version\"], \"handle\": handle, \"url\": res.get(\"url\"),\n                           \"profile\": plan[\"profile\"], \"shared_at\": int(time.time())}\n    _save_state(state)\n    return res\n\n\n# ------------------------------------------------------------------ install --\n\n# A downloaded bot is someone else"
    },
    {
      "url": "https://raw.githubusercontent.com/neweraXX/freshness-sidecar/fbcb965fe90dc9658ca7a483422619a74c2b5d69/sources.py",
      "quote": "def _open_nofollow(path: str) -> tuple[int, int, str]:\n    \"\"\"Open every component of an absolute path without following symlinks.\n\n    Walks from ``/`` with one directory descriptor per component (O_NOFOLLOW|O_DIRECTORY), so a\n    parent directory swapped for a symlink between checks cannot redirect the read outside the\n    workspace. The final file is opened O_NOFOLLOW|O_NONBLOCK so a FIFO/device cannot block.\n    Returns (file_fd, parent_dir_f"
    },
    {
      "url": "https://raw.githubusercontent.com/dax8it/total-recall/fb5f332dfa150f882c5b27b4d71fbdd485b2657c/src/total_recall_core/hermes_provider.py",
      "quote": "    def _consume_prefetch(self) -> str:\n        with self._prefetch_lock:\n            value = self._prefetch_result\n            self._prefetch_result = \"\"\n        return value\n\n    def _format_context(self, payload: Dict[str, Any]) -> str:\n        if not payload.get(\"ok\"):\n            return \"\"\n        context = str(payload.get(\"context\") or \"\")\n        return context[:5000]\n\n\ndef register(ctx) -> None:\n    ctx.register_memory_provider(TotalRecal"
    },
    {
      "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. Its declared `requires_env` and\n   `config_schema` secrets are read with `agent.secret_scope.get_secret(NAME)`,\n   which honours the active profile (a bare `os.environ` read can pick up another\n   profile's key under multiplexing). A subscription sign-in (Codex / ChatGPT\n   today) is used only through `credentialed_provider_request` with\n   `requires_auth`, so Her"
    }
  ]
}
