{
  "sources": [
    {
      "url": "https://raw.githubusercontent.com/aydnOktay/hermes-done-bell-/3fa519a291d91b0e6c44bd42762190363ce80c39/README.md",
      "quote": "Copy 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\nRestart Hermes. Status bar chip: `busy` while working, `done` when idle.\n"
    },
    {
      "url": "https://raw.githubusercontent.com/NousResearch/hermes-official-plugins/e7a218f26db88426ab3e7376f0e000b6e356f5e7/homeassistant/README.md",
      "quote": "By default, **no events are forwarded**. Configure at least one of `watch_domains`, `watch_entities`\nor `watch_all`, otherwise a warning is logged at startup and every state change is dropped. Settings\ngo under the platform's `extra` section in `~/.hermes/config.yaml`:\n\n```yaml\nplatforms:\n  homeassistant:\n    enabled: true\n    extra:\n      watch_domains:\n        - climate\n        - binary_sensor\n        - alarm_control_panel"
    },
    {
      "url": "https://raw.githubusercontent.com/flamiinngo/rehearse/d30be9914ee3a94c66913d48d5d4f9ce724cd71c/README.md",
      "quote": "Eye contact combines head direction with where your pupils point, so facing the camera while reading your notes still counts as looking away; when the eyes can't be read (glare, low light, far from the camera) it falls back to head direction rather than guess. Live interviews also report composure: how steady you held your head across the answers. Posture and hand gestures are not measured yet.\n\n## How it works\n\n```"
    },
    {
      "url": "https://raw.githubusercontent.com/kOs-tile/hermes-parallel/3ba1a65ec8fed25634b904c0cd527ed315d573d4/README.md",
      "quote": "cp -R ./plugin.yaml ./__init__.py ./core.py ./gallery.py \"$HOME/.hermes/plugins/hermes-parallel/\"\n\nhermes plugins doctor \"$HOME/.hermes/plugins/hermes-parallel\"\nhermes plugins validate \"$HOME/.hermes/plugins/hermes-parallel\" --install-deps\nhermes plugins enable hermes-parallel\n```\n"
    },
    {
      "url": "https://raw.githubusercontent.com/P0GL0L/hermes-lineage/61de70980f4322838a9b53f4802623146f1046c2/README.md",
      "quote": "Ten observer hooks → a SQLite graph at `<HERMES_HOME>/plugin-data/lineage/lineage.db` → receipts and the page. `write_file` and `patch` (including V4A multi-file patches) are observed directly; `terminal` and `execute_code` get one bounded walk of the working tree after the call, attributing every file whose mtime falls inside the call's window; `read_file`, `web_search`, `web_extract`, `skill_view`, and paths or URLs named in"
    },
    {
      "url": "https://raw.githubusercontent.com/capthvnsen/hermes-conductor/b01e811a4c93d8b7bcbd02beaca257ae6c65e3ef/README.md",
      "quote": "It imports one private Hermes function, `gateway.session_context.bound_session_key`, to learn which chat asked, because the plugin API has no call for it. If the import fails, finish messages fall back to the session key Hermes passes to the tool.\n\n## Tests\n\n```bash\nuv run --no-project --with pytest python -m pytest tests\n```"
    },
    {
      "url": "https://raw.githubusercontent.com/jpaulupshaw/hermes-say-do-gate/03402ba924f9db0dbdcfd807df7cd7f3cd131664/README.md",
      "quote": "- **Unsupported shell forms.** Heredocs, `tee`, and redirects that write files count as unverifiable, not backed. Test runners outside the supported list are not recognized.\n- **External work.** CI runs, deploys from another machine, or anything without a tool receipt in this session cannot back a claim."
    },
    {
      "url": "https://raw.githubusercontent.com/UEddy/Obol/d21df0241a3c88d0def0f12ef7ffa581e6e0b59f/README.md",
      "quote": "- **Approvals switched off.** With YOLO mode or `approvals.mode: off`, Hermes approves everything, Obol's prompts included. Live-key and scheduled-run refusals still apply.\n- **Injection it has never seen.** Detection is pattern-based; new phrasings, other languages or instructions in images can slip through. The recipient rule and the approval prompt don't depend on detection."
    },
    {
      "url": "https://raw.githubusercontent.com/thebangarang/clearvoice-hermes-plugin/d4bc366ec72d4f2af1a1772b3a94f48bd0e0b156/README.md",
      "quote": "**No speaker adaptation.** A general Whisper on an atypical voice is worse than a\n  model trained on that speaker. Voiceitt asks for 50–200 recorded phrases, Project\n  Relate asked for 500. We ask for a word list — cheaper, weaker. This is the single\n  biggest gap in the product.\n- **Ten of seventeen languages do not re-order a sentence** (tier C above), and the\n  non-English Piper voices are more robotic than Phonon."
    },
    {
      "url": "https://raw.githubusercontent.com/defuzzr/defuzz/86506840a9ba36f6211bd66988ea947c5c464f52/README.md",
      "quote": "- **Reads:** Audits the Hermes home read-only (settings, memory, skills, scheduled jobs and databases), selected projects, referenced files and parent context, and startup settings in your home folder: shell and Git configuration, systemd user units, autostart entries, pip, npm and cargo settings, and Python site customisation. Credential stores are only checked for presence. Session text is opt-in. Adopt and scan read the fol"
    },
    {
      "url": "https://raw.githubusercontent.com/neta-gym/skillcheck/501cc11c89b1437eed96ed387451185616bf57d2/README.md",
      "quote": "Each case executes in a fresh child session launched\n   through Hermes's public Subagent Lifecycle API with `allowed_toolsets=()`\n   (no file, shell, browser or network tools) and fixtures inlined in the\n   prompt, so tests cannot touch real state.\n4. **Decide** - every run reports GREEN / REGRESSION / FIRST-RUN /\n   INCONCLUSIVE against the promoted baseline, with per-case evidence."
    },
    {
      "url": "https://raw.githubusercontent.com/josh-andrews-dev/annotary-hermes/253abf811b4be90f57834f8233730fbc688e7ced/README.md",
      "quote": "Waking needs Hermes's `allow_gateway_injection` permission for this plugin, per profile. It is\noff until you turn it on (`hermes annotary wake on`, or Settings → Plugins); the agent's first share\nasks whether you want it. While it is off, Send back, Approve and @mentions show as notifications, and the agent\nsees them on its next Annotary tool call. A Bot that has no chat of its own on record (it never"
    },
    {
      "url": "https://raw.githubusercontent.com/capthvnsen/hermes-conductor/b01e811a4c93d8b7bcbd02beaca257ae6c65e3ef/runner.py",
      "quote": "def _spawn(argv: list[str], cwd: str | None, log_path: Path) -> int:\n    log_path.parent.mkdir(parents=True, exist_ok=True)\n    with open(log_path, \"ab\") as log:  # the child keeps its own copy of the handle\n        proc = subprocess.Popen(\n            argv,\n            cwd=cwd or None,\n            stdin=subprocess.DEVNULL,\n            stdout=log,\n            stderr=subprocess.STDOUT,\n            start_new_session=True,"
    },
    {
      "url": "https://raw.githubusercontent.com/neta-gym/skillcheck/501cc11c89b1437eed96ed387451185616bf57d2/core/checks.py",
      "quote": "return CheckResult(\"judge\", bool(payload[\"passed\"]),\n                           f\"judge: {payload.get('reason', '')[:200]}\")\n    except Exception as exc:  # judge outages must never read as pass or fail\n        return CheckResult(\"judge\", False, f\"judge unavailable: {exc} (inconclusive)\")\n\n\ndef evaluate_case(answer: Optional[str], case: dict[str, Any], llm: Any = None) -> dict[str, Any]:"
    },
    {
      "url": "https://raw.githubusercontent.com/josh-andrews-dev/annotary-hermes/253abf811b4be90f57834f8233730fbc688e7ced/annotary_hermes/rules.py",
      "quote": "if review_is_open and not review_over:\n        return (\"A review is open: the person has commented on this Version and has not sent it back \"\n                \"or approved it yet. Do not push. Wait for Send back or Approve (you will be woken), \"\n                \"or push with review_over=true only if the person said in chat that the review is over.\")\n    return None"
    },
    {
      "url": "https://raw.githubusercontent.com/P0GL0L/hermes-lineage/61de70980f4322838a9b53f4802623146f1046c2/lineage_core/tracker.py",
      "quote": "* ``observed``  — Hermes said so. ``write_file`` wrote this path; this tool call\n  came out of that model request (``api_request_id``); this child agent was\n  spawned by that turn.\n* ``evidenced`` — the artifact's own bytes name the source: a URL that was\n  fetched this session, or the path of a file that was read.\n* ``inferred``  — the source was read earlier in the same turn (confidence 0.6)"
    },
    {
      "url": "https://raw.githubusercontent.com/jpaulupshaw/hermes-say-do-gate/03402ba924f9db0dbdcfd807df7cd7f3cd131664/gate.py",
      "quote": "if self.mode == \"annotate\":\n            footer = render_footer(verdicts)\n            if footer:\n                return response_text.rstrip() + \"\\n\\n\" + footer\n            return None\n        else:\n            # observe mode: store nudge for next turn\n            nudge = render_nudge(verdicts)\n            if nudge:\n                self._store_nudge(session_id, nudge)\n            return None\n"
    },
    {
      "url": "https://raw.githubusercontent.com/thebangarang/clearvoice-hermes-plugin/d4bc366ec72d4f2af1a1772b3a94f48bd0e0b156/clearvoice_engine/runtime.py",
      "quote": "def consume(self, token: str) -> PendingSpeech | None:\n        \"\"\"Redeem a token once. Wrong, missing or expired token → None.\"\"\"\n        item = self.peek()\n        if item is None or not token:\n            return None\n        if not secrets.compare_digest(str(token), item.token):\n            return None\n        self._item = None\n        return item\n\n    def clear(self) -> None:\n        self._item = None\n\n"
    },
    {
      "url": "https://raw.githubusercontent.com/defuzzr/defuzz/86506840a9ba36f6211bd66988ea947c5c464f52/docs/limits.md",
      "quote": "## Audit\n\n- The audit describes current files and settings, not what an agent actually did.\n- Some checks read other profiles’ content, including memory and files used for duplicate hashes.\n- Full audits can inspect discovered link targets; individual reads reject unexpected links.\n- Reads may update access times; file sizes do not measure unique disk blocks."
    },
    {
      "url": "https://raw.githubusercontent.com/NousResearch/hermes-agent/main/plugin-catalog/README.md",
      "quote": "12. **Approvals and unattended runs are respected.** A plugin never routes around\n   Hermes's approval system: no auto-approving, no disabling guards, and no\n   spawning Hermes or shell children that inherit YOLO or non-interactive mode\n   to run commands nobody approved. Anything that waits for a person (a prompt,\n   an OAuth browser flow) fails cleanly or times out under cron, the messaging\n   gateway and other unattended runs instead of hanging the agent."
    }
  ]
}
