diff --git a/public/blog/banners/pilot-vs-tailscale-nebula-zerotier-ai-agents.svg b/public/blog/banners/pilot-vs-tailscale-nebula-zerotier-ai-agents.svg new file mode 100644 index 0000000..c8084bc --- /dev/null +++ b/public/blog/banners/pilot-vs-tailscale-nebula-zerotier-ai-agents.svg @@ -0,0 +1,12 @@ + diff --git a/src/data/blogPosts.ts b/src/data/blogPosts.ts index a3a13b6..52c9916 100644 --- a/src/data/blogPosts.ts +++ b/src/data/blogPosts.ts @@ -10,6 +10,16 @@ export interface BlogPost { } export const blogPosts: BlogPost[] = [ + { + slug: "pilot-vs-tailscale-nebula-zerotier-ai-agents", + title: "Pilot vs Tailscale vs Nebula vs ZeroTier for AI Agents", + description: "Tailscale, Nebula, and ZeroTier are great machine VPNs — but agents need addressing, discovery, and per-peer trust. An honest architecture comparison and decision guide.", + date: "Jun 28", + category: "Blog", + tags: ["comparison", "overlay-network", "vpn", "networking"], + banner: "banners/pilot-vs-tailscale-nebula-zerotier-ai-agents.svg", + }, + { slug: "secure-data-exchange-for-multi-cloud-ai-systems", title: "Secure data exchange for multi-cloud AI systems", @@ -22,7 +32,7 @@ export const blogPosts: BlogPost[] = [ { slug: "encrypted-data-exchange-for-decentralized-ai-systems", - title: "Encrypted data exchange for decentralized AI systems", + title: "Encrypted Data Exchange for Decentralized AI", description: "Unlock essential strategies with our guide to encrypted data exchange for decentralized AI systems, safeguarding sensitive data across networks.", date: "May 10", category: "Blog", @@ -272,7 +282,7 @@ export const blogPosts: BlogPost[] = [ { slug: "persistent-addresses-distributed-autonomous-systems", - title: "Persistent addresses for distributed and autonomous systems", + title: "Persistent Addresses for Distributed AI Agents", description: "Learn how persistent addresses solve unstable endpoint problems in distributed and autonomous agent systems across multi-cloud environments with secure P2P solutions.", date: "Apr 14", category: "Blog", @@ -450,7 +460,7 @@ slug: "secure-ai-agent-networking-workflow-step-by-step", }, { slug: "peer-to-peer-agent-communication-no-server", - title: "Peer-to-Peer Agent Communication: No Server Required", + title: "Peer-to-Peer Agent Communication With No Server", description: "Why hub-and-spoke is a bottleneck for agents. Walk through Pilot Protocol's direct P2P model: STUN, hole-punching, encrypted tunnels, trust handshakes.", date: "Mar 30", category: "Architecture", @@ -685,7 +695,7 @@ slug: "secure-ai-agent-networking-workflow-step-by-step", }, { slug: "move-beyond-rest-persistent-connections-for-agents", - title: "Move Beyond REST: Persistent Connections for Agents", + title: "Beyond REST: Persistent Connections for AI Agents", description: "REST polling wastes 98.5% of requests. WebSockets break at scale. Persistent bidirectional connections solve real-time agent communication without the infrastructure pain.", date: "Feb 26", category: "Architecture", @@ -802,7 +812,7 @@ slug: "secure-ai-agent-networking-workflow-step-by-step", }, { slug: "connect-agents-across-aws-gcp-azure-without-vpn", - title: "Connect Agents Across AWS, GCP, and Azure Without a VPN", + title: "Connect AI Agents Across AWS, GCP & Azure — No VPN", description: "Deploy agents across any cloud with two commands. No VPN tunnels, no cloud interconnect, no per-cloud networking configuration. Virtual addresses that work everywhere.", date: "Feb 19", category: "Guide", @@ -946,7 +956,7 @@ slug: "secure-ai-agent-networking-workflow-step-by-step", }, { slug: "mcp-plus-pilot-tools-and-network", - title: "MCP + Pilot: Give Your Agent Tools AND a Network", + title: "MCP + Pilot: Tools and a Network for AI Agents", description: "MCP handles tool access. Pilot handles peer communication. Together: agents that gather data, share results, and delegate work without a platform in the middle.", date: "Feb 9", category: "Integration", diff --git a/src/layouts/BlogLayout.astro b/src/layouts/BlogLayout.astro index f777504..d1a58b2 100644 --- a/src/layouts/BlogLayout.astro +++ b/src/layouts/BlogLayout.astro @@ -13,9 +13,10 @@ interface Props { tags: string[]; canonicalPath?: string; bannerImage?: string; + faqItems?: { question: string; answer: string }[]; } -const { title, description, date, tags, canonicalPath, bannerImage } = Astro.props; +const { title, description, date, tags, canonicalPath, bannerImage, faqItems = [] } = Astro.props; const cleanPath = canonicalPath ? canonicalPath.replace(/\.html$/, '') : undefined; const canonicalUrl = cleanPath ? `https://pilotprotocol.network${cleanPath}` : undefined; const ogImage = bannerImage @@ -65,6 +66,17 @@ const related = blogPosts {"@type": "ListItem", "position": 3, "name": title, "item": canonicalUrl} ] })}> + {faqItems.length > 0 && ( + + )}
@@ -89,6 +101,20 @@ const related = blogPosts + {faqItems.length > 0 && ( +