code
agent.code("compute the first 20 Fibonacci numbers, print them and save fib.txt")
13.2s · 4 steps
Steps
Result
✓edit write fib.py
✕execute python fib.py (retry)
✓execute python3 fib.py → stdout + fib.txt
Printed the sequence and wrote it one-per-line to fib.txt.
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181
charts
agent.visualize("Quarterly revenue (k USD): Q1 120, Q2 150, Q3 135, Q4 190")
12.7s · 3 steps
Steps
Result
✓execute run matplotlib
✓execute save quarterly_revenue.png
A clean bar chart of quarterly revenue — title, axis labels, value labels, minimal styling — returned as a downloadable PNG.
Artifacts
quarterly_revenue.png · image/png · 38 KBdownload
image
agent.image("640×360 PNG: warm gradient, centered text HERMES SDK")
19.1s · 5 steps
browser
agent.browse("open example.com and take a screenshot")
8.5s · 2 steps
Steps
Result
✓browser open https://example.com
✓browser screenshot
Drove a real Chromium to example.com and captured the page — the standard “Example Domain” page — as a PNG.
Artifacts
browser_screenshot.png · image/png · 15 KBdownload
speak
agent.speak("This audio was generated by the Hermes SDK.")
11.9s · 4 steps
Steps
Result
✓execute detect edge-tts
✓execute synthesize speech
✓execute encode → generated_audio.mp3
A valid MP3 of the spoken text — generated via edge-tts. Press play. 👇
Artifacts
generated_audio.mp3 · audio/mpeg · 20 KBdownload
web
agent.research("What is the Agent Client Protocol (ACP)?")
70.1s · 25 steps
Steps
Result — grounded in live pages
✓web search the web
✓fetch read several pages
✓execute synthesize a grounded answer (25 steps total)
The Agent Client Protocol (ACP) is a standardized protocol that enables communication between code editors/IDEs (Zed, JetBrains, Emacs) and AI coding agents (Claude Code, Gemini CLI, GitHub Copilot CLI, OpenAI Codex). Created by Zed Industries and JetBrains, modeled after the Language Server Protocol (LSP) — so any agent can work with any compatible editor, and vice-versa.
No file artifact — web returns a grounded answer in res.text.
Captured live from the Python API — from hermes_sdk import Hermes; agent = Hermes() — then each res.artifacts[i].bytes() written to the files linked above.