Hermes
Tool sandbox
Safe test bench for the tool registry. Same executor, same Zod validation, same SSRF guards as missions. Approval-gated tools are blocked in the sandbox to keep test runs from creating real export approvals.
Tools
web_snapshot
Fetch a public URL (http/https) and return basic page info: title, description, headings, sample links, and a text sample. Read-only — no form submission.
price_series_lookup
Return a deterministic, synthetic OHLCV price series for a symbol (demo data only — never real market data).
document_extract
Extract structured facts (dates, amounts, people, companies, order numbers, key claims) from a mission-owned DocumentItem.
deadline_create
Create a follow-up reminder as an ApprovalItem on the current mission. Does not send anything externally; the user must approve it.
report_export_draftapproval gated
Render an existing Deliverable as a draft MARKDOWN or JSON export and queue a REPORT_EXPORT ApprovalItem.
browser_qa_audit
Real browser audit (Playwright + Chromium) of a public URL: visits same-origin pages, captures DOM signals + screenshots, flags accessibility/conversion/console issues. Read-only — no clicks, no typing, no form submission.
terminal_execapproval gated
Run a single shell command server-side, scoped to the project workspace. Read-only diagnostics are allowed unapproved (git status, npm run lint, npx tsc --noEmit, rg, ls, etc.). Risky commands require an approval. Destructive intents are hard-blocked. Outputs are truncated; timeouts apply.
python_rpcapproval gated
Execute a Python script server-side in an ephemeral temp file. Useful for diagnostics, parsing, and structured analysis. Always requires an approval; destructive intents (env dump, subprocess shell, file deletion, network egress) are hard-blocked. Output truncated; timeout enforced.
web_search
Real web search via Tavily / Brave / SerpAPI when a provider key is configured. Returns ranked results with title, url, snippet, source, publishedAt. NEEDS PROVIDER — fails cleanly with 'provider not configured' if no key is set; never fakes results.
vision_analyze
Analyze an image (URL or base64) with a multimodal Hermes model. Returns description, detected text, findings, and confidence. NEEDS PROVIDER — fails cleanly if VISION_MODEL (or HERMES_MODEL_VISION) is not set.
image_generateapproval gated
Generate an image. Provider order: OpenRouter (chat/completions with modalities=image — reuses HERMES_API_KEY), then Fal (FAL_KEY), Replicate (REPLICATE_API_TOKEN), or any OpenAI-compatible /images/generations. Approval-gated by default. Fails cleanly with 'provider not configured' when none are set; never fakes results.
text_to_speechapproval gated
Synthesize speech. Provider order: ElevenLabs (ELEVENLABS_API_KEY) or any OpenAI-compatible /audio/speech (TTS_API_BASE + TTS_API_KEY + TTS_MODEL). Returns base64 audio. Approval-gated. Fails cleanly with 'provider not configured' when none are set.
terminal_exec
Run a single shell command server-side, scoped to the project workspace. Read-only diagnostics are allowed unapproved (git status, npm run lint, npx tsc --noEmit, rg, ls, etc.). Risky commands require an approval. Destructive intents are hard-blocked. Outputs are truncated; timeouts apply.
Input schema
{
"command": "string",
"reason": "string",
"workingDirectory": "optional<string>",
"timeoutMs": "optional<number>"
}Output schema
{
"command": "string",
"workingDirectory": "string",
"exitCode": "number",
"stdout": "string",
"stderr": "string",
"durationMs": "number",
"truncated": "boolean",
"policy": "object",
"backend": "object"
}Safety: web_snapshot blocks localhost + private IPs + non-http schemes. document_extract refuses non-mission docs. No shell, no auto-send, no live trading.
Recent sandbox runs
2h agoweb_snapshotcompleted38msok
Input
{
"url": "https://example.com"
}Output
{
"finalUrl": "https://example.com/",
"status": 200,
"title": "Example Domain",
"description": "",
"headings": [
{
"level": 1,
"text": "Example Domain"
}
],
"linksSample": [
{
"href": "https://iana.org/domains/example",
"text": "Learn more"
}
],
"textSample": "Example DomainExample DomainThis domain is for use in documentation examples without needing permission. Avoid use in operations.Learn more"
}6h agoprice_series_lookupcompleted88msok
Input
{
"symbol": "AAPL",
"days": 30
}Output
{
"symbol": "AAPL",
"source": "synthetic-demo",
"prices": [
{
"date": "2026-04-25",
"open": 213.6,
"high": 215.2,
"low": 212.1,
"close": 214.7,
"volume": 4870900
}
]
}6h agoreport_export_draftblocked0msTool requires approval — sandbox does not auto-create approval items.
Input
{
"deliverableId": "deliverable_demo",
"format": "MARKDOWN"
}Output
Tool requires approval — sandbox does not auto-create approval items.
7h agoweb_snapshotcompleted312msok
Input
{
"url": "https://example.com"
}Output
{
"finalUrl": "https://example.com/",
"status": 200,
"title": "Example Domain",
"description": "",
"headings": [
{
"level": 1,
"text": "Example Domain"
}
],
"linksSample": [
{
"href": "https://www.iana.org/domains/example",
"text": "More info"
}
],
"textSample": "Example Domain. This domain is for use in illustrative examples in documents."
}8h agoweb_searchcompleted815msok
Input
{
"query": "Hermes Agent Nous Research",
"maxResults": 3
}Output
{
"query": "Hermes Agent Nous Research",
"provider": "tavily",
"fetchedAt": "2026-04-30T19:21:47.487Z",
"results": [
{
"title": "Hermes Agent",
"url": "https://openrouter.ai/apps/hermes-agent",
"snippet": "# Hermes Agent. Hermes Agent is an open-source, self-improving AI agent by Nous Research that runs persistently with memory across sessions, and builds reusable skills from experience. It comes with 40+ built-in tools, including web search, browser automation, and vision, plus scheduled automations and subagents. #1 in Coding Agents#1 in CLI Agents#2 in Productivity#2 in Personal Agents. ### Hermes Agent OpenRouter Usage. ### Top models used by Hermes Agent this month.",
"source": "openrouter.ai"
},
{
"title": "NousResearch/hermes-agent: The agent that grows with you - GitHub",
"url": "https://github.com/nousresearch/hermes-agent",
"snippet": "'nimb' → 'nimby') - Debounced search (300ms) with spinner in the search icon slot - Search results show FTS5 snippets with highlighted match delimiters - Expanding a search hit auto-scrolls to the first matching message - Matching messages get a warning ring + 'match' badge - Inline term highlighting within Markdown (text, bold, italic, headings, lists) - Clear button (x) on search input for quick reset --------- Co-authored-by: emozilla <emozilla@nousresearch.com>\")[#8756](https://github.com/No",
"source": "github.com"
},
{
"title": "Nous Research Hermes Agent: Setup and Tutorial Guide - DataCamp",
"url": "https://www.datacamp.com/tutorial/hermes-agent",
"snippet": "# Nous Research Hermes Agent: Setup and Tutorial Guide. Learn how to install and set up Hermes Agent, the open-source AI agent by Nous Research that remembers, learns, and grows smarter with every task. Opus 4.6 is not a cheap model, particularly when your agent has to send a lot of context in terms of memories and skills. I have been following the creators of Hermes Agent on X/Twitter, and one of the things they claim is that their agent is better than OpenClaw at using open-source models. I wi",
"source": "www.datacamp.com"
}
]
}8h agodocument_extractfailed170msDocument not found, or it does not belong to this mission.
Input
{
"documentItemId": "doc_xxx_replace_me"
}Output
Document not found, or it does not belong to this mission.


