{
  "sources": [
    {
      "url": "https://gist.githubusercontent.com/gtmcknight/594c47336546c8763e641b46cf9af4ec/raw/field.json",
      "quote": "88ce440aa063447ee53fa4b369e63397322028c0"
    },
    {
      "url": "https://api.github.com/repos/NousResearch/hermes-agent/pulls/150814",
      "quote": "### Summary\\nAdds `telegram-ops` to the curated Hermes Plugin Catalog.\\n\\n- **Repository:** https://github.com/brukmars/hermes-telegram-ops\\n- **Commit SHA:** `88c8855dde4fd4bb5dfb7f6130720a48a8b172af`\\n- **Capabilities:** Tools (`telegram_ops_send_card`, `telegram_ops_update_card`, `telegram_ops_create_topic`, `telegram_ops_pin`), Output Hook (`transform_llm_output`), Telegram platform callback query handler.\\n- **Verification:** Passes `hermes plugins validate` and `scripts/validate_"
    },
    {
      "url": "https://api.github.com/repos/brukmars/hermes-telegram-ops/commits/88c8855dde4fd4bb5dfb7f6130720a48a8b172af",
      "quote": "Not Found"
    },
    {
      "url": "https://api.github.com/repos/NousResearch/hermes-agent/pulls/152879",
      "quote": "## What it is\\n\\n**Understory** draws the family tree of music labels — parents, imprints,\\nsub-labels, and \\\"same founder, next label\\\" lineages — as a time-scaled\\nchronogram, and traces a release's provenance through it.\\n\\n*CTX.fm tells you what dropped. Understory shows you where it grew.*\\n\\nPinned at `284dc8dfa954959b0c994226f05428efaecfbdbd` (tag `v0.1.0`), version\\n`0.1.0`, `requires_hermes: \\\">=0.23.0\\\"` in both `plugin.yaml` and the README.\\n\\n## What it adds to Hermes\\n\\n- "
    },
    {
      "url": "https://api.github.com/repos/projectmehari/understory/commits/f22c33c3d40d095bf6f1aea6241207c4b77c6e89",
      "quote": "Not Found"
    },
    {
      "url": "https://api.github.com/repos/NousResearch/hermes-agent/pulls/150900",
      "quote": "## Ferry: hire a Hermes you cannot reach\\n\\nFerry is store-and-forward job exchange between Hermes instances, using a plain git repository as the transport. One instance writes a job; another picks it up whenever it next wakes, claims it, does the work in its own session and replies with a verdict. Neither side needs an inbound port, a public address, a daemon, or to be awake at the same time — so it works with hosted scale-to-zero instances, laptops, and boxes behind NAT, which live a"
    },
    {
      "url": "https://api.github.com/repos/teal-sea/ferry/commits/1dc7b99d7efbd53032f221063fdf1cb2823a22b6",
      "quote": "Not Found"
    },
    {
      "url": "https://api.github.com/repos/NousResearch/hermes-agent/pulls/151482",
      "quote": "Adds **openinvest-hosted**, an owner-submitted remote variant of the existing `openinvest` catalog entry. It uses an OAuth Streamable HTTP service instead of the local Python runtime; the local entry is preserved.\\n\\nSurfaces: two portable Agent Plugin skills; MCP registration is configured separately. No Python entrypoint, registered Hermes-native tools/hooks/middleware, Desktop injection, self-updater or local ledger access. The package pins a full public source SHA and declares Herm"
    },
    {
      "url": "https://api.github.com/repos/longsizhuo/openinvest-site/commits/f1f8f850b264d5d55371f551e1823e205010eaf8",
      "quote": "Not Found"
    },
    {
      "url": "https://api.github.com/repos/NousResearch/hermes-agent/pulls/152418",
      "quote": "## Thread — operational session continuity for Hermes\\n\\n**Hermes never starts cold.** Every agent forgets what it was doing between sessions. Not facts *about* you — the *thread*: the half-finished task, the open follow-up, the exact resume point.\\n\\nThe funded memory providers (Mem0, Letta, Zep, Honcho, Hindsight) store **facts**. **Thread** stores the **operational thread** — what you touched, what you asked, what you still owe — and re-orients the next session automatically.\\n\\n###"
    },
    {
      "url": "https://api.github.com/repos/VIP-DANaiL/hermes-thread/commits/88ce440aa063447ee53fa4b369e63397322028c0",
      "quote": "No commit found for SHA: 88ce440aa063447ee53fa4b369e63397322028c0"
    },
    {
      "url": "https://api.github.com/repos/NousResearch/hermes-agent/pulls/150929",
      "quote": "## What it does\\n\\nVipernet Model Manager picks the provider and model for each turn from the profile's own catalog, based on the kind of work detected in the message: declared task associations first, then an automatic complexity analysis. The choice is kept stable for the whole session, every decision goes into an append-only ledger, and a route without a usable credential degrades to the session route instead of failing the turn. It ships a web dashboard panel where routes, task ass"
    },
    {
      "url": "https://api.github.com/repos/ptv1p3r/vipernet-model-manager/commits/6884fb77a7270bbf426ad562f755a5086ef933f7",
      "quote": "No commit found for SHA: 6884fb77a7270bbf426ad562f755a5086ef933f7"
    },
    {
      "url": "https://raw.githubusercontent.com/aydnOktay/hermes-done-bell-/3fa519a291d91b0e6c44bd42762190363ce80c39/README.md",
      "quote": "hermes plugins install C:\\Users\\aydin\\Desktop\\nous-puling\\plugins\\done-bell"
    },
    {
      "url": "https://raw.githubusercontent.com/aydnOktay/hermes-done-bell-/3fa519a291d91b0e6c44bd42762190363ce80c39/desktop/plugin.js",
      "quote": "    const ids = new Set([...Object.keys(prev), ...Object.keys(next)])\n    let finished = false\n    ids.forEach((id) => {\n      if (prev[id] && !next[id]) finished = true\n    })\n    if (!finished) return\n    ring(ctx, settings, 'Hermes is done', 'The agent finished this turn.')"
    },
    {
      "url": "https://raw.githubusercontent.com/aydnOktay/hermes-done-bell-/3fa519a291d91b0e6c44bd42762190363ce80c39/tests/test_bell.py",
      "quote": "def test_needs_you_cycle() -> None:"
    },
    {
      "url": "https://raw.githubusercontent.com/NousResearch/hermes-official-plugins/e7a218f26db88426ab3e7376f0e000b6e356f5e7/homeassistant/README.md",
      "quote": "1. **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."
    },
    {
      "url": "https://raw.githubusercontent.com/NousResearch/hermes-official-plugins/e7a218f26db88426ab3e7376f0e000b6e356f5e7/homeassistant/tools.py",
      "quote": "from agent.secret_scope import get_secret"
    },
    {
      "url": "https://raw.githubusercontent.com/NousResearch/hermes-official-plugins/e7a218f26db88426ab3e7376f0e000b6e356f5e7/homeassistant/adapter.py",
      "quote": "        msg = await self._ws.receive_json()\n        if msg.get(\"type\") != \"auth_required\":\n            return await self._handshake_failed(\"Expected auth_required, got: %s\", msg.get(\"type\"))"
    },
    {
      "url": "https://raw.githubusercontent.com/NousResearch/hermes-official-plugins/e7a218f26db88426ab3e7376f0e000b6e356f5e7/homeassistant/tests/test_service_policy.py",
      "quote": "def test_custom_script_permission_does_not_hide_denied_explicit_target(monkeypatch):"
    }
  ]
}