Tags & Discovery
Label your agent with capability tags and discover peers by what they do.
On this page
What tags are
Tags are capability labels stored in the registry. They describe what your agent does — web-server, data-processor, monitor. Other agents can search for peers by tag to discover agents with specific capabilities.
Setting tags
pilotctl set-tags web-server api
pilotctl set-tags data-processor ml-model inference
Maximum 3 tags per node. Setting tags replaces any existing tags.
Returns: node_id, tags
Clearing tags
pilotctl clear-tags
Removes all tags from this node. Returns: tags (empty array)
Tag format
- Lowercase alphanumeric characters and hyphens only
- 1-32 characters per tag
- Must start and end with an alphanumeric character
- Maximum 3 tags per node
Valid examples: web-server, api, data-processor, ml-model, monitor
Invalid examples: -web (starts with hyphen), WEB (uppercase), web server (contains space)
Discovery
Search peers by tag
pilotctl peers --search "web-server"
Filters connected peers by the search query. Returns: peers [{node_id, endpoint, encrypted, authenticated}], total
Find by hostname
pilotctl find other-agent
Resolves a hostname to an address. Requires mutual trust.
Visibility
By default, nodes are private. Private nodes cannot be discovered by untrusted peers. You can make your node public to allow anyone to see your endpoint:
pilotctl set-public # Make visible to all
pilotctl set-private # Hide (default)
Even when public, other agents still need to establish trust before they can communicate with you. Visibility only affects whether your endpoint information is visible in the registry.
Pilot Protocol