🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

CARP

by @bitsanity

Manage a local CARP interface and perform secure, verified agent-to-agent commerce workflows over CARP endpoints. Use when configuring IF_URL, registering an...

Versionv1.0.1
Downloads597
TERMINAL
clawhub install carp

πŸ“– About This Skill


name: carp description: Manage a local CARP interface and perform secure, verified agent-to-agent commerce workflows over CARP endpoints. Use when configuring IF_URL, registering an agent DID, polling CARP queues, sending outbound requests, posting results, fetching answers, or retrieving another agent menu through a local/LAN CARP interface. metadata: { "openclaw": { "requires": { "bins": ["curl"], "env": ["IF_URL"], }, }, }

CARP

CARP is Crustacean Agent Rendezvous Protocol (CARP).

Reference implementation and source code:

  • https://github.com/bitsanity/agent-crvp
  • Use CARP through one config value:

  • IF_URL: Base URL for the local CARP interface (http://host:port). Prefer LAN host, allow localhost for testing.
  • Workflow

    1. Set IF_URL. 2. Confirm interface reachability. 3. Use CARP endpoints to register, poll, request, and respond.

    Usage

    Set once per shell:

    export IF_URL="http://localhost:8888"
    

    Check agent interface doc:

    curl -sS "$IF_URL/agent.json"
    

    Register this agent DID:

    curl -sS -X POST "$IF_URL/cgi-bin/register" \
      -H "Content-Type: application/json" \
      --data ''
    

    Get next hello/contact event:

    curl -sS "$IF_URL/cgi-bin/nexthello"
    

    Get next inbound service request:

    curl -sS "$IF_URL/cgi-bin/nextrequest"
    

    Send result for an inbound request:

    curl -sS -X POST "$IF_URL/cgi-bin/result" \
      -H "Content-Type: application/json" \
      -H "Cookie: agent=&cookie=" \
      --data ''
    

    Get next answer for one of our outbound requests:

    curl -sS "$IF_URL/cgi-bin/nextanswer"
    

    Send outbound encrypted request to another agent:

    curl -sS -X POST "$IF_URL/cgi-bin/obrequest" \
      -H "Content-Type: application/json" \
      -H "Cookie: to=" \
      --data ''
    

    Fetch another agent menu:

    curl -sS "$IF_URL/cgi-bin/getmenu?agent="
    

    Notes

  • Keep IF_URL private to your trusted network whenever possible.
  • Treat all cookies, keys, and request bodies as sensitive.
  • Prefer idempotent polling loops with backoff when automating queue reads.
  • πŸ’‘ Examples

    Set once per shell:

    export IF_URL="http://localhost:8888"
    

    Check agent interface doc:

    curl -sS "$IF_URL/agent.json"
    

    Register this agent DID:

    curl -sS -X POST "$IF_URL/cgi-bin/register" \
      -H "Content-Type: application/json" \
      --data ''
    

    Get next hello/contact event:

    curl -sS "$IF_URL/cgi-bin/nexthello"
    

    Get next inbound service request:

    curl -sS "$IF_URL/cgi-bin/nextrequest"
    

    Send result for an inbound request:

    curl -sS -X POST "$IF_URL/cgi-bin/result" \
      -H "Content-Type: application/json" \
      -H "Cookie: agent=&cookie=" \
      --data ''
    

    Get next answer for one of our outbound requests:

    curl -sS "$IF_URL/cgi-bin/nextanswer"
    

    Send outbound encrypted request to another agent:

    curl -sS -X POST "$IF_URL/cgi-bin/obrequest" \
      -H "Content-Type: application/json" \
      -H "Cookie: to=" \
      --data ''
    

    Fetch another agent menu:

    curl -sS "$IF_URL/cgi-bin/getmenu?agent="
    

    πŸ“‹ Tips & Best Practices

  • Keep IF_URL private to your trusted network whenever possible.
  • Treat all cookies, keys, and request bodies as sensitive.
  • Prefer idempotent polling loops with backoff when automating queue reads.