diff --git a/public/llms.txt b/public/llms.txt index 48b52c0a..70c649ee 100644 --- a/public/llms.txt +++ b/public/llms.txt @@ -36,6 +36,7 @@ The managed control plane is in preview. Supported adapters can surface agent ac ## Docs +- [App Store](https://pilotprotocol.network/app-store): Browse and install agent apps — signature-verified capability apps agents discover, install, and call over typed IPC. - [Trust Center](https://pilotprotocol.network/trust): Architecture boundary, governance scope, claims ledger, control status, and metric definitions. - [Security](https://pilotprotocol.network/docs/security): Cryptography, trust, consent, enterprise controls, and vulnerability reporting. - [Getting Started](https://pilotprotocol.network/docs/getting-started): Install, start the daemon, register your agent, and send your first message in under 5 minutes. @@ -68,7 +69,7 @@ The managed control plane is in preview. Supported adapters can surface agent ac - [Nebula vs Tailscale vs ZeroTier: Overlay Network for AI Agents](https://pilotprotocol.network/blog/pilot-vs-tailscale-nebula-zerotier-ai-agents): Head-to-head comparison of the three most popular overlay networks and where Pilot fits for agent workloads. - [Benchmarking: HTTP vs UDP Overlay](https://pilotprotocol.network/blog/benchmarking-http-vs-udp-overlay): Latency, throughput, and NAT traversal benchmarks comparing HTTP/2 and Pilot's UDP overlay for agent communication. - [Persistent Connections for AI Agents](https://pilotprotocol.network/blog/move-beyond-rest-persistent-connections-for-agents): Compare REST, WebSocket, gRPC, and persistent UDP tunnels for agent messaging with code examples. -- [Why AI Agents Need Their Own Network Stack](https://pilotprotocol.network/blog/why-ai-agents-need-network-stack): The case for a dedicated network layer — permanent addresses, NAT traversal, encrypted tunnels, and cryptographic trust for multi-agent systems. +- [Agent Connectivity Best Practices: Why AI Agents Need a Network Stack](https://pilotprotocol.network/blog/why-ai-agents-need-network-stack): Agent connectivity best practices for multi-agent systems — durable addresses, NAT traversal, encrypted tunnels, and per-peer trust. - [Overlay Networking Explained](https://pilotprotocol.network/blog/overlay-networking-secure-ai-agent-communication-explained): A practical guide to overlay networking for secure AI agent communication — encapsulation, control planes, protocol trade-offs, and deployment patterns. - [NATS vs gRPC vs TCP vs Pilot Protocol](https://pilotprotocol.network/blog/pilot-vs-tcp-grpc-nats-comparison): Feature-by-feature comparison of four agent communication protocols with latency and throughput benchmarks. - [Multi-Agent System Security: Network Defense Strategies](https://pilotprotocol.network/blog/network-security-for-multi-agent-systems-key-strategies): Layered defense, secure protocols (MCP, A2A), and how to protect AI agent networks from compromise. diff --git a/src/components/BaseHead.astro b/src/components/BaseHead.astro index 086486cd..e41637f3 100644 --- a/src/components/BaseHead.astro +++ b/src/components/BaseHead.astro @@ -1,6 +1,6 @@ --- import '../styles/global.css'; -import { formatPageTitle } from '../lib/seo.mjs'; +import { formatMetaDescription, formatPageTitle } from '../lib/seo.mjs'; interface Props { title: string; @@ -23,6 +23,7 @@ const { } = Astro.props; const pageTitle = formatPageTitle(title, Astro.url.pathname); +const pageDescription = formatMetaDescription(description, Astro.url.pathname); const canonical = canonicalUrl ? new URL(canonicalUrl, Astro.site ?? 'https://pilotprotocol.network') : !robots.toLowerCase().includes('noindex') @@ -46,13 +47,13 @@ const TWITTER_PIXEL_ID = {pageTitle} - + {resolvedCanonical && } - + {resolvedCanonical && } @@ -61,7 +62,7 @@ const TWITTER_PIXEL_ID = - + diff --git a/src/data/blogPosts.json b/src/data/blogPosts.json index c8537942..94deba5e 100644 --- a/src/data/blogPosts.json +++ b/src/data/blogPosts.json @@ -32,7 +32,7 @@ { "slug": "build-agent-app-turn-api-into-tool", "title": "How to Build an Agent App: Turn Your API Into an Agent-Native Tool", - "description": "Turn an existing API into an installable agent app on Pilot Protocol — the discover, install, call loop, what to prepare, and how to publish.", + "description": "Turn an existing API into an installable agent app on Pilot Protocol \u2014 the discover, install, call loop, what to prepare, and how to publish.", "date": "Jul 5", "category": "Blog", "tags": [ @@ -62,7 +62,7 @@ { "slug": "overlay-network-ai-agents", "title": "Overlay Network for AI Agents: Architecture and Trust Model", - "description": "What an overlay network for AI agents needs — persistent addressing, NAT traversal, encrypted transport, and per-peer trust — and how Pilot Protocol implements it.", + "description": "What an overlay network for AI agents needs \u2014 persistent addressing, NAT traversal, encrypted transport, and per-peer trust \u2014 and how Pilot Protocol implements it.", "date": "Jul 1", "category": "Blog", "tags": [ @@ -107,7 +107,7 @@ { "slug": "direct-communication-protocols-ai-agents-guide", "title": "AI agent communication protocols: Pilot vs MCP vs A2A vs ACP vs ANP", - "description": "Compare AI agent communication protocols — MCP, A2A, ACP, ANP, and Pilot — on transport, discovery, NAT traversal, and trust. Find the right stack for your agents.", + "description": "Compare five agent protocols across transport, discovery, trust, reachability, and application semantics to choose a complementary stack.", "date": "Jun 29", "category": "Blog", "tags": [ @@ -282,8 +282,8 @@ }, { "slug": "overlay-networking-secure-ai-agent-communication-explained", - "title": "Overlay networking: Secure AI agent communication explained", - "description": "Discover what is overlay networking and how it enables secure communication for AI agents. Optimize your distributed systems today!", + "title": "Overlay Networking Explained for Distributed AI Systems", + "description": "A vendor-neutral primer on overlay and underlay networks, encapsulation, topology, MTU, control and data planes, identity, routing, and operational tradeoffs.", "date": "Apr 27", "category": "Blog", "tags": [ @@ -514,7 +514,7 @@ { "slug": "protocol-wrapping-secure-peer-to-peer-ai-systems", "title": "Protocol wrapping for secure peer-to-peer AI systems", - "description": "Learn how protocol wrapping powers secure P2P AI networks. Covers VXLAN, Geneve, UDP overlays, anonymity wrappers, and real-world benchmarks for distributed systems engineers.", + "description": "How encapsulation, metadata, encryption, direct paths, and relay fallback shape protocol-wrapping choices for distributed AI systems.", "date": "Aug 11", "category": "Blog", "tags": [ @@ -576,8 +576,8 @@ }, { "slug": "ai-networking-terminology-a2a-mcp-anp-protocols", - "title": "AI networking terminology explained: A2A, MCP, ANP protocols", - "description": "Understand A2A, MCP, and ANP protocols for AI agent networking. Learn how each works, their security models, benchmark realities, and which to use in 2026.", + "title": "AI Networking Glossary: A2A, MCP, and ANP Terms", + "description": "A definition-first glossary for A2A, MCP, ANP, Agent Cards, tools, resources, discovery, transport, identity, and trust in an agent system.", "date": "Apr 1", "category": "Blog", "tags": [ @@ -777,7 +777,7 @@ { "slug": "openclaw-agents-behind-nat-zero-config", "title": "OpenClaw Agents Behind NAT: Zero-Config Peer Connectivity", - "description": "52% of OpenClaw agents were behind NAT. None configured port forwarding. How Pilot Protocol's three-tier traversal delivers zero-config connectivity for autonomous agents.", + "description": "How OpenClaw agents can attempt direct traversal and use encrypted relay fallback across home, enterprise, cloud, and mobile environments.", "date": "Mar 17", "category": "Guide", "tags": [ @@ -1024,7 +1024,7 @@ { "slug": "secure-ai-agent-communication-zero-trust", "title": "How to Secure AI Agent Communication With Zero Trust", - "description": "Zero trust for AI agents: Ed25519 identity, private-by-default discovery, mutual handshakes with justification, and instant revocation. CrewAI exfiltrated data 65% of the time -- here is how to stop trusting by default.", + "description": "A practical zero-trust model for AI agent communication: authenticated peers, encrypted tunnels, revocable trust, clear boundaries, and application controls.", "date": "Jun 5", "category": "Security", "tags": [ @@ -1128,7 +1128,7 @@ { "slug": "how-pilot-protocol-works", "title": "How Pilot Protocol Works", - "description": "A deep dive into 48-bit virtual addresses, UDP tunnels, three-tier NAT traversal, X25519-based tunnel encryption, and policy-gated endpoint access.", + "description": "How Pilot separates agent identity and coordination from encrypted payload paths, including discovery, traversal, direct connections, and relay fallback.", "date": "May 21", "category": "Architecture", "tags": [ @@ -1153,13 +1153,15 @@ }, { "slug": "why-ai-agents-need-network-stack", - "title": "Why AI Agents Need Their Own Network Stack", - "description": "A2A assumes HTTP endpoints. MCP assumes reachable servers. 88% of networks involve NAT. The agent ecosystem is missing its TCP/IP layer.", + "title": "Agent Connectivity Best Practices: Why AI Agents Need a Network Stack", + "description": "Agent connectivity best practices for reliable multi-agent systems: durable addresses, NAT traversal, encrypted tunnels, and per-peer trust.", "date": "Feb 2", "category": "Architecture", "tags": [ "opinion", - "ai-agents" + "ai-agents", + "networking", + "best-practices" ], "banner": "banners/why-ai-agents-need-network-stack.webp", "iso_date": "2026-02-02" @@ -1179,8 +1181,8 @@ }, { "slug": "benchmarking-http-vs-udp-overlay", - "title": "Benchmarking Agent Communication: HTTP vs. UDP Overlay", - "description": "Hard numbers comparing connection setup, message latency, throughput, and memory usage between HTTP/2, gRPC, WebSocket, and Pilot Protocol.", + "title": "HTTP vs UDP Overlay: An Agent Benchmarking Method", + "description": "A reproducible method for comparing cold and warm connections, direct and relayed paths, latency, throughput, resource use, and recovery.", "date": "Feb 26", "category": "Architecture", "tags": [ @@ -1269,8 +1271,8 @@ }, { "slug": "zero-dependency-encryption-x25519-aes-gcm", - "title": "Zero-Dependency Agent Encryption: X25519 + AES-256-GCM in Pure Go", - "description": "How Pilot implements authenticated key exchange, tunnel encryption, nonce management, and replay protection using only Go's standard library.", + "title": "AES-256-GCM Encryption: Zero-Dependency Go Implementation Guide", + "description": "AES-256-GCM encryption explained with code: X25519 key exchange, GCM authenticated encryption, nonce handling, and wire format in zero-dependency Go.", "date": "Feb 8", "category": "Security", "tags": [ @@ -1295,8 +1297,8 @@ }, { "slug": "pilot-vs-tcp-grpc-nats-comparison", - "title": "Pilot vs. TCP vs. gRPC vs. NATS: Agent Communication", - "description": "An honest comparison with real benchmarks. Where each wins, where each loses, and which to use for your agent architecture.", + "title": "Where Pilot Fits with TCP, gRPC, and NATS", + "description": "A responsibility-first comparison of transport, typed RPC, brokered messaging, agent identity, and cross-network reachability.", "date": "Feb 4", "category": "Architecture", "tags": [ diff --git a/src/data/solutions.ts b/src/data/solutions.ts index 042954dc..a63e0206 100644 --- a/src/data/solutions.ts +++ b/src/data/solutions.ts @@ -46,8 +46,8 @@ export const solutions: SolutionProfile[] = [ group: 'Connect', hue: 125, eyebrow: 'Agent connectivity', - metaTitle: 'Private Agent Networks Across Boundaries | Pilot Protocol', - description: 'Give AI agents permanent addresses, private discovery, explicit trust, and encrypted direct or relayed paths across machines and networks.', + metaTitle: 'AI Agent Network for Private Connectivity | Pilot Protocol', + description: 'Build a private AI agent network with permanent addresses, private discovery, explicit trust, and encrypted paths across machines and clouds.', heroLead: 'Connect agents across', heroEmphasis: 'every boundary.', lede: 'Give every agent a stable network identity and a private path to its peers—across laptops, clouds, offices, and organizations—without treating a central message broker as the data plane.', diff --git a/src/layouts/BlogLayout.astro b/src/layouts/BlogLayout.astro index f9ed94f0..2392be17 100644 --- a/src/layouts/BlogLayout.astro +++ b/src/layouts/BlogLayout.astro @@ -76,6 +76,86 @@ const related = collectionPosts .sort((a, b) => b.shared - a.shared) .slice(0, 3); +const funnelCtaGroups = [ + { + slugs: new Set([ + 'why-ai-agents-need-network-stack', + 'pilot-vs-tcp-grpc-nats-comparison', + 'direct-communication-protocols-ai-agents-guide', + 'ai-agent-discovery-process-p2p-networks', + 'how-pilot-protocol-works', + 'pilot-vs-tailscale-nebula-zerotier-ai-agents', + 'connect-ai-agents-behind-nat-without-vpn', + 'build-agent-swarm-self-organizes', + 'peer-to-peer-agent-communication-no-server', + 'overlay-networking-secure-ai-agent-communication-explained', + ]), + eyebrow: 'For agent platform teams', + title: 'Map the network your agents actually need', + body: 'Review addressing, private discovery, peer trust, direct paths, and encrypted relay fallback as one deployment model.', + href: '/solutions/private-agent-network', + label: 'Explore private agent networks', + }, + { + slugs: new Set([ + 'zero-dependency-encryption-x25519-aes-gcm', + 'secure-ai-agent-communication-zero-trust', + 'agent-communication-security-best-practices', + 'trust-model-agents-invisible-by-default', + ]), + eyebrow: 'For security reviewers', + title: 'Separate implemented controls from deployment policy', + body: 'Inspect the cryptographic boundary, trust lifecycle, metadata exposure, operational controls, and stated limitations.', + href: '/trust', + label: 'Open the Trust Center', + }, + { + slugs: new Set([ + 'ai-agent-app-store', + 'build-agent-app-turn-api-into-tool', + 'mcp-plus-pilot-tools-and-network', + ]), + eyebrow: 'For API and tool publishers', + title: 'Turn one useful service into an agent capability', + body: 'Package typed methods, declare required authority, and make the capability discoverable without replacing the upstream product.', + href: '/solutions/agent-ready-apis', + label: 'See the publisher path', + }, + { + slugs: new Set([ + 'distributed-rag-without-central-knowledge-base', + 'scriptorium-replace-agentic-active-research-ready-intelligence', + ]), + eyebrow: 'For knowledge and research teams', + title: 'Evaluate grounded search on your own sources', + body: 'Compare lexical, dense, and hybrid retrieval while preserving citations and control over the index and model endpoints.', + href: '/solutions/grounded-agent-search', + label: 'Explore grounded agent search', + }, + { + slugs: new Set(['claude-agent-teams-over-pilot']), + eyebrow: 'For engineering leaders', + title: 'Manage coding-agent settings and usage as a fleet', + body: 'Review the early-access control surface for inventory, signed settings, usage attribution, and audited remote operations.', + href: '/enterprise/claude-code-management', + label: 'Review enterprise management', + }, + { + slugs: new Set([ + 'enterprise-identity-integration-pilot-protocol', + 'enterprise-private-networks-roadmap', + 'enterprise-phase-3-rbac-policies-audit-fleet', + 'enterprise-production-complete-identity-directory-audit-export', + ]), + eyebrow: 'For enterprise AI teams', + title: 'Put autonomous agents inside an operating control loop', + body: 'Connect fleet state, signed policy, approvals, bounded remote operations, usage telemetry, and action evidence.', + href: '/enterprise/autonomous-ai-agents', + label: 'Explore the agent control plane', + }, +]; +const funnelCta = funnelCtaGroups.find((group) => group.slugs.has(currentSlug)); + // Imported article bodies historically included their own schema and page // title. The layout owns both, so remove only those first legacy elements. const renderedBody = await Astro.slots.render('default'); @@ -209,6 +289,16 @@ const faqSectionId = headingIds.has('frequently-asked-questions') {tags.map((tag) => {tag})} + {funnelCta && ( + + )}