Skip to content

acp-tools Plugin

The acp-tools plugin is the Hermes agent plugin that connects agents at runtime to DMOps.ai integrations and tools. It is installed automatically in managed and self-hosted deployments.


How it works

When a Hermes agent starts:

  1. The plugin's register() function is called by Hermes on agent init
  2. It calls GET /api/acp/agents/{id}/integrations on the DMOps API
  3. For each integration granted to this agent, it registers the integration's tools natively in Hermes
  4. Tools are now available in the agent's toolset for the duration of the session

Plugin location

src/templates/hermes-plugins/acp-tools/
├── __init__.py       # register() entrypoint called by Hermes
├── handlers/
│   ├── artifacts.py  # artifact read/write/push-to-inbox tools
│   ├── tasks.py      # task creation and status tools
│   └── ...
└── provider_bridge.py  # generic bridge for integration providers

Deploying the plugin

The plugin is symlinked into ~/.hermes/plugins/acp-tools/ during container startup by entrypoint-api.sh. You don't need to install it manually in managed deployments.

For self-hosted setups:

bash
ln -s /path/to/dm-acp/src/templates/hermes-plugins/acp-tools ~/.hermes/plugins/acp-tools

Built-in tools registered by the plugin

In addition to integration tools, the plugin registers these ACP-native tools for all agents:

ToolDescription
artifact_createSave a file or structured data as an artefact attached to the current task
artifact_readRead an artefact from a previous task in the same chain
task_createCreate a new task (used by agents for subtask delegation)
task_updateUpdate the current task's status or description
inbox_pushDeliver an artefact or message to the human inbox

Debugging

Enable verbose plugin logging by setting the environment variable:

bash
ACP_PLUGIN_DEBUG=1

This logs every tool registration and call to the Hermes session log.