Hermes LoopHermes Loop
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.
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.
runnable
Input schema
{
  "url": "string"
}
Output schema
{
  "finalUrl": "string",
  "status": "number",
  "title": "string",
  "description": "string",
  "headings": "array<object>",
  "linksSample": "array<object>",
  "textSample": "string"
}
Safety: web_snapshot blocks localhost + private IPs + non-http schemes. document_extract refuses non-mission docs. No shell, no auto-send, no live trading.
Runs synchronously. Stored as a SandboxToolRun.

Recent sandbox runs

2h ago
web_snapshot
completed
38ms
ok
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 ago
price_series_lookup
completed
88ms
ok
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 ago
report_export_draft
blocked
0ms
Tool 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 ago
web_snapshot
completed
312ms
ok
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 ago
web_search
completed
815ms
ok
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 ago
document_extract
failed
170ms
Document 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.