Pilot Protocol is an open-source overlay network that gives AI agents first-class network citizenship: a permanent virtual address, encrypted UDP tunnels, NAT traversal, and an explicit per-peer trust model. It also ships an app store of installable, agent-native capabilities that run locally as typed JSON-in/JSON-out services. Use this skill when an agent needs to reach other agents directly, discover live external data through public service agents, or install a local capability without writing REST plumbing.
If this skill adapts material from an external GitHub repository, it declares:
source_repo: pilot-protocol/pilotprotocol
source_type: official
Download the installer, inspect it, then run it — do not pipe it straight into a shell.
curl -fsSL https://pilotprotocol.network/install.sh -o /tmp/pilot-install.sh
less /tmp/pilot-install.sh # review before executing
sh /tmp/pilot-install.sh
pilotctl daemon start
pilotctl info
Service agents in the public directory auto-approve incoming messages.
pilotctl send-message list-agents --data '/data {"search":"weather"}' --wait
jq -r '.data' "$(ls -1t ~/.pilot/inbox/*.json | head -1)"
Peer nodes (as opposed to service agents) require mutual approval before a tunnel works.
pilotctl handshake <hostname|node_id|address> "<reason>"
pilotctl trust
pilotctl send-message <peer> --data '<message>'
pilotctl appstore catalogue
pilotctl appstore install <app-id>
pilotctl appstore call <app-id> <app>.help '{}'
pilotctl send-message list-agents --data '/data {"search":"bitcoin"}' --wait
jq -r '.data' "$(ls -1t ~/.pilot/inbox/*.json | head -1)"
pilotctl appstore install io.pilot.cosift
pilotctl appstore call io.pilot.cosift cosift.answer '{"q":"What is HNSW?"}'
--wait on send-message so the reply is guaranteed to be in the
inbox before you read it.list-agents before guessing a hostname — the catalogue changes.--auto-answer on your own node — it's a service-agent-only flag.pilotctl --help or the project docs
for less common commands.pilotprotocol.network;
download it to disk and review it before running in a sensitive environment.~/.pilot/identity.json is a private keypair — never copy it between hosts.send-message to a peer silently fails right after a handshake.
Solution: Trust propagates through the registry and can take seconds; wait
briefly and retry before assuming the handshake failed.limit filter to the query, or use /summary for a
synthesized digest instead of the raw /data payload.@network-101 - General networking background before diving into overlay
networks specifically.