mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-25 17:18:11 +00:00
docs(acp): document HERMES_ACP_SKIP_CONFIGURED_MCP for ACP hosts
Adds a 'Host integration' section to the ACP guide and a row in the environment variable reference so the next ACP host implementer does not have to read the adapter source. Documents the exact contract the tests already pin: the value must be exactly `1`; unset/empty/`0`/`false` keep the default behavior; only globally configured config.yaml MCP discovery is skipped, and servers supplied by the ACP session through session/new are still registered. Framed as a host-set process marker rather than user configuration - the same shape as the existing HERMES_KANBAN_TASK entry - so it does not read as a behavioral setting that belongs in config.yaml. Co-authored-by: amanning3390 <adam.manning@pro-serveinc.com> Signed-off-by: amanning3390 <adam.manning@pro-serveinc.com>
This commit is contained in:
parent
366242e479
commit
939670cc4e
2 changed files with 23 additions and 0 deletions
|
|
@ -748,6 +748,7 @@ Advanced per-platform knobs for throttling the outbound message batcher. Most us
|
|||
| `HERMES_QUIET` | Suppress non-essential output (`true`/`false`) |
|
||||
| `CODEX_HOME` | When [Codex app-server runtime](../user-guide/features/codex-app-server-runtime) is enabled, override the directory Codex CLI reads its config + auth from (default: `~/.codex`). Hermes' migration writes the managed block to `<CODEX_HOME>/config.toml`. |
|
||||
| `HERMES_KANBAN_TASK` | Set by the kanban dispatcher when spawning a worker (task UUID). Workers and the spawned `hermes-tools` MCP subprocess inherit it so kanban tools gate correctly. Don't set manually. |
|
||||
| `HERMES_ACP_SKIP_CONFIGURED_MCP` | Set by an [ACP host](../user-guide/features/acp#host-integration) on the Hermes subprocess it spawns. `1` skips starting the globally configured `config.yaml` MCP servers before the ACP JSON-RPC loop, for hosts that pass the session's MCP servers through `session/new` themselves. Servers supplied by the ACP session are still registered; any other value keeps the default. Don't set manually. |
|
||||
| `HERMES_API_TIMEOUT` | LLM API call timeout in seconds (default: `1800`) |
|
||||
| `HERMES_API_CALL_STALE_TIMEOUT` | Non-streaming stale-call timeout in seconds (default: `90`). Auto-disabled for local providers when left unset, and may scale upward for very large contexts. Also configurable via `providers.<id>.stale_timeout_seconds` or `providers.<id>.models.<model>.stale_timeout_seconds` in `config.yaml`. |
|
||||
| `HERMES_STREAM_READ_TIMEOUT` | Streaming socket read timeout in seconds (default: `120`). Auto-increased to `HERMES_API_TIMEOUT` for local providers. Increase if local LLMs time out during long code generation. |
|
||||
|
|
|
|||
|
|
@ -156,6 +156,28 @@ ACP mode uses the same Hermes configuration as the CLI:
|
|||
|
||||
Provider resolution uses Hermes' normal runtime resolver, so ACP inherits the currently configured provider and credentials. Hermes also advertises a terminal auth method (`--setup`) for first-run ACP clients; this opens Hermes' interactive model/provider setup.
|
||||
|
||||
## Host integration
|
||||
|
||||
These variables are set by an **ACP host process** (an editor or another agent
|
||||
harness) on the Hermes subprocess it spawns. They are not user configuration —
|
||||
do not set them by hand in `.env` or `config.yaml`.
|
||||
|
||||
| Variable | Value | Effect |
|
||||
|----------|-------|--------|
|
||||
| `HERMES_ACP_SKIP_CONFIGURED_MCP` | `1` | Skip starting the **globally configured** MCP servers from `config.yaml` before the ACP JSON-RPC loop begins. |
|
||||
|
||||
Hermes normally starts every MCP server configured in `config.yaml` before it
|
||||
enters the ACP JSON-RPC loop. A host that owns MCP itself — passing the
|
||||
session's servers explicitly through `session/new` — does not need that global
|
||||
startup, and an unrelated slow or interactive MCP server would otherwise delay
|
||||
`initialize`. Setting the marker to exactly `1` lets such a host skip it.
|
||||
|
||||
Only the global `config.yaml` discovery is skipped. **MCP servers supplied by
|
||||
the ACP session through `session/new` are still registered**, so a host loses
|
||||
no capability it asked for. Any other value (unset, empty, `0`, `false`) keeps
|
||||
the default behavior, so an unrelated truthy-looking string cannot silently
|
||||
disable MCP.
|
||||
|
||||
## Session behavior
|
||||
|
||||
ACP sessions are tracked by the ACP adapter's in-memory session manager while the server is running.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue