mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-04-28 06:51:16 +08:00
improve(agent): guidance for plain-text URLs, subagent language/verification, hermes-config routing (#16325)
Four small tool-description / skill-content tweaks addressing recurring model mistakes seen in @versun's docx feedback (Kimi 2.6, but the patterns apply to every model): 1. browser_navigate description: call out .md/.txt/.json/.yaml/.csv/.xml, raw.githubusercontent.com, and API endpoints as specifically preferring curl or web_extract. The generic "prefer web_search or web_extract" was too weak; models kept firing up the browser for plain-text URLs. 2. delegate_task description: two additions. (a) Pass user language / output-style preferences in 'context' when they differ from English — otherwise subagents default to English and their summaries contaminate the final reply (caused the bilingual digest bug). (b) Subagent summaries are self-reports, not verified facts. For operations with external side-effects (HTTP uploads, remote writes, file creation at shared paths), require a verifiable handle (URL, ID, path) and verify it yourself before claiming success. 3. agent/prompt_builder.py Skills-mandatory block: new explicit line "Whenever the user asks to configure / set up / modify / install / enable / disable / troubleshoot Hermes Agent itself, load the `hermes-agent` skill first." The generic "load what's relevant" didn't route Hermes-meta questions (like "how do I turn off redaction?") to the one skill that has the answer. 4. skills/autonomous-ai-agents/hermes-agent/SKILL.md: new "Security & Privacy Toggles" section covering security.redact_secrets (with the import-time-snapshot restart-required caveat), privacy.redact_pii, approvals.mode (manual/smart/off) + --yolo + HERMES_YOLO_MODE, shell hooks allowlist, and how to disable network/media tools entirely. Every command verified against the actual config keys — no invented knobs. Co-authored-by: teknium1 <teknium@noreply.github.com>
This commit is contained in:
@@ -2316,6 +2316,18 @@ DELEGATE_TASK_SCHEMA = {
|
||||
"IMPORTANT:\n"
|
||||
"- Subagents have NO memory of your conversation. Pass all relevant "
|
||||
"info (file paths, error messages, constraints) via the 'context' field.\n"
|
||||
"- If the user is writing in a non-English language, or asked for "
|
||||
"output in a specific language / tone / style, say so in 'context' "
|
||||
"(e.g. \"respond in Chinese\", \"return output in Japanese\"). "
|
||||
"Otherwise subagents default to English and their summaries will "
|
||||
"contaminate your final reply with the wrong language.\n"
|
||||
"- Subagent summaries are SELF-REPORTS, not verified facts. A subagent "
|
||||
"that claims \"uploaded successfully\" or \"file written\" may be wrong. "
|
||||
"For operations with external side-effects (HTTP POST/PUT, remote "
|
||||
"writes, file creation at shared paths, publishing), require the "
|
||||
"subagent to return a verifiable handle (URL, ID, absolute path, HTTP "
|
||||
"status) and verify it yourself — fetch the URL, stat the file, read "
|
||||
"back the content — before telling the user the operation succeeded.\n"
|
||||
"- Leaf subagents (role='leaf', the default) CANNOT call: "
|
||||
"delegate_task, clarify, memory, send_message, execute_code.\n"
|
||||
"- Orchestrator subagents (role='orchestrator') retain "
|
||||
|
||||
Reference in New Issue
Block a user