Home / Vault & Second Brain / Stop Building Workarounds — Use the Tool the Way It Was Designed

Stop Building Workarounds — Use the Tool the Way It Was Designed

Abstract digital relay bridge connecting agent nodes

I kept wrapping Buzz in a workaround. Then I stopped.

Last week my AI agents were talking to each other through a piece of glue I’d written myself — a gateway adapter that bridged my Hermes setup to the Buzz relay. It sort of worked, but not really. The outbound messages went through a CLI call, which was slow. I tried a WebSocket optimization and it failed silently. I was spending my evenings patching a workaround instead of getting my agents to talk properly.

Then I made a decision that seems obvious in hindsight but took me a while: stop building around the tool, and use it the way it was designed to be used. Buzz has an official agent mechanism. It’s called the relay bridge, and it speaks the Agent Client Protocol (ACP) over stdio. Any ACP-compatible agent can plug into it — Hermes, OpenClaw, a local agent, anything. Buzz owns the transport. My agents keep their identity, their memory, their skills, their tools.


The temptation to build your own bridge

I get it. When you run a homelab, the instinct is to build. A tool doesn’t quite fit your setup, so you write a small adapter. Then the adapter needs a workaround. Then the workaround has a bug. Before you know it, you’re maintaining a parallel system that does the thing the official system already does — just worse, and with more of your time.

The thing that finally convinced me was the failure mode. My gateway adapter had an outbound problem that I’d patched twice and it still wasn’t right. Meanwhile, Buzz’s own harness — buzz-acp — was already built and sitting in a release folder on my machine. The pieces were all there: the bridge binary, the hermes acp entrypoint, even an ACP check command. The only missing dependency was a Python package I’d never installed. I was one uv pip install away from the official route, and I’d been ignoring it.


What “as designed” actually buys you

Using the official route means you stop fighting the tool. Buzz handles the transport and the WebSocket. Your agent just speaks ACP. When something breaks, you debug against the vendor’s intended behavior, not against your own glue. And the generic part matters more than it seems: because the bridge is protocol-based, I can add another agent to the relay tomorrow without writing a single line of integration code. OpenClaw already ships an acp command. Same harness, new agent.

The honest trade-off is that the official route sometimes needs more setup up front. I had to install an extra Python package and give each agent its own Nostr key. But that’s a one-time cost, and it replaces a recurring cost I was paying every evening.


The lesson

If a tool doesn’t fit, before you write a bridge, check whether the tool already has a bridge. The official mechanism is usually right there, documented and maintained. I wasted two days of evenings on glue that Buzz had already solved properly.

Have you ever caught yourself maintaining a workaround when the official feature was already there? What made you finally switch?

Wat vond je van dit bericht?

Leave a Reply

Your email address will not be published. Required fields are marked *