{
  "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."
    },
    {
      "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:"
    },
    {
      "url": "https://raw.githubusercontent.com/EricBlack47/hermes-persona-stickers/7db126a7bfb51d21e53d1520da46c346b0a72611/README.md",
      "quote": "`hermes-persona-stickers` gives Hermes Agent an expressive visual voice. Instead of replying with dry text, Hermes can stamp bespoke chibi stickers on demand—pouting, boasting, sighing, or celebrating alongside the user with **sub-30ms instant response**—via the `generate_persona_sticker` tool or `/sticker` command."
    },
    {
      "url": "https://raw.githubusercontent.com/arcmira/hermes-plugin/87b038801e58b6032e9e1c96d82cf36bb0e13b64/README.md",
      "quote": "This plugin connects Hermes Agent to [Arcmira's hosted MCP server](https://arcmira.com/docs/mcp-server) and bundles eleven research skills. Ask Hermes what a video said, where someone said something, or who sponsors a show, and it answers with the line and a watch link cued to that second. The plugin runs no local code. It needs Hermes Agent 0.22.2 or later with MCP support."
    },
    {
      "url": "https://raw.githubusercontent.com/Ronitron007/hermes-chat-tree/eb94f1082838db82a85d9b869ef70e443d220374/chat-tree/README.md",
      "quote": "- Catalog rule 8 keeps a listed plugin inside the SDK surface, and the scroll goes outside it. We chose this on purpose, and `hermes plugins validate` warns about it for the reviewer. A Desktop update can break the scroll without notice. Then a click only opens the chat."
    },
    {
      "url": "https://raw.githubusercontent.com/newjordan/myradio/66d611bad24f069a41b136b0672b39b9ab3cde12/integrations/hermes/README.md",
      "quote": "- That child is myradio's own MCP adapter. It reads `control.token` from the station's data folder and talks only to\n  `127.0.0.1:<port>`. The plugin itself never reads the token, and you never paste one anywhere.\n- `/radio request` on Hermes 0.23+ makes one completion with your configured Hermes model (through Hermes's own\n  plugin model access) to write the song's title, style and lyrics.\n- No o"
    },
    {
      "url": "https://raw.githubusercontent.com/belivetech/hermes-belive-aihub/5d022b5a7190c673162965f4593b5a86f14e2c84/README.md",
      "quote": "The plugin discovers models from `https://tokenhub-api.belive.sg/api/v1/models` and lists entries whose catalog explicitly advertises ready Chat Completions with tools and text output. It preserves the gateway's exact `author/slug` IDs. Non-chat models are excluded. If discovery fails, Hermes uses the small curated model list; that list is not a guarantee that every account may access every model."
    },
    {
      "url": "https://raw.githubusercontent.com/johnnyminer/hermes-underwriting/a98c126953989cbcedd00bd3572760b2bcea890a/README.md",
      "quote": "`uw_extract` does not take the model's word for anything. Every number it returns is matched back\nagainst the document text: if the figure appears, the line is attached as its quote and marked\n`verified: true`. If the model cites the document for a number the document does not contain, that\nis reported as a warning — not quietly kept. Derived figures (rent × units × 12) are kept but\nlabelled, and "
    },
    {
      "url": "https://raw.githubusercontent.com/AdwaveInc/adwave-agent-plugin/0b5ab18aa6ebcde1a33f7dcd399a8c07cebf342c/README.md",
      "quote": "Adwave spends from a prepaid wallet you fund. The skill tells the assistant to get\nyour yes before every call that spends, to show amounts first, and never to ask for\ncard details (top-ups happen on Stripe's page). Read-only tools are marked read-only,\nso assistants can run them without asking; launch, resume, end and budget tools are\nmarked as changing your account. Disconnect an assistant any ti"
    },
    {
      "url": "https://raw.githubusercontent.com/liferacer780/hermes-youbench/56585d359bec9bb9aca2aa8b09167a484cecc981/README.md",
      "quote": "* **Exact starting state.** A `pre_llm_call` hook snapshots your git workspace *before* the agent\n  touches it, so a replay starts from precisely the files the original run saw, including\n  uncommitted and untracked changes.\n* **Isolated replays.** Each model gets its own unpacked copy of the project. A `pre_tool_call`\n  guard pins every replay's file and terminal calls inside that copy, so replay"
    },
    {
      "url": "https://raw.githubusercontent.com/Subramanyarao11/hermes-polyglot/6a98ad207c9d912da48a9098caff0c5ef709379a/README.md",
      "quote": "Polyglot uses Hermes's `pre_gateway_dispatch` hook, which sees each incoming group message before the\nagent does. In a group where Polyglot is on, it:"
    },
    {
      "url": "https://raw.githubusercontent.com/Biznomad/runproof/c5a6b2486be3f075a46e9c1744291844fa254fb6/README.md",
      "quote": "The receipt ties the hashed snapshot to the recorded job and execution window. Freshness relies on filesystem timestamps and a dedicated producer-owned report path. Treat writers with access to that path or its timestamps as trusted."
    },
    {
      "url": "https://raw.githubusercontent.com/EricBlack47/hermes-persona-stickers/7db126a7bfb51d21e53d1520da46c346b0a72611/plugin.yaml",
      "quote": "provides_tools:\n  - generate_persona_sticker\nprovides_commands:\n  - sticker\nrequires_env: []\n"
    },
    {
      "url": "https://raw.githubusercontent.com/Ronitron007/hermes-chat-tree/eb94f1082838db82a85d9b869ef70e443d220374/chat-tree/src/chat-tree.js",
      "quote": "export const REVEAL_EVENT = 'hermes:timeline-reveal';\nexport const WORKSPACE_VIEWPORT = '[data-session-anchor=\"workspace\"] [data-slot=\"aui_thread-viewport\"]';\nconst TURN_PAIR = '[data-slot=\"aui_turn-pair\"]';\nexport const REVEAL_POLL_MS = 100;\nexport const REVEAL_WAIT_MS = 5_000;\nexport const REVEAL_"
    },
    {
      "url": "https://raw.githubusercontent.com/newjordan/myradio/66d611bad24f069a41b136b0672b39b9ab3cde12/myradio/mcp.py",
      "quote": "token = (Path(args.data_dir).expanduser() / \"control.token\").read_text().strip()"
    },
    {
      "url": "https://raw.githubusercontent.com/johnnyminer/hermes-underwriting/a98c126953989cbcedd00bd3572760b2bcea890a/tools.py",
      "quote": "def _find_in_document(doc, value):\n    \"\"\"Return the line of the document that states this number, or None."
    },
    {
      "url": "https://raw.githubusercontent.com/liferacer780/hermes-youbench/56585d359bec9bb9aca2aa8b09167a484cecc981/guard.py",
      "quote": "def map_path(path: str, sandbox: str, repo_root: str) -> tuple[str, bool]:\n    \"\"\"(mapped path, is_inside_sandbox).\"\"\"\n    raw = _P.expanduser(to_native(path or \".\"))\n    if not _P.isabs(raw):\n        return _P.join(sandbox, raw), True\n    if _inside(raw, sandbox):\n        return raw, True\n    if repo_root and _inside(raw, repo_root):\n        rel = _P.relpath(_norm(raw), _norm(repo_root))\n        return _P."
    },
    {
      "url": "https://raw.githubusercontent.com/Subramanyarao11/hermes-polyglot/6a98ad207c9d912da48a9098caff0c5ef709379a/translate.py",
      "quote": "text = text.strip()[:MAX_MESSAGE_CHARS]\n        # The sender's chosen language is only a hint: people switch languages mid-chat, so a\n        # language is skipped only once it has been detected in the text itself.\n        source: Optional[Language] = None\n        if self.sarvam is not None and any("
    },
    {
      "url": "https://raw.githubusercontent.com/belivetech/hermes-belive-aihub/5d022b5a7190c673162965f4593b5a86f14e2c84/tests/test_provider.py",
      "quote": "def test_real_host_auxiliary_transport_uses_each_profiles_key(plugin, tmp_path, monkeypatch, staging):\n    from agent.auxiliary_client import get_text_auxiliary_client, resolve_vision_provider_client\n    from hermes_cli.auth import resolve_provider\n "
    },
    {
      "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 t"
    }
  ]
}