mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-31 19:16:29 +00:00
docs: sync overnight sweep with registry, gateway, curator, cron
Salvaged from #72422 by @virtuadex (conflicts resolved against current main; superseded slash-command hunks dropped): - SECURITY.md + SECURITY.es.md: gateway adapters live under plugins/platforms/<name>/, registry in gateway/platform_registry.py - gateway-internals.md (EN + zh-Hans): key-files table rows for platform_registry.py and plugins/platforms/, deferred-loading section - slash-commands.md: /reasoning full level list (max/ultra) + --global; CLI-only notes list gains /prompt, /pet, /hatch, /timestamps - cron.md + cron-script-only.md: script runner accuracy — bash resolved from PATH with /bin/bash fallback, script paths confined to ~/.hermes/scripts/, provider credentials stripped via _sanitize_subprocess_env - curator.md: cron-referenced skills protected from auto-archive, never-used grace floor
This commit is contained in:
parent
c6f98b0cba
commit
782d0219a0
8 changed files with 44 additions and 13 deletions
|
|
@ -21,7 +21,9 @@ The messaging gateway is the long-running process that connects Hermes to 20+ ex
|
|||
| `gateway/mirror.py` | Cross-session message mirroring for `send_message` |
|
||||
| `gateway/status.py` | Token lock management for profile-scoped gateway instances |
|
||||
| `gateway/builtin_hooks/` | Extension point for always-registered hooks (none shipped) |
|
||||
| `gateway/platforms/` | Platform adapters (one per messaging platform) |
|
||||
| `gateway/platform_registry.py` | Adapter registry, factories, and deferred (lazy) loaders for bundled platform plugins |
|
||||
| `plugins/platforms/<name>/` | Bundled messaging adapters (most platforms: `adapter.py` + `plugin.yaml`) |
|
||||
| `gateway/platforms/` | Shared `base.py` plus legacy/direct adapters (Signal, API server, webhooks, …) |
|
||||
|
||||
## Architecture Overview
|
||||
|
||||
|
|
@ -176,6 +178,8 @@ gateway/platforms/ # core base + legacy direct adapters
|
|||
└── api_server.py # REST API server adapter
|
||||
```
|
||||
|
||||
**Deferred loading:** Bundled `kind: platform` plugins register cheap `register_deferred` loaders in `gateway/platform_registry.py` (via `hermes_cli/plugins.py`) so platform SDKs import only when the gateway starts, delivers, or runs setup/status — not on plain `hermes chat`. Resolution loads one adapter on lookup; full enumeration runs pending loaders only on paths that need every platform.
|
||||
|
||||
Experimental connector-backed platforms use the generic relay adapter in `gateway/relay/` instead of a direct platform module. When `GATEWAY_RELAY_URL` or `gateway.relay_url` is configured, the gateway registers the `relay` platform, dials the connector over an outbound WebSocket, and receives `descriptor`, `inbound`, and `interrupt_inbound` frames on that same socket. The connector advertises a `CapabilityDescriptor`; Hermes can send normal outbound replies, token-less `follow_up` operations, and interrupt frames back through the relay. The source-grounded wire contract lives in [`docs/relay-connector-contract.md`](https://github.com/NousResearch/hermes-agent/blob/main/docs/relay-connector-contract.md).
|
||||
|
||||
Adapters implement a common interface:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue