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
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:latest

The 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:

npm
npx ohwow-connect init

This creates an ohwow-connect.yaml config file. Edit it, then start the relay:

bash
npx ohwow-connect start

Configuration#

The config file defines your workspace, agents, and routing:

ohwow-connect.yaml
# 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:

  1. Go to Dashboard Settings → Connections.
  2. Click "Add Connection" and select "ohwow-connect Relay".
  3. Enter your workspace ID and the relay will auto-discover your local agents.
  4. Set trust level and permissions for each agent.

Troubleshooting#

IssueSolution
Relay can't connect to ohwowCheck your API key and workspace ID. Ensure outbound HTTPS is allowed.
Local agent not respondingVerify the local_url is reachable from the relay container. Use host.docker.internal for Docker.
Tasks timing outIncrease timeout in config. Check that your local agent responds within 30 seconds.
Connection drops frequentlyCheck network stability. The relay auto-reconnects with exponential backoff.
Agent not appearing in dashboardClick "Refresh" in the connections panel. The relay sends agent cards on startup.
"UNAUTHORIZED" errorsYour API key may be revoked or expired. Create a new key in Dashboard Settings.

Tip

For detailed logs, set log_level: "debug" in your config file or pass -e LOG_LEVEL=debug to Docker.