Spaces:
Paused
Paused
| # Hermes Agent β ACP (Agent Client Protocol) Setup Guide | |
| Hermes Agent supports the **Agent Client Protocol (ACP)**, allowing it to run as | |
| a coding agent inside your editor. ACP lets your IDE send tasks to Hermes, and | |
| Hermes responds with file edits, terminal commands, and explanations β all shown | |
| natively in the editor UI. | |
| --- | |
| ## Prerequisites | |
| - Hermes Agent installed and configured (`hermes setup` completed) | |
| - An API key / provider set up in `~/.hermes/.env` or via `hermes login` | |
| - Python 3.11+ | |
| Install the ACP extra: | |
| ```bash | |
| pip install -e ".[acp]" | |
| ``` | |
| --- | |
| ## VS Code Setup | |
| ### 1. Install the ACP Client extension | |
| Open VS Code and install **ACP Client** from the marketplace: | |
| - Press `Ctrl+Shift+X` (or `Cmd+Shift+X` on macOS) | |
| - Search for **"ACP Client"** | |
| - Click **Install** | |
| Or install from the command line: | |
| ```bash | |
| code --install-extension anysphere.acp-client | |
| ``` | |
| ### 2. Configure settings.json | |
| Open your VS Code settings (`Ctrl+,` β click the `{}` icon for JSON) and add: | |
| ```json | |
| { | |
| "acpClient.agents": [ | |
| { | |
| "name": "hermes-agent", | |
| "registryDir": "/path/to/hermes-agent/acp_registry" | |
| } | |
| ] | |
| } | |
| ``` | |
| Replace `/path/to/hermes-agent` with the actual path to your Hermes Agent | |
| installation (e.g. `~/.hermes/hermes-agent`). | |
| Alternatively, if `hermes` is on your PATH, the ACP Client can discover it | |
| automatically via the registry directory. | |
| ### 3. Restart VS Code | |
| After configuring, restart VS Code. You should see **Hermes Agent** appear in | |
| the ACP agent picker in the chat/agent panel. | |
| --- | |
| ## Zed Setup | |
| Zed has built-in ACP support. | |
| ### 1. Configure Zed settings | |
| Open Zed settings (`Cmd+,` on macOS or `Ctrl+,` on Linux) and add to your | |
| `settings.json`: | |
| ```json | |
| { | |
| "agent_servers": { | |
| "hermes-agent": { | |
| "type": "custom", | |
| "command": "hermes", | |
| "args": ["acp"], | |
| }, | |
| }, | |
| } | |
| ``` | |
| ### 2. Restart Zed | |
| Hermes Agent will appear in the agent panel. Select it and start a conversation. | |
| --- | |
| ## JetBrains Setup (IntelliJ, PyCharm, WebStorm, etc.) | |
| ### 1. Install the ACP plugin | |
| - Open **Settings** β **Plugins** β **Marketplace** | |
| - Search for **"ACP"** or **"Agent Client Protocol"** | |
| - Install and restart the IDE | |
| ### 2. Configure the agent | |
| - Open **Settings** β **Tools** β **ACP Agents** | |
| - Click **+** to add a new agent | |
| - Set the registry directory to your `acp_registry/` folder: | |
| `/path/to/hermes-agent/acp_registry` | |
| - Click **OK** | |
| ### 3. Use the agent | |
| Open the ACP panel (usually in the right sidebar) and select **Hermes Agent**. | |
| --- | |
| ## What You Will See | |
| Once connected, your editor provides a native interface to Hermes Agent: | |
| ### Chat Panel | |
| A conversational interface where you can describe tasks, ask questions, and | |
| give instructions. Hermes responds with explanations and actions. | |
| ### File Diffs | |
| When Hermes edits files, you see standard diffs in the editor. You can: | |
| - **Accept** individual changes | |
| - **Reject** changes you don't want | |
| - **Review** the full diff before applying | |
| ### Terminal Commands | |
| When Hermes needs to run shell commands (builds, tests, installs), the editor | |
| shows them in an integrated terminal. Depending on your settings: | |
| - Commands may run automatically | |
| - Or you may be prompted to **approve** each command | |
| ### Approval Flow | |
| For potentially destructive operations, the editor will prompt you for | |
| approval before Hermes proceeds. This includes: | |
| - File deletions | |
| - Shell commands | |
| - Git operations | |
| --- | |
| ## Configuration | |
| Hermes Agent under ACP uses the **same configuration** as the CLI: | |
| - **API keys / providers**: `~/.hermes/.env` | |
| - **Agent config**: `~/.hermes/config.yaml` | |
| - **Skills**: `~/.hermes/skills/` | |
| - **Sessions**: `~/.hermes/state.db` | |
| You can run `hermes setup` to configure providers, or edit `~/.hermes/.env` | |
| directly. | |
| ### Changing the model | |
| Edit `~/.hermes/config.yaml`: | |
| ```yaml | |
| model: openrouter/nous/hermes-3-llama-3.1-70b | |
| ``` | |
| Or set the `HERMES_MODEL` environment variable. | |
| ### Toolsets | |
| ACP sessions use the curated `hermes-acp` toolset by default. It is designed for editor workflows and intentionally excludes things like messaging delivery, cronjob management, and audio-first UX features. | |
| --- | |
| ## Troubleshooting | |
| ### Agent doesn't appear in the editor | |
| 1. **Check the registry path** β make sure the `acp_registry/` directory path | |
| in your editor settings is correct and contains `agent.json`. | |
| 2. **Check `hermes` is on PATH** β run `which hermes` in a terminal. If not | |
| found, you may need to activate your virtualenv or add it to PATH. | |
| 3. **Restart the editor** after changing settings. | |
| ### Agent starts but errors immediately | |
| 1. Run `hermes doctor` to check your configuration. | |
| 2. Check that you have a valid API key: `hermes status` | |
| 3. Try running `hermes acp` directly in a terminal to see error output. | |
| ### "Module not found" errors | |
| Make sure you installed the ACP extra: | |
| ```bash | |
| pip install -e ".[acp]" | |
| ``` | |
| ### Slow responses | |
| - ACP streams responses, so you should see incremental output. If the agent | |
| appears stuck, check your network connection and API provider status. | |
| - Some providers have rate limits. Try switching to a different model/provider. | |
| ### Permission denied for terminal commands | |
| If the editor blocks terminal commands, check your ACP Client extension | |
| settings for auto-approval or manual-approval preferences. | |
| ### Logs | |
| Hermes logs are written to stderr when running in ACP mode. Check: | |
| - VS Code: **Output** panel β select **ACP Client** or **Hermes Agent** | |
| - Zed: **View** β **Toggle Terminal** and check the process output | |
| - JetBrains: **Event Log** or the ACP tool window | |
| You can also enable verbose logging: | |
| ```bash | |
| HERMES_LOG_LEVEL=DEBUG hermes acp | |
| ``` | |
| --- | |
| ## Further Reading | |
| - [ACP Specification](https://github.com/anysphere/acp) | |
| - [Hermes Agent Documentation](https://github.com/NousResearch/hermes-agent) | |
| - Run `hermes --help` for all CLI options | |