Bound Hermes tool loops and document MCP fixes
This commit is contained in:
@@ -123,6 +123,12 @@ Der Router übernimmt:
|
|||||||
Hermes-Backend (`voice.client_direct: false`), weil Router und TTS nur im
|
Hermes-Backend (`voice.client_direct: false`), weil Router und TTS nur im
|
||||||
internen Docker-Netz erreichbar sind.
|
internen Docker-Netz erreichbar sind.
|
||||||
- Version: 0.20.5, offizielles Image per OCI-Digest gepinnt
|
- Version: 0.20.5, offizielles Image per OCI-Digest gepinnt
|
||||||
|
- Die gepinnte Version trägt beim Containerstart zwei eng geprüfte lokale
|
||||||
|
Upstream-Workarounds: API-Agenten übernehmen den live registrierten
|
||||||
|
MCP-Katalog (Hermes-Issue 69746), und `tool_search` veröffentlicht auch
|
||||||
|
geänderte Katalogbeschreibungen bei gleichbleibenden Brückennamen
|
||||||
|
(Hermes-Issue 72560). Der Start bricht bei unbekannt verändertem
|
||||||
|
Upstream-Code ab, statt blind zu patchen.
|
||||||
- Standardmodell: `qwen-medium`, 160.000 Kontext, über den Profile Router
|
- Standardmodell: `qwen-medium`, 160.000 Kontext, über den Profile Router
|
||||||
- Dashboard: WireGuard-Port 9119 mit Basic-Auth
|
- Dashboard: WireGuard-Port 9119 mit Basic-Auth
|
||||||
- Agent-API: WireGuard-Port 8642 mit eigenem Bearer-Key
|
- Agent-API: WireGuard-Port 8642 mit eigenem Bearer-Key
|
||||||
@@ -136,6 +142,13 @@ Der Router übernimmt:
|
|||||||
- lokales Terminal: ausschließlich `/data/hermes/workspace` im Container
|
- lokales Terminal: ausschließlich `/data/hermes/workspace` im Container
|
||||||
- MCPs: Athena-Plattform, Athena-Operator, allgemeines Web, GitHub, Home
|
- MCPs: Athena-Plattform, Athena-Operator, allgemeines Web, GitHub, Home
|
||||||
Assistant, ARR, Navidrome und ein gemeinsamer MUA-Unraid-Zugang
|
Assistant, ARR, Navidrome und ein gemeinsamer MUA-Unraid-Zugang
|
||||||
|
- Der Home-Assistant-Eintrag heißt in Hermes intern `homeassistant-admin`.
|
||||||
|
`homeassistant` kollidiert mit Hermes' deaktiviertem eingebautem Toolset und
|
||||||
|
würde den gesunden externen MCP aus dem Agentenkatalog filtern.
|
||||||
|
- Ein Agententurn ist standardmäßig auf 64 Schritte und acht Websuchen
|
||||||
|
begrenzt. Lange Implementierungen setzen nach einem belegten Zwischenstand
|
||||||
|
in einem frischen Turn fort; bekannte Container werden direkt inspiziert,
|
||||||
|
statt ungezielt vollständige Hostinventare in den Kontext zu laden.
|
||||||
- kein Docker-Socket, kein Host-Root-Mount und keine Veröffentlichung auf der
|
- kein Docker-Socket, kein Host-Root-Mount und keine Veröffentlichung auf der
|
||||||
Universitätsadresse
|
Universitätsadresse
|
||||||
- Start verweigert, wenn die verwaltete Konfiguration nicht lesbar ist oder
|
- Start verweigert, wenn die verwaltete Konfiguration nicht lesbar ist oder
|
||||||
|
|||||||
@@ -16,6 +16,14 @@ the same catalogue, source tree, status, or evidence from slightly different
|
|||||||
angles. Once the requested conclusion is supported, stop calling tools and
|
angles. Once the requested conclusion is supported, stop calling tools and
|
||||||
answer.
|
answer.
|
||||||
|
|
||||||
|
Keep tool output proportional to the question. When a Docker container is
|
||||||
|
already named, inspect that container directly instead of listing the complete
|
||||||
|
host inventory. For inventory questions, request compact output and filter by
|
||||||
|
state; request live statistics only when the user actually needs them. Prefer
|
||||||
|
one precise specialist query over several synonym searches. After two
|
||||||
|
materially different attempts fail to provide the missing evidence, report the
|
||||||
|
specific limitation instead of broadening the search indefinitely.
|
||||||
|
|
||||||
Treat every individual tool invocation as one call, including calls issued in
|
Treat every individual tool invocation as one call, including calls issued in
|
||||||
the same batch. If the user gives a call limit, reserve one call for final
|
the same batch. If the user gives a call limit, reserve one call for final
|
||||||
verification and stay below that limit; do not reinterpret it as a number of
|
verification and stay below that limit; do not reinterpret it as a number of
|
||||||
|
|||||||
@@ -47,7 +47,11 @@ mcp_discovery_timeout: 15.0
|
|||||||
mcp_single_query_discovery_timeout: 30.0
|
mcp_single_query_discovery_timeout: 30.0
|
||||||
|
|
||||||
agent:
|
agent:
|
||||||
max_turns: 500
|
# A single turn may be substantial, but must not silently consume an entire
|
||||||
|
# context window in a no-progress loop. Long builds continue from a compact
|
||||||
|
# checkpoint in a fresh turn instead of receiving an effectively unlimited
|
||||||
|
# 500-step budget.
|
||||||
|
max_turns: 64
|
||||||
gateway_timeout: 3600
|
gateway_timeout: 3600
|
||||||
session_stall_timeout: 600
|
session_stall_timeout: 600
|
||||||
tool_loop_guardrails:
|
tool_loop_guardrails:
|
||||||
@@ -62,7 +66,7 @@ agent:
|
|||||||
same_tool_failure: 8
|
same_tool_failure: 8
|
||||||
idempotent_no_progress: 5
|
idempotent_no_progress: 5
|
||||||
loop_caps:
|
loop_caps:
|
||||||
max_web_searches: 20
|
max_web_searches: 8
|
||||||
max_subagents: 8
|
max_subagents: 8
|
||||||
|
|
||||||
# Compact before a tool-heavy session can grow beyond the selected model's
|
# Compact before a tool-heavy session can grow beyond the selected model's
|
||||||
|
|||||||
Reference in New Issue
Block a user