{
  "sources": [
    {
      "url": "https://gist.githubusercontent.com/gtmcknight/594c47336546c8763e641b46cf9af4ec/raw/field.json",
      "quote": "150696,\"name\":\"privacy-xray\",\"repo\":\"https://github.com/MadeByBrain/hermes-extensions\",\"sha\":\"aa2bf92140016d7cf2ce855d0fff98f46badbc94\",\"subdir\":\"plugins/privacy-xray\"},{\"pr\":150707,\"name\":\"oddsradar\",\"repo\":\"https://github.com/WV629/hermes-oddsradar\",\"sha\":\"dfafcd59e6d2efeb4fd9cffa832836b1637c07c7\",\"subdir\":\"\"},{\"pr\":150708,\"name\":\"hermes-guild\",\"repo\":\"https://github.com/Blackleets/hermes-guild\",\"sha\":\"d7276891e514076a6ee68abe352bc7c3027e0fc6\","
    },
    {
      "url": "https://gist.githubusercontent.com/gtmcknight/594c47336546c8763e641b46cf9af4ec/raw/RUN.md",
      "quote": "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. Hermes, once\n\n    git clone --depth 1 https://github.com/NousResearch/hermes-agent test/scratch/hermes\n    cd test/scratch/hermes && uv sync --locked --python 3.14 && cd -"
    },
    {
      "url": "https://gist.githubusercontent.com/gtmcknight/594c47336546c8763e641b46cf9af4ec/raw/tryit.py",
      "quote": "The model is tests/fakes/fake_llm_provider.py from the Hermes checkout, the scripted, recording stand-in Nous's own\nend-to-end tests use, so no model, key or account is involved. Each run gets a fresh Hermes home beside REPORT.json,\nand REPORT.json says what every stage did: Nous's catalog check, enabling, Hermes's own runtime check (doctor), the"
    },
    {
      "url": "https://raw.githubusercontent.com/NousResearch/hermes-agent/998498af138018125738330dd439e86b6b23b24a/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"
    },
    {
      "url": "https://raw.githubusercontent.com/MadeByBrain/hermes-extensions/aa2bf92140016d7cf2ce855d0fff98f46badbc94/plugins/privacy-xray/README.md",
      "quote": "Flow ledger.** Every outgoing model request is recorded as metadata: main requests (`pre_api_request`) and side requests such as title generation, compression, vision or approvals (`pre_auxiliary_call`). For each one: destination host, vendor, the country of the vendor's headquarters, size, and counts of detected personal data types. Never the content."
    },
    {
      "url": "https://raw.githubusercontent.com/MadeByBrain/hermes-extensions/aa2bf92140016d7cf2ce855d0fff98f46badbc94/plugins/privacy-xray/__init__.py",
      "quote": "def tool_handler(args: Any, **kw: Any) -> str:\n    try:\n        args = args if isinstance(args, dict) else {}\n        action = str(args.get(\"action\") or \"\").lower()\n        lang = _lang()\n        if action == \"map\":\n            sid = str(kw.get(\"session_id\") or \"\") if args.get(\"scope\") == \"session\" else \"\"\n            text, data = do_map(lang, session_id=sid)\n        elif action == \"check\":\n            text, data = do_check(lang)"
    },
    {
      "url": "https://raw.githubusercontent.com/miracle352/hermes-ariadne/128c95967a0761ad24d3d224441d1502c43bbb69/README.md",
      "quote": "Record a Hermes session once. Replay it later with no model, no network and no tokens, and see\nexactly what Hermes does differently.\n\nAriadne sits on Hermes's public middleware. While recording, it saves every model call, tool call\nand user turn to a cassette. During a replay it answers the model calls and tool calls from that\ncassette, so nothing runs and nothing is billed, while the rest of Hermes (prompt building,"
    },
    {
      "url": "https://raw.githubusercontent.com/miracle352/hermes-ariadne/128c95967a0761ad24d3d224441d1502c43bbb69/__init__.py",
      "quote": "def _llm_execution(**kw: Any) -> Any:\n    control = _mode()\n    if control.get(\"mode\") == \"warmup\":\n        return runtime.synthetic_response(kw.get(\"api_mode\") or \"\", \"ok\")\n    if _replaying(control):\n        rp = _active_replayer(control)\n        if rp is not None:\n            return rp.llm_execution(**kw)\n        # A replay that cannot load its cassette must not silently go live."
    },
    {
      "url": "https://raw.githubusercontent.com/Bruno-coder21/fluent/182c4301f2437e784e9022f1f38576e1d68c3f5f/README.md",
      "quote": "fluent checks the shell commands it runs**,\nagainst the real `--help` and `man` pages of the program installed on *your* machine,\nbefore they run.\n\n![Your agent's tree: every program you adopt grows a branch, every error caught becomes a fruit](docs/screenshots/agent-tree.png)\n\n```\nagent> ffmpeg -y -i in.mp4 -c:v libx264 --crf 28 out.mp4\n🛡️ fluent caught `--crf` in ffmpeg → `-crf`"
    },
    {
      "url": "https://raw.githubusercontent.com/Bruno-coder21/fluent/182c4301f2437e784e9022f1f38576e1d68c3f5f/glue/hooks.py",
      "quote": "def on_pre_tool_call(tool_name: str = \"\", args: dict | None = None, tool_call_id: str = \"\",\n                     **kwargs):\n    \"\"\"Check a terminal command before it runs. Returns None to allow.\"\"\"\n    try:\n        if tool_name != \"terminal\" or not isinstance(args, dict):\n            return None\n        verdict = guard().check(args.get(\"command\") or \"\")\n        if verdict.action == \"block\":"
    },
    {
      "url": "https://raw.githubusercontent.com/MokiMeow/promise-keeper/ab91fee21f607d5515a8e007cf615fc285718dd0/README.md",
      "quote": "Every tool call is checked at two layers.** The `tool_execution` middleware wraps the call, so it sees the\n   arguments after other plugins' request middleware. Inside it, the `pre_tool_call` hook checks again and turns an\n   *ask* rule into Hermes's approval prompt. Either layer alone stops a call. There's no LLM in the decision: it's\n   deterministic code."
    },
    {
      "url": "https://raw.githubusercontent.com/MokiMeow/promise-keeper/ab91fee21f607d5515a8e007cf615fc285718dd0/__init__.py",
      "quote": "def _tool_execution(tool_name: str = \"\", args: Any = None, next_call=None, task_id: str = \"\", **_: Any) -> Any:\n    \"\"\"Final check on the exact arguments about to run. Never raises: if this callback\n    raised, Hermes would skip it and run the tool, so every path returns explicitly.\"\"\"\n    try:\n        guard = _api_guard(args)\n        if guard:\n            return json.dumps({\"error\": guard})"
    },
    {
      "url": "https://raw.githubusercontent.com/Dixon-O/hermes-ussd-plugin/80ccfd0b1dfcf01d07aae72eb63a13242ca93af6/README.md",
      "quote": "USSD cannot wait for a language model: the operator drops the session after about ten seconds. So only option 1 starts an agent turn, the acknowledgement ends the session immediately, and everything else (menu, paging, status, language) is answered by deterministic local code. The agent's answer is **stored first, texted second**, so it can always be read back on option 2 even if the SMS never arrives.\n\n## Try it in two minutes\n"
    },
    {
      "url": "https://raw.githubusercontent.com/Dixon-O/hermes-ussd-plugin/80ccfd0b1dfcf01d07aae72eb63a13242ca93af6/adapter.py",
      "quote": "def check_requirements() -> bool:\n    \"\"\"Passive probe: dependencies importable and the three required values present.\"\"\"\n    return _deps_ok() and all((get_scoped_secret(n, \"\") or \"\").strip() for n in\n                              (\"AT_USERNAME\", \"AT_API_KEY\", \"AT_WEBHOOK_SECRET\"))\n\n\ndef validate_config(config: Any) -> bool:\n    try:\n        load_settings(_get, getattr(config, \"extra\", None))\n    except ConfigError:\n        return False"
    },
    {
      "url": "https://raw.githubusercontent.com/maxcurrent420/agent-pool/5b973a5c3dfd8633840bb438208211da1c78f3cf/README.md",
      "quote": "A pool is a small team of agents sharing repos. Repos propagate as\nBLAKE3-verified, end-to-end encrypted bundles over Iroh over Tor\n(Tor is mandatory — Iroh-over-Tor is the only byte transport); coordination (tasks, claims, freezes) travels only\nthrough the Hermes gateway via Discord. The plugin never imports `discord`\nand never posts to Discord itself — it returns content for Hermes to post.\n"
    },
    {
      "url": "https://raw.githubusercontent.com/maxcurrent420/agent-pool/5b973a5c3dfd8633840bb438208211da1c78f3cf/__init__.py",
      "quote": "def register(ctx):\n    \"\"\"Wire the full gateway-native surface.\n\n    Registration is pure wiring (fast, offline): it must load with\n    all tools/commands even when the Tor sidecar is absent. The Tor\n    gate is lazy — ``_service_for`` (and the transport's per-transfer\n    ``_require_tor_ready``) fails closed at first use / actual byte\n    transfer, and ``pool_status.tor.ready`` surfaces readiness.\n    \"\"\"\n    try:\n        _register_tool_compat("
    },
    {
      "url": "https://raw.githubusercontent.com/miracle352/hermes-ariadne/128c95967a0761ad24d3d224441d1502c43bbb69/driver.py",
      "quote": "def clone_context(src: Path, dst: Path) -> None:\n    \"\"\"Copy the non-secret context that shapes the system prompt from ``src`` into the scratch home.\"\"\"\n    for name in CONTEXT_FILES:\n        if (src / name).is_file():\n            shutil.copy2(src / name, dst / name)\n    for name in CONTEXT_DIRS:\n        if (src / name).is_dir():\n            shutil.copytree(src / name, dst / name, dirs_exist_ok=True,"
    },
    {
      "url": "https://raw.githubusercontent.com/Bruno-coder21/fluent/182c4301f2437e784e9022f1f38576e1d68c3f5f/tests/test_guard.py",
      "quote": "def test_valid_commands_are_never_blocked(real_guard, cmd):\n    if not _uses_only_installed(cmd):\n        pytest.skip(\"program not installed\")\n    verdict = real_guard.check(cmd)\n    assert verdict.action not in (\"block\", \"warn\"), [(f.token, f.suggestion) for f in verdict.findings]\n\n\n@pytest.mark.parametrize(\"line\", corpus_lines(\"invalid.txt\"))\ndef test_typical_mistakes_are_caught(real_guard, line):"
    },
    {
      "url": "https://raw.githubusercontent.com/MokiMeow/promise-keeper/ab91fee21f607d5515a8e007cf615fc285718dd0/tests/test_redteam_round3.py",
      "quote": "def test_git_fallback_when_git_cannot_say(proj, cmd):\n    assert term(proj, cmd)          # not a repo: the three long-standing ones still block\n\n\n@pytest.mark.parametrize(\"cmd\", [\n    \"git stash list\",\n    \"git fetch\",\n    \"git log\",\n    \"git checkout main\",\n    \"git switch main\",\n    \"git commit -m x\",\n    \"git reset HEAD~1\",\n    \"git merge --help\",\n])\ndef test_git_that_leaves_files_alone(repo, cmd):\n    assert not term(repo, cmd)\n\n"
    },
    {
      "url": "https://raw.githubusercontent.com/maxcurrent420/agent-pool/5b973a5c3dfd8633840bb438208211da1c78f3cf/tests/test_tor_resolution.py",
      "quote": "def test_tor_build_passes_probe(monkeypatch, tmp_path):\n    # Tor build present: tor_ready gets past the binary probe. On this\n    # host the daemon answers on 9051, so readiness is fully OK; in an\n    # environment without the daemon it must fail at the control-port\n    # stage (never at the binary stage).\n    tor_dir = _stub(tmp_path, \"send_hermes-tor\", TOR_HELP)\n    _stub(tmp_path, \"send_hermes\", STOCK_HELP)"
    }
  ]
}