$npx -y skills add timfewi/tentaflake --skill hermes-tools-configConfigure Hermes tools and toolsets — enable/disable per platform, manage backends, set truncation limits, browser, web, code exec
| 1 | # Hermes Tools Configuration |
| 2 | |
| 3 | > **Tentaflake context:** This skill describes Hermes' tool/toolset |
| 4 | > configuration — it works the same inside tentaflake agent containers. |
| 5 | > Toolset selection, output limits, and backend choices can be set |
| 6 | > declaratively via the `settings` attrset in `my-agents.nix`. |
| 7 | > See `my-agents.nix.example` for the `toolsets`, `tool_output`, |
| 8 | > `web.backend`, and `terminal.backend` options. |
| 9 | |
| 10 | ## When to Use |
| 11 | |
| 12 | - Enable/disable specific tools per platform |
| 13 | - Configure tool backends (web, browser, TTS, image gen) |
| 14 | - Set tool output truncation limits |
| 15 | - Configure file read safety limits |
| 16 | - Disable toolsets globally |
| 17 | - Set up browser backends |
| 18 | - Configure code execution environment |
| 19 | - Manage terminal backend |
| 20 | |
| 21 | ## Procedure |
| 22 | |
| 23 | ### 1. Tool vs Toolset Distinction |
| 24 | |
| 25 | **Tool**: Individual function (e.g., `web_search`, `terminal`, `read_file`, `memory`). |
| 26 | **Toolset**: Group of related tools (e.g., `web`, `terminal`, `file`, `memory`, `browser`). |
| 27 | |
| 28 | Hermes ships ~70+ tools across ~28 toolsets. |
| 29 | |
| 30 | ### 2. hermes tools Command |
| 31 | |
| 32 | Interactive per-platform configuration: |
| 33 | |
| 34 | ```bash |
| 35 | hermes tools |
| 36 | ``` |
| 37 | |
| 38 | Shows each tool/toolset and lets you enable/disable per platform (CLI, Telegram, Discord, etc.). |
| 39 | |
| 40 | Platform-specific toolsets: |
| 41 | |
| 42 | | Platform | Toolset | |
| 43 | | -------------- | ---------------------- | |
| 44 | | CLI | `hermes-cli` | |
| 45 | | Telegram | `hermes-telegram` | |
| 46 | | Discord | `hermes-discord` | |
| 47 | | Slack | `hermes-slack` | |
| 48 | | WhatsApp | `hermes-whatsapp` | |
| 49 | | Email | `hermes-email` | |
| 50 | | Home Assistant | `hermes-homeassistant` | |
| 51 | |
| 52 | Full tools including terminal available on most messaging platforms. |
| 53 | |
| 54 | ### 3. Common Toolsets |
| 55 | |
| 56 | ```bash |
| 57 | hermes chat --toolsets "web,terminal,skills" |
| 58 | ``` |
| 59 | |
| 60 | | Toolset | Tools | Description | |
| 61 | | ---------------- | -------------------------------------------------- | ------------------------------ | |
| 62 | | `web` | `web_search`, `web_extract` | Search and extract web content | |
| 63 | | `terminal` | `terminal`, `process` | Execute commands | |
| 64 | | `file` | `read_file`, `write_file`, `patch`, `search_files` | File operations | |
| 65 | | `browser` | `browser_navigate`, `browser_snapshot`, etc. | Browser automation | |
| 66 | | `memory` | `memory` | Persistent memory | |
| 67 | | `session_search` | `session_search` | Search past sessions | |
| 68 | | `vision` | `vision_analyze` | Image analysis | |
| 69 | | `image_gen` | `image_generate` | Image generation | |
| 70 | | `tts` | `text_to_speech` | Text-to-speech | |
| 71 | | `code_execution` | `execute_code` | Sandboxed code | |
| 72 | | `delegation` | `delegate_task` | Subagent spawn | |
| 73 | | `cronjob` | `cronjob` | Scheduled tasks | |
| 74 | | `skills` | `skill_manage`, `skill_view`, `skills_list` | Skill management | |
| 75 | | `messaging` | `send_message` | Outbound messaging | |
| 76 | | `clarify` | `clarify` | Clarification tool | |
| 77 | | `homeassistant` | `ha_*` | Home Assistant control | |
| 78 | | `mcp-<server>` | MCP tools | Dynamic per-server | |
| 79 | |
| 80 | ### 4. Per-Platform Tool Configuration |
| 81 | |
| 82 | Tools can be enabled/disabled per platform: |
| 83 | |
| 84 | ```yaml |
| 85 | # In ~/.hermes/config.yaml (written by hermes tools) |
| 86 | platform_toolsets: |
| 87 | telegram: |
| 88 | enabled: [terminal, web, file, skills, memory] |
| 89 | discord: |
| 90 | enabled: [terminal, web, file, skills] |
| 91 | ``` |
| 92 | |
| 93 | Or disable globally: |
| 94 | |
| 95 | ```yaml |
| 96 | agent: |
| 97 | disabled_toolsets: |
| 98 | - memory # Hide memory tools everywhere |
| 99 | - web # No web_search/web_extract anywhere |
| 100 | ``` |
| 101 | |
| 102 | This applies **after** per-platform config. Use for "turn X off everywhere." |
| 103 | |
| 104 | ### 5. Tool Output Truncation Limits |
| 105 | |
| 106 | ```yaml |
| 107 | tool_output: |
| 108 | max_bytes: 50000 # Terminal output cap (chars) — keeps first 40%, last 60% |
| 109 | max_lines: 2000 # read_file pagination cap |
| 110 | max_line_length: 2000 # Per-line cap in read_file view |
| 111 | ``` |
| 112 | |
| 113 | When terminal output exceeds `max_bytes`, truncation inserts |