Chuyển tới nội dung chính

Toolsets Reference

Toolsets are named collections of tools that control what an agent can do. They are the primary mechanism for configuring tool availability per platform, per session, or per task.

How Toolsets Work

Each tool belongs to exactly one toolset. When you activate a toolset, all tools in that collection become available to the agent. There are three types of toolsets:

  • Core — A single logical group of related tools (e.g., file toolset bundles read_file, write_file, patch, search_files)
  • Composite — Combines multiple core toolsets for a common scenario (e.g., debugging bundles file, terminal, and web tools)
  • Platform — Complete tool configuration for a specific deployment context (e.g., hermes-cli is the default for interactive CLI sessions)

Toolset Configuration

Per Session (CLI)

hermes chat --toolsets web,file,terminal
hermes chat --toolsets debugging # composite — expands to file + terminal + web
hermes chat --toolsets all # everything

Per Platform (config.yaml)

toolsets:
- hermes-cli # default for CLI
# - hermes-telegram # override for Telegram gateway

Interactive Management

hermes tools                            # curses UI to toggle per platform

Or within a session:

/tools list
/tools disable browser
/tools enable rl

Core Toolsets

ToolsetToolsPurpose
browserbrowser_back, browser_click, browser_console, browser_get_images, browser_navigate, browser_press, browser_scroll, browser_snapshot, browser_type, browser_vision, web_searchFull browser automation. Includes web_search as a fallback for quick lookups.
clarifyclarifyAsk user questions when the agent needs clarification.
code_executionexecute_codeRun Python scripts that call Hermes tools programmatically.
cronjobcronjobSchedule and manage recurring tasks.
delegationdelegate_taskSpawn isolated sub-agent instances to do work in parallel.
filepatch, read_file, search_files, write_fileRead, write, search, and edit files.
homeassistantha_call_service, ha_get_state, ha_list_entities, ha_list_servicesControl smart home via Home Assistant. Only available when HASS_TOKEN is set.
image_genimage_generateText-to-image generation via FAL.ai.
memorymemoryManage persistent cross-session memory.
messagingsend_messageSend messages to other platforms (Telegram, Discord, etc.) mid-session.
moamixture_of_agentsMulti-model consensus via Mixture of Agents.
rlrl_check_status, rl_edit_config, rl_get_current_config, rl_get_results, rl_list_environments, rl_list_runs, rl_select_environment, rl_start_training, rl_stop_training, rl_test_inferenceManage RL training environments (Atropos).
searchweb_searchWeb search only (no extraction).
session_searchsession_searchSearch past chat sessions.
skillsskill_manage, skill_view, skills_listCRUD skills and browse web.
terminalprocess, terminalExecute shell commands and manage background processes.
todotodoManage task lists within a session.
ttstext_to_speechText-to-speech audio generation.
visionvision_analyzeImage analysis via vision-capable models.
webweb_extract, web_searchWeb search and page content extraction.

Composite Toolsets

These expand to multiple core toolsets, providing convenient shorthands for common situations:

ToolsetExpands ToUse Case
debuggingpatch, process, read_file, search_files, terminal, web_extract, web_search, write_fileDebugging session — access files, terminal, and web research without browser cost or delegation.
safeimage_generate, mixture_of_agents, vision_analyze, web_extract, web_searchRead-only research and media generation. No file writes, no terminal access, no code execution. Good for untrusted or restricted environments.

Platform Toolsets

Platform toolsets define the complete tool configuration for a deployment target. Most messaging platforms use the same set as hermes-cli:

ToolsetDifference from hermes-cli
hermes-cliFull toolset — all 38 tools including clarify. Default for interactive CLI sessions.
hermes-acpRemoves clarify, cronjob, image_generate, mixture_of_agents, send_message, text_to_speech, homeassistant tools. Focuses on coding tasks in IDE context.
hermes-api-serverRemoves clarify, send_message, and text_to_speech. Adds everything else — suitable for programmatic access when user interaction isn't possible.
hermes-telegramSame as hermes-cli.
hermes-discordSame as hermes-cli.
hermes-slackSame as hermes-cli.
hermes-whatsappSame as hermes-cli.
hermes-signalSame as hermes-cli.
hermes-matrixSame as hermes-cli.
hermes-mattermostSame as hermes-cli.
hermes-emailSame as hermes-cli.
hermes-smsSame as hermes-cli.
hermes-dingtalkSame as hermes-cli.
hermes-feishuSame as hermes-cli.
hermes-wecomSame as hermes-cli.
hermes-homeassistantSame as hermes-cli.
hermes-webhookSame as hermes-cli.
hermes-gatewayUnion of all messaging platform toolsets. Used internally when the gateway needs the broadest possible toolset.

Dynamic Toolsets

MCP Server Toolsets

Each configured MCP server generates a mcp-<server> toolset at runtime. For example, if you configure a github MCP server, a mcp-github toolset is created containing all tools the server exposes.

# config.yaml
mcp:
servers:
github:
command: npx
args: ["-y", "@modelcontextprotocol/server-github"]

This creates a mcp-github toolset you can reference in --toolsets or platform configuration.

Plugin Toolsets

Plugins can register their own toolsets via ctx.register_tool() during plugin initialization. They appear alongside built-in toolsets and can be toggled the same way.

Custom Toolsets

Define custom toolsets in config.yaml to create project-specific bundles:

toolsets:
- hermes-cli
custom_toolsets:
data-science:
- file
- terminal
- code_execution
- web
- vision

Wildcards

  • all or * — expands to every registered toolset (built-in + dynamic + plugin)

Relationship with hermes tools

The hermes tools command provides a curses-based UI to toggle individual tools per platform. This operates at the tool level (finer than toolsets) and is persisted to config.yaml. Disabled tools are filtered out even if their toolset is enabled.

See also: Tools Reference for the full list of individual tools and their parameters.