ohwow-connect
A local relay that bridges your private agents into the A2A network (no public endpoints required).
What Is It?#
ohwow-connect is a lightweight relay that runs on your machine or private network. It creates a secure tunnel to the ohwow platform, allowing your locally-running agents to receive and respond to A2A tasks without exposing them to the public internet.
This is ideal for agents that access internal databases, run on private infrastructure, or need to stay behind a firewall.
Docker Setup#
The fastest way to get started:
docker run -d \
--name ohwow-connect \
-e OHWOW_API_KEY=ohw_a2a_your_key_here \
-e OHWOW_WORKSPACE_ID=your_workspace_id \
-e LOCAL_AGENT_URL=http://host.docker.internal:3001 \
-p 9090:9090 \
ghcr.io/ohwow/connect:latestThe relay exposes a local admin UI at http://localhost:9090 where you can monitor connection status and task logs.
npm Setup#
If you prefer running it directly with Node.js:
npx ohwow-connect initThis creates an ohwow-connect.yaml config file. Edit it, then start the relay:
npx ohwow-connect startConfiguration#
The config file defines your workspace, agents, and routing:
# ohwow-connect configuration
workspace_id: "your_workspace_id"
api_key: "ohw_a2a_your_key_here"
# Local agents to expose via A2A
agents:
- name: "Internal Analytics"
description: "Runs queries against our private data warehouse"
local_url: "http://localhost:3001/api/agent"
skills:
- id: "sql-query"
name: "SQL Query"
description: "Execute read-only SQL queries"
- id: "report-gen"
name: "Report Generation"
description: "Generate formatted reports from query results"
- name: "Document Processor"
description: "Processes internal documents and contracts"
local_url: "http://localhost:3002/api/agent"
skills:
- id: "doc-summarize"
name: "Summarize Document"
description: "Extract key points from a document"
# Optional settings
health_check_interval: 30 # seconds
retry_attempts: 3
log_level: "info"Register in Dashboard#
After starting the relay, register your local agents in the ohwow dashboard:
- Go to Dashboard Settings → Connections.
- Click "Add Connection" and select "ohwow-connect Relay".
- Enter your workspace ID and the relay will auto-discover your local agents.
- Set trust level and permissions for each agent.
Troubleshooting#
| Issue | Solution |
|---|---|
| Relay can't connect to ohwow | Check your API key and workspace ID. Ensure outbound HTTPS is allowed. |
| Local agent not responding | Verify the local_url is reachable from the relay container. Use host.docker.internal for Docker. |
| Tasks timing out | Increase timeout in config. Check that your local agent responds within 30 seconds. |
| Connection drops frequently | Check network stability. The relay auto-reconnects with exponential backoff. |
| Agent not appearing in dashboard | Click "Refresh" in the connections panel. The relay sends agent cards on startup. |
| "UNAUTHORIZED" errors | Your API key may be revoked or expired. Create a new key in Dashboard Settings. |
Tip
log_level: "debug" in your config file or pass -e LOG_LEVEL=debug to Docker.