Files

72 lines
2.9 KiB
Markdown

# Hermes Agent Quick Reference (Draft v0.1)
> One-page cheat sheet for core Hermes tools. For full docs see https://hermes-agent.nousresearch.com/docs
## Core Tools
| Tool | Purpose |
|------|---------|
| `terminal(command)` | Run shell commands. |
| `execute_code(code)` | Run Python with Hermes tool imports. |
| `web_search(query)` | Search the web (returns up to 5). |
| `web_extract(urls)` | Extract page content as markdown. |
| `read_file(path)` | Read text files with pagination. |
| `write_file(path, content)` | Overwrite a file (read first if existing). |
| `patch(path, old_string, new_string)` | Targeted find-and-replace. |
| `search_files(pattern)` | Ripgrep-backed content or filename search. |
| `browser_exec(code)` | Drive a real browser via Python. |
| `delegate_task(tasks)` | Spawn parallel subagents. |
| `clarify(questions)` | Ask the user multiple questions in one form. |
| `memory(action, target, ...)` | Persistent memory across sessions. |
| `skill_view(name)` | Load a skill's full content and templates. |
| `tool_search(queries)` | Find deferred tool schemas. |
| `tool_call(calls)` | Invoke deferred tools. |
| `manage_connections(...)` | Hosted connectors and MCP servers. |
## Common Patterns
### Shell
- Foreground: `terminal("ls -la /root")`
- Background: `terminal("python server.py", background=True, notify=True)`
- Timeout override: `terminal("long-task", timeout=600)`
### Files
- Read: `read_file("/path/to/file", offset=1, limit=2000)`
- Write: `read_file(path) first, then write_file(path, content)`
- Edit: `patch(path, "OLD", "NEW")` (fuzzy match, unique required)
### Code Execution
```python
from hermes_tools import web_search, terminal
print(web_search("hermes agent docs", limit=3)["data"]["web"])
```
### Delegation
- One task: `delegate_task([{"goal": "Do X", "context": "..."}])`
- Parallel: multiple entries in `tasks` array
- Live control: `delegate_task(action="list")` or `"steer"`
### Browser
- First nav: `new_tab("https://example.com")`
- Subsequent: `goto_url(url)`
- Extract text: `js("document.body.innerText")`
- Screenshot: `capture_screenshot()`
## Flags Cheat Sheet
| Flag | Tool | Effect |
|------|------|--------|
| `background=True` | terminal | Returns session_id immediately |
| `notify=['pattern']` | terminal | Notify on line match |
| `pty=True` | terminal | Interactive REPL support |
| `persist_on_release=True` | terminal | Survive session end |
| `timeout=N` | terminal, browser_exec | Max seconds (600+ = tracked bg) |
| `file_glob="*.py"` | search_files | Filter files by extension |
| `output_mode="files_only"` | search_files | Return paths only |
| `char_limit=N` | web_extract | Per-page budget (min 2000) |
## Rules
- Evidence only: measured > claimed. No fabricated results.
- One artifact per lane call. Commit to troupe repo when done.
- CHECK command must be a real test, not a tautology.
- Memory budget: 2200 chars. Save durable facts only.