Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 22 additions & 3 deletions public/_redirects
Original file line number Diff line number Diff line change
Expand Up @@ -23,21 +23,40 @@
/plain/terms/ /terms 301
/docs/polo /for/networks 301
/docs/polo/ /for/networks 301
/docs/console-guide /enterprise/autonomous-ai-agents 301
/docs/console-guide/ /enterprise/autonomous-ai-agents 301
/docs/console-guide /docs/enterprise 301
/docs/console-guide/ /docs/enterprise 301
/blog/service-agents-overlay-network /docs/service-agents 301
/blog/understanding-autonomous-agent-networking-distributed-ai /blog/autonomous-agent-networking-distributed-ai 301
/blog/openclaw-task-delegation-polo-reputation /blog/build-openclaw-agent-self-organizes-pilot 301
/blog/openclaw-task-delegation-polo-reputation.html /blog/build-openclaw-agent-self-organizes-pilot 301
/blog/decentralized-task-marketplace-agents /blog/build-ai-agent-marketplace-discovery-reputation 301
/blog/decentralized-task-marketplace-agents.html /blog/build-ai-agent-marketplace-discovery-reputation 301
/blog/pilot-console-manage-agent-networks /enterprise/autonomous-ai-agents 301
/blog/pilot-console-manage-agent-networks /docs/enterprise 301
/blog/ten-thousand-agents-three-vms /blog/scaling-openclaw-fleets-thousands-agents 301
/blog/ten-thousand-agents-three-vms.html /blog/scaling-openclaw-fleets-thousands-agents 301
/blog/polo-score-reputation-without-blockchain /blog/preferential-attachment-ai-networks-trust-graph 301
/blog/how-to-wrap-legacy-protocols-for-p2p-ai-networks /blog/legacy-protocol-integration-for-secure-distributed-ai 301
/blog/network-security-checklist-for-decentralized-p2p-ai-systems /blog/network-security-for-multi-agent-systems-key-strategies 301

# The hosted control plane was retired (2026-10). Its landing pages and docs
# go to the enterprise overview, which covers the controls that remain.
/enterprise/autonomous-ai-agents /docs/enterprise 301
/enterprise/claude-code-management /docs/enterprise 301
/docs/managed-control-plane /docs/enterprise 301
/docs/managed-accounts /docs/enterprise 301
/docs/managed-agent-adoption /docs/enterprise 301
/docs/managed-harnesses /docs/enterprise 301
/docs/managed-policies /docs/enterprise 301
/docs/managed-fleet /docs/enterprise 301
/docs/managed-readiness /docs/enterprise 301
/plain/docs/managed-control-plane /plain/docs/enterprise 301
/plain/docs/managed-accounts /plain/docs/enterprise 301
/plain/docs/managed-agent-adoption /plain/docs/enterprise 301
/plain/docs/managed-harnesses /plain/docs/enterprise 301
/plain/docs/managed-policies /plain/docs/enterprise 301
/plain/docs/managed-fleet /plain/docs/enterprise 301
/plain/docs/managed-readiness /plain/docs/enterprise 301

# Consolidate an overlapping P2P explainer into the more complete article.
/blog/why-secure-direct-p2p-connections-matter-for-ai-agents /blog/why-direct-p2p-connections-power-secure-ai-networking 301

Expand Down
377 changes: 51 additions & 326 deletions public/install.sh

Large diffs are not rendered by default.

6 changes: 2 additions & 4 deletions public/llms.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,10 @@ A no-styling, no-JS variant of the marketing site is maintained at /plain/ for A
- [MCP + Pilot](https://pilotprotocol.network/plain/mcp/): expose MCP servers over the network
- [Plans](https://pilotprotocol.network/plain/plans/): Backbone is free, private and enterprise are managed

## Enterprise control plane
## Enterprise

The managed control plane is in preview. Supported adapters can surface agent actions for signed policy decisions, expiring approvals, bounded remote operations, usage attribution, and evidence. Nodes enforce signed decisions locally; organizational business authority remains explicit.
Enterprise controls for private networks are in early access: roles, external identity validation, network policy, key lifecycle, blueprints, and audit export. Organizational business authority remains explicit.

- [Autonomous AI agent control plane](https://pilotprotocol.network/enterprise/autonomous-ai-agents): Fleet inventory, signed policy rollout, live approval, typed commands, and action evidence.
- [Claude Code management](https://pilotprotocol.network/enterprise/claude-code-management): Work-issued runtime inventory, model-call and token attribution, supported settings rollout, and audited remote operations.
- [Enterprise architecture](https://pilotprotocol.network/docs/enterprise): Deployment model, identity, policy, roles, and audit controls.
- [Enterprise readiness report](https://pilotprotocol.network/enterprise-readiness-report.pdf): Architecture, control boundaries, and deployment considerations.

Expand Down
10 changes: 4 additions & 6 deletions scripts/gen-apps.mjs
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
// Generator for src/data/apps.ts.
//
// The records come from the app-store metadata API — the one source the Alpha
// management console reads too. Before it existed this script built them from
// local JSON (app-overrides.json + app-methods.json + app-demos.json) while the
// console carried its own copy pasted across by hand, and the two drifted:
// 25 of 27 apps had different summary copy on the two surfaces.
// The records come from the app-store metadata API. Before it existed this
// script built them from local JSON (app-overrides.json + app-methods.json +
// app-demos.json), and copies of that data drifted between surfaces.
//
// Editing an app now means editing one file in pilot-protocol/app-template
// under appstore-meta/data/apps/ and redeploying the API. Nothing about an
Expand Down Expand Up @@ -198,7 +196,7 @@ const apps = document.apps.map(toApp);
const FEATURED = (document.featured_order || []).filter((id) => apps.some((app) => app.id === id));

const source = fetched ? API : `${path.basename(SNAPSHOT)} (offline)`;
const banner = `// AUTO-GENERATED by scripts/gen-apps.mjs from the app-store metadata API\n// (${source}) — the same document the Alpha management console reads.\n// Do not edit by hand, and do not edit the records here: change an app in\n// pilot-protocol/app-template under appstore-meta/data/apps/ and redeploy.\n// No ratings or install counts — those are not published by the catalogue.\n`;
const banner = `// AUTO-GENERATED by scripts/gen-apps.mjs from the app-store metadata API\n// (${source}).\n// Do not edit by hand, and do not edit the records here: change an app in\n// pilot-protocol/app-template under appstore-meta/data/apps/ and redeploy.\n// No ratings or install counts — those are not published by the catalogue.\n`;
const body = `${banner}
export interface AppMethod { name: string; summary: string | null; example: string | null; gated: string | null; }
export interface AppLimit { label: string; value: string; }
Expand Down
5 changes: 0 additions & 5 deletions scripts/regen-plain.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -132,11 +132,6 @@ async function loadDocManifest() {
const source = `src/pages/docs/${file}`;
const dest = `src/pages/plain/docs/${file}`;
const full = await readFile(join(REPO_ROOT, source), 'utf8');
// Managed documentation renders from src/data/managedDocs.ts on both the
// human and plain routes. Feeding the thin route wrapper to the prose
// generator loses the authoritative content and produces placeholders.
// Its plain wrapper is intentionally unstamped and data-driven.
if (full.includes("from '../../data/managedDocs'")) continue;
const meta = readDocMeta(full);
const isIndex = slugPart === 'index';
const canonical = isIndex
Expand Down
4 changes: 2 additions & 2 deletions src/components/Footer.astro
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
import { solutionGroups } from '../data/solutions';

const enterpriseLinks = [
{ href: '/enterprise/autonomous-ai-agents', label: 'Autonomous agent control' },
{ href: '/enterprise/claude-code-management', label: 'Claude Code management' },
{ href: '/docs/enterprise', label: 'Enterprise networks' },
{ href: '/plans', label: 'Plans' },
];

// Social links — add new entries here to extend the row.
Expand Down
20 changes: 0 additions & 20 deletions src/components/ManagedPlainDoc.astro

This file was deleted.

2 changes: 1 addition & 1 deletion src/data/apps.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// AUTO-GENERATED by scripts/gen-apps.mjs from the app-store metadata API
// (https://appstore-meta.pilotprotocol.network/v1/appstore/metadata) — the same document the Alpha management console reads.
// (https://appstore-meta.pilotprotocol.network/v1/appstore/metadata).
// Do not edit by hand, and do not edit the records here: change an app in
// pilot-protocol/app-template under appstore-meta/data/apps/ and redeploy.
// No ratings or install counts — those are not published by the catalogue.
Expand Down
36 changes: 18 additions & 18 deletions src/data/blogPosts.json
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
{
"slug": "connect-claude-code-to-pilot-protocol",
"title": "Connect Claude Code to Pilot Protocol with MCP Tools",
"description": "Add Pilot agent discovery, messaging, and policy hooks to Claude Code without replacing existing MCP servers or settings.",
"description": "Add Pilot agent discovery and messaging to Claude Code without replacing existing MCP servers or settings.",
"date": "Sep 5",
"category": "Integration",
"tags": [
Expand All @@ -64,8 +64,8 @@
},
{
"slug": "connect-cursor-to-pilot-protocol",
"title": "Connect Cursor to Pilot Protocol with MCP and Hooks",
"description": "Configure Pilot MCP and fail-closed native tool hooks in Cursor while preserving the rest of your user configuration.",
"title": "Connect Cursor to Pilot Protocol with MCP",
"description": "Configure Pilot MCP in Cursor while preserving the rest of your user configuration.",
"date": "Sep 5",
"category": "Integration",
"tags": [
Expand All @@ -78,8 +78,8 @@
},
{
"slug": "connect-cline-to-pilot-protocol",
"title": "Connect Cline to Pilot Protocol with MCP and Hooks Safely",
"description": "Connect Cline to Pilot MCP, install its native tool hooks, and preserve existing servers and user-owned hook scripts.",
"title": "Connect Cline to Pilot Protocol with MCP",
"description": "Connect Cline to Pilot MCP while preserving existing servers and user-owned hook scripts.",
"date": "Sep 5",
"category": "Integration",
"tags": [
Expand All @@ -92,8 +92,8 @@
},
{
"slug": "connect-hermes-to-pilot-protocol",
"title": "Connect Hermes to Pilot Protocol with MCP and Hooks",
"description": "Add Pilot MCP and native pre- and post-tool hooks to Hermes CLI and Gateway sessions with one configuration command.",
"title": "Connect Hermes to Pilot Protocol with MCP",
"description": "Add Pilot MCP to Hermes CLI and Gateway sessions with one configuration command.",
"date": "Sep 5",
"category": "Integration",
"tags": [
Expand All @@ -106,8 +106,8 @@
},
{
"slug": "connect-picoclaw-to-pilot-protocol",
"title": "Connect PicoClaw to Pilot Protocol with MCP Hooks Safely",
"description": "Enable Pilot MCP and PicoClaw’s process-hook boundary for lightweight agents running on constrained devices.",
"title": "Connect PicoClaw to Pilot Protocol with MCP",
"description": "Enable Pilot MCP in PicoClaw for lightweight agents running on constrained devices.",
"date": "Sep 5",
"category": "Integration",
"tags": [
Expand All @@ -120,8 +120,8 @@
},
{
"slug": "connect-openhands-to-pilot-protocol",
"title": "Connect OpenHands to Pilot Protocol with MCP Hooks",
"description": "Configure Pilot for OpenHands at user scope and add project-scoped tool hooks without changing unrelated settings.",
"title": "Connect OpenHands to Pilot Protocol with MCP",
"description": "Configure Pilot for OpenHands at user scope without changing unrelated settings.",
"date": "Sep 5",
"category": "Integration",
"tags": [
Expand All @@ -134,8 +134,8 @@
},
{
"slug": "connect-codex-cli-to-pilot-protocol",
"title": "Connect Codex CLI to Pilot Protocol with MCP Hooks",
"description": "Add Pilot MCP and local tool hooks to Codex CLI while preserving existing TOML configuration and hook groups.",
"title": "Connect Codex CLI to Pilot Protocol with MCP",
"description": "Add Pilot MCP to Codex CLI while preserving existing TOML configuration and hook groups.",
"date": "Sep 5",
"category": "Integration",
"tags": [
Expand All @@ -148,8 +148,8 @@
},
{
"slug": "connect-gemini-cli-to-pilot-protocol",
"title": "Connect Gemini CLI to Pilot Protocol with MCP Hooks",
"description": "Connect Gemini CLI to Pilot MCP and install sequential BeforeTool and AfterTool hooks in its user settings.",
"title": "Connect Gemini CLI to Pilot Protocol with MCP",
"description": "Connect Gemini CLI to Pilot MCP through its user settings.",
"date": "Sep 5",
"category": "Integration",
"tags": [
Expand Down Expand Up @@ -177,7 +177,7 @@
{
"slug": "connect-github-copilot-to-pilot-protocol",
"title": "Connect GitHub Copilot to Pilot Protocol with MCP Tools",
"description": "Configure Pilot MCP and cross-platform tool hooks for GitHub Copilot CLI without rewriting unrelated user settings.",
"description": "Configure Pilot MCP for GitHub Copilot CLI without rewriting unrelated user settings.",
"date": "Sep 5",
"category": "Integration",
"tags": [
Expand Down Expand Up @@ -1069,8 +1069,8 @@
},
{
"slug": "openclaw-meets-pilot-agent-networking-one-command",
"title": "Connect OpenClaw to Pilot Protocol with Native Policy",
"description": "Install Pilot’s native OpenClaw plugin for agent networking, message checks, policy decisions, and post-action evidence.",
"title": "Connect OpenClaw to Pilot Protocol with a Native Plugin",
"description": "Install Pilot’s native OpenClaw plugin for agent networking with one command.",
"date": "Mar 1",
"category": "Integration",
"tags": [
Expand Down
15 changes: 0 additions & 15 deletions src/data/docsNav.ts
Original file line number Diff line number Diff line change
Expand Up @@ -53,21 +53,6 @@ export const docsNav: NavItem[] = [
icon: '<svg viewBox="0 0 24 24"><path d="M9 3H5a2 2 0 0 0-2 2v4"/><path d="M15 3h4a2 2 0 0 1 2 2v4"/><path d="M9 21H5a2 2 0 0 1-2-2v-4"/><path d="M15 21h4a2 2 0 0 0 2-2v-4"/><circle cx="12" cy="12" r="2"/></svg>' },
{ label: 'Consent & Privacy', href: '/docs/consent', slug: 'consent',
icon: '<svg viewBox="0 0 24 24"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/><path d="M9 12l2 2 4-4"/></svg>' },
// Hosted control plane
{ section: 'Hosted Control Plane', label: 'Managed Overview', href: '/docs/managed-control-plane', slug: 'managed-control-plane',
icon: '<svg viewBox="0 0 24 24"><rect x="3" y="3" width="18" height="18" rx="3"/><path d="M7 8h10M7 12h6M7 16h8"/></svg>' },
{ label: 'Accounts & Organizations', href: '/docs/managed-accounts', slug: 'managed-accounts',
icon: '<svg viewBox="0 0 24 24"><path d="M3 21h18M5 21V7l7-4 7 4v14"/><path d="M9 21v-6h6v6M8 10h.01M12 10h.01M16 10h.01"/></svg>' },
{ label: 'Agent Adoption', href: '/docs/managed-agent-adoption', slug: 'managed-agent-adoption',
icon: '<svg viewBox="0 0 24 24"><circle cx="12" cy="8" r="4"/><path d="M4 21a8 8 0 0 1 16 0M18 4l2 2 3-3"/></svg>' },
{ label: 'Harness Coverage', href: '/docs/managed-harnesses', slug: 'managed-harnesses',
icon: '<svg viewBox="0 0 24 24"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.8-3.8a6 6 0 0 1-8 8l-7 7a2.1 2.1 0 0 1-3-3l7-7a6 6 0 0 1 8-8z"/></svg>' },
{ label: 'Policies & Approvals', href: '/docs/managed-policies', slug: 'managed-policies',
icon: '<svg viewBox="0 0 24 24"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><path d="M14 2v6h6M8 13h8M8 17h5"/></svg>' },
{ label: 'Fleet & Evidence', href: '/docs/managed-fleet', slug: 'managed-fleet',
icon: '<svg viewBox="0 0 24 24"><circle cx="12" cy="5" r="3"/><circle cx="5" cy="19" r="3"/><circle cx="19" cy="19" r="3"/><path d="M12 8l-7 8M12 8l7 8M8 19h8"/></svg>' },
{ label: 'Availability & Readiness', href: '/docs/managed-readiness', slug: 'managed-readiness',
icon: '<svg viewBox="0 0 24 24"><path d="M3 12h4l2-7 4 14 2-7h6"/><circle cx="12" cy="12" r="10"/></svg>' },
// Enterprise
{ section: 'Enterprise', label: 'Security', href: '/docs/security', slug: 'security',
icon: '<svg viewBox="0 0 24 24"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/><path d="M9 12l2 2 4-4"/></svg>' },
Expand Down
Loading
Loading