mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-29 18:46:59 +00:00
docs(acp): document Buzz host integration
Co-authored-by: nytemodeonly <contact@nytemode.com> Signed-off-by: nytemodeonly <contact@nytemode.com>
This commit is contained in:
parent
58708c7066
commit
e755f1725f
1 changed files with 70 additions and 7 deletions
|
|
@ -1,12 +1,13 @@
|
|||
---
|
||||
sidebar_position: 11
|
||||
title: "ACP Editor Integration"
|
||||
description: "Use Hermes Agent inside ACP-compatible editors such as VS Code, Zed, and JetBrains"
|
||||
title: "ACP Host Integration"
|
||||
description: "Use Hermes Agent inside ACP-compatible editors and collaboration platforms"
|
||||
---
|
||||
|
||||
# ACP Editor Integration
|
||||
# ACP Host Integration
|
||||
|
||||
Hermes Agent can run as an ACP server, letting ACP-compatible editors talk to Hermes over stdio and render:
|
||||
Hermes Agent can run as an ACP server, letting ACP-compatible hosts talk to
|
||||
Hermes over stdio. Editors can render:
|
||||
|
||||
- chat messages
|
||||
- tool activity
|
||||
|
|
@ -15,7 +16,10 @@ Hermes Agent can run as an ACP server, letting ACP-compatible editors talk to He
|
|||
- approval prompts
|
||||
- streamed thinking / response chunks
|
||||
|
||||
ACP is a good fit when you want Hermes to behave like an editor-native coding agent instead of a standalone CLI or messaging bot.
|
||||
Other hosts can use the same protocol to route collaboration events into
|
||||
Hermes. ACP is a good fit when you want Hermes to keep its existing identity,
|
||||
provider setup, memory, skills, and tools while another application owns the
|
||||
conversation transport.
|
||||
|
||||
## What Hermes exposes in ACP mode
|
||||
|
||||
|
|
@ -91,7 +95,65 @@ What it does:
|
|||
|
||||
The bootstrap is idempotent — re-running it is fast and skips work that's already done.
|
||||
|
||||
## Editor setup
|
||||
## Host setup
|
||||
|
||||
### Buzz
|
||||
|
||||
[Buzz](https://github.com/block/buzz) is a Nostr-based collaboration platform
|
||||
for people and agents. Its `buzz-acp` harness connects Buzz channels to any ACP
|
||||
agent over stdio:
|
||||
|
||||
```text
|
||||
Buzz relay <-- WebSocket --> buzz-acp <-- ACP over stdio --> Hermes Agent
|
||||
```
|
||||
|
||||
This is a transport integration, not a second Hermes installation. The
|
||||
subprocess launched by `buzz-acp` uses the same Hermes configuration,
|
||||
credentials, memory, skills, and state as `hermes` on that host.
|
||||
|
||||
Prerequisites:
|
||||
|
||||
- Complete the ACP installation and `hermes acp --check` above.
|
||||
- Build or install `buzz-acp` and the `buzz` CLI from the
|
||||
[Buzz repository](https://github.com/block/buzz).
|
||||
- Provision a dedicated Buzz/Nostr identity for Hermes.
|
||||
- Add that identity to the intended Buzz channels with the `bot` role.
|
||||
|
||||
Start a local bridge with:
|
||||
|
||||
```bash
|
||||
export BUZZ_RELAY_URL="wss://community.example.com"
|
||||
export BUZZ_PRIVATE_KEY="nsec1..."
|
||||
export BUZZ_API_TOKEN="..."
|
||||
export BUZZ_ACP_AGENT_COMMAND="hermes"
|
||||
export BUZZ_ACP_AGENT_ARGS="acp"
|
||||
|
||||
buzz-acp
|
||||
```
|
||||
|
||||
`BUZZ_API_TOKEN` is needed only when the relay enforces token authentication.
|
||||
Do not commit or paste the private key, API token, or owner authorization.
|
||||
|
||||
For a persistent server deployment, run `buzz-acp` under a service manager as
|
||||
the same operating-system user that owns the intended Hermes home. The Buzz
|
||||
operator guide covers dedicated identities, author allowlists, channel
|
||||
membership, secret-file permissions, `systemd`, live round-trip verification,
|
||||
and troubleshooting:
|
||||
|
||||
- [Run a Hermes Agent in Buzz](https://github.com/block/buzz/blob/main/docs/hermes-agent-acp.md)
|
||||
|
||||
The bridge discovers every Buzz channel where the Hermes identity is a member
|
||||
and automatically subscribes when it is added to another channel. Buzz channel
|
||||
membership therefore remains the access boundary; Hermes does not need a
|
||||
separate channel list in its own configuration.
|
||||
|
||||
Headless bridges commonly run with ACP permission bypass enabled because no
|
||||
editor is present to answer approval dialogs. Treat that as privileged
|
||||
automation: use a dedicated operating-system account, restrict which Buzz users
|
||||
can prompt the agent, and grant membership only in channels where Hermes is
|
||||
expected to work.
|
||||
|
||||
### Editors
|
||||
|
||||
### VS Code
|
||||
|
||||
|
|
@ -274,7 +336,7 @@ The ACP bridge maps these options onto Hermes' internal approval semantics — `
|
|||
|
||||
Check:
|
||||
|
||||
- For manual/local development, verify the custom `agent_servers` command points to `hermes acp`.
|
||||
- For manual/local development, verify the host command points to `hermes acp`.
|
||||
- Hermes is installed and on your PATH.
|
||||
- The ACP extra is installed (`cd ~/.hermes/hermes-agent && uv pip install -e '.[acp]'`).
|
||||
|
||||
|
|
@ -301,6 +363,7 @@ or by editing `~/.hermes/.env`. The terminal auth flow (`hermes acp --setup`) ca
|
|||
|
||||
## See also
|
||||
|
||||
- [Buzz ACP harness](https://github.com/block/buzz/tree/main/crates/buzz-acp)
|
||||
- [ACP Internals](../../developer-guide/acp-internals.md)
|
||||
- [Provider Runtime Resolution](../../developer-guide/provider-runtime.md)
|
||||
- [Tools Runtime](../../developer-guide/tools-runtime.md)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue