From b5781be27ce3fbc8e6935c0718a670c34c9bf76e Mon Sep 17 00:00:00 2001 From: Teodor Calin Date: Sat, 5 Sep 2026 00:04:34 +0300 Subject: [PATCH] Add Pilot integration guides for agent harnesses --- .../banners/pilot-harness-integrations.svg | 18 +++ .../HarnessIntegrationArticle.astro | 82 ++++++++++ src/data/blogPosts.json | 119 +++++++++++++- ...onnect-claude-code-to-pilot-protocol.astro | 15 ++ .../connect-cline-to-pilot-protocol.astro | 15 ++ .../connect-codex-cli-to-pilot-protocol.astro | 15 ++ .../connect-continue-to-pilot-protocol.astro | 15 ++ .../connect-cursor-to-pilot-protocol.astro | 15 ++ ...connect-gemini-cli-to-pilot-protocol.astro | 15 ++ ...ect-github-copilot-to-pilot-protocol.astro | 15 ++ .../connect-hermes-to-pilot-protocol.astro | 15 ++ .../connect-junie-to-pilot-protocol.astro | 15 ++ .../connect-openhands-to-pilot-protocol.astro | 15 ++ .../connect-picoclaw-to-pilot-protocol.astro | 16 ++ ...s-pilot-agent-networking-one-command.astro | 148 ++---------------- 15 files changed, 395 insertions(+), 138 deletions(-) create mode 100644 public/blog/banners/pilot-harness-integrations.svg create mode 100644 src/components/HarnessIntegrationArticle.astro create mode 100644 src/pages/blog/connect-claude-code-to-pilot-protocol.astro create mode 100644 src/pages/blog/connect-cline-to-pilot-protocol.astro create mode 100644 src/pages/blog/connect-codex-cli-to-pilot-protocol.astro create mode 100644 src/pages/blog/connect-continue-to-pilot-protocol.astro create mode 100644 src/pages/blog/connect-cursor-to-pilot-protocol.astro create mode 100644 src/pages/blog/connect-gemini-cli-to-pilot-protocol.astro create mode 100644 src/pages/blog/connect-github-copilot-to-pilot-protocol.astro create mode 100644 src/pages/blog/connect-hermes-to-pilot-protocol.astro create mode 100644 src/pages/blog/connect-junie-to-pilot-protocol.astro create mode 100644 src/pages/blog/connect-openhands-to-pilot-protocol.astro create mode 100644 src/pages/blog/connect-picoclaw-to-pilot-protocol.astro diff --git a/public/blog/banners/pilot-harness-integrations.svg b/public/blog/banners/pilot-harness-integrations.svg new file mode 100644 index 00000000..55284941 --- /dev/null +++ b/public/blog/banners/pilot-harness-integrations.svg @@ -0,0 +1,18 @@ + + Pilot Protocol harness integrations + A central Pilot node connected to twelve agent harnesses. + + + + + + + + + + + + PILOT + MCP + trusted peers + One network. Your agent harness. + diff --git a/src/components/HarnessIntegrationArticle.astro b/src/components/HarnessIntegrationArticle.astro new file mode 100644 index 00000000..6e67004b --- /dev/null +++ b/src/components/HarnessIntegrationArticle.astro @@ -0,0 +1,82 @@ +--- +import BlogLayout from '../layouts/BlogLayout.astro'; + +interface Props { + harness: string; + title: string; + description: string; + slug: string; + flag: string; + officialUrl: string; + configPath: string; + setupDetails: string[]; + policyNote: string; + verification: string; + status?: string; + date?: string; + dateModified?: string; +} + +const { + harness, + title, + description, + slug, + flag, + officialUrl, + configPath, + setupDetails, + policyNote, + verification, + status = 'Supported', + date = 'September 5, 2026', + dateModified, +} = Astro.props; + +const installCommand = `npx -y pilotprotocol-mcp setup --${flag}`; +--- + +

+ Pilot connects {harness} to specialist agents and + trusted peers through MCP. The supported setup path is one command and preserves existing configuration. +

+ +
+

Install Pilot for {harness}

+
{installCommand}
+

Use setup --all instead when several supported harnesses are installed on the same machine.

+
+ +
+

What setup changes

+

Configuration: {configPath}

+
    + {setupDetails.map(detail =>
  • {detail}
  • )} +
+

{policyNote}

+
+ +
+

Verify the connection

+

{verification}

+
npx -y pilotprotocol-mcp doctor
+

Integration status: {status} in pilotprotocol-mcp 0.2.13.

+
+ +
+

What the harness gains

+

+ Pilot exposes agent search, structured specialist queries, direct messages, handshakes, peer status, and + inbox access. The harness keeps its own model, permissions, and existing MCP servers. +

+

Read the MCP setup reference or inspect the adapter source.

+
+
diff --git a/src/data/blogPosts.json b/src/data/blogPosts.json index 94deba5e..9cb656ed 100644 --- a/src/data/blogPosts.json +++ b/src/data/blogPosts.json @@ -1,4 +1,114 @@ [ + { + "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.", + "date": "Sep 5", + "category": "Integration", + "tags": ["claude-code", "mcp", "integration"], + "banner": "banners/pilot-harness-integrations.svg", + "iso_date": "2026-09-05" + }, + { + "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.", + "date": "Sep 5", + "category": "Integration", + "tags": ["cursor", "mcp", "integration"], + "banner": "banners/pilot-harness-integrations.svg", + "iso_date": "2026-09-05" + }, + { + "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.", + "date": "Sep 5", + "category": "Integration", + "tags": ["cline", "mcp", "integration"], + "banner": "banners/pilot-harness-integrations.svg", + "iso_date": "2026-09-05" + }, + { + "slug": "connect-continue-to-pilot-protocol", + "title": "Connect Continue to Pilot Protocol with MCP Setup Guide", + "description": "Merge Pilot into Continue’s current YAML agent configuration without overwriting models, rules, or existing MCP servers.", + "date": "Sep 5", + "category": "Integration", + "tags": ["continue", "mcp", "integration"], + "banner": "banners/pilot-harness-integrations.svg", + "iso_date": "2026-09-05" + }, + { + "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.", + "date": "Sep 5", + "category": "Integration", + "tags": ["hermes", "mcp", "integration"], + "banner": "banners/pilot-harness-integrations.svg", + "iso_date": "2026-09-05" + }, + { + "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.", + "date": "Sep 5", + "category": "Integration", + "tags": ["picoclaw", "mcp", "integration"], + "banner": "banners/pilot-harness-integrations.svg", + "iso_date": "2026-09-05" + }, + { + "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.", + "date": "Sep 5", + "category": "Integration", + "tags": ["openhands", "mcp", "integration"], + "banner": "banners/pilot-harness-integrations.svg", + "iso_date": "2026-09-05" + }, + { + "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.", + "date": "Sep 5", + "category": "Integration", + "tags": ["codex-cli", "mcp", "integration"], + "banner": "banners/pilot-harness-integrations.svg", + "iso_date": "2026-09-05" + }, + { + "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.", + "date": "Sep 5", + "category": "Integration", + "tags": ["gemini-cli", "mcp", "integration"], + "banner": "banners/pilot-harness-integrations.svg", + "iso_date": "2026-09-05" + }, + { + "slug": "connect-junie-to-pilot-protocol", + "title": "Connect JetBrains Junie to Pilot Protocol with MCP", + "description": "Add Pilot MCP to Junie CLI and use the same standard server definition in JetBrains AI Assistant settings.", + "date": "Sep 5", + "category": "Integration", + "tags": ["junie", "mcp", "integration"], + "banner": "banners/pilot-harness-integrations.svg", + "iso_date": "2026-09-05" + }, + { + "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.", + "date": "Sep 5", + "category": "Integration", + "tags": ["github-copilot", "mcp", "integration"], + "banner": "banners/pilot-harness-integrations.svg", + "iso_date": "2026-09-05" + }, { "slug": "shell-online-live-terminal-browser-link", "title": "shell.online: A Live Browser Link for Any Terminal", @@ -880,15 +990,16 @@ }, { "slug": "openclaw-meets-pilot-agent-networking-one-command", - "title": "OpenClaw Meets Pilot Protocol: Agent Networking in One Command", - "description": "Install Pilot Protocol as an OpenClaw skill with one command. Full walkthrough: installation, onboarding, messaging, task delegation, and multi-agent pipelines.", + "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.", "date": "Mar 1", "category": "Integration", "tags": [ "openclaw", - "clawhub" + "mcp", + "integration" ], - "banner": "banners/openclaw-meets-pilot-agent-networking-one-command.webp", + "banner": "banners/pilot-harness-integrations.svg", "iso_date": "2026-03-01" }, { diff --git a/src/pages/blog/connect-claude-code-to-pilot-protocol.astro b/src/pages/blog/connect-claude-code-to-pilot-protocol.astro new file mode 100644 index 00000000..af5e1c67 --- /dev/null +++ b/src/pages/blog/connect-claude-code-to-pilot-protocol.astro @@ -0,0 +1,15 @@ +--- +import HarnessIntegrationArticle from '../../components/HarnessIntegrationArticle.astro'; +--- + diff --git a/src/pages/blog/connect-cline-to-pilot-protocol.astro b/src/pages/blog/connect-cline-to-pilot-protocol.astro new file mode 100644 index 00000000..d1fdd37d --- /dev/null +++ b/src/pages/blog/connect-cline-to-pilot-protocol.astro @@ -0,0 +1,15 @@ +--- +import HarnessIntegrationArticle from '../../components/HarnessIntegrationArticle.astro'; +--- + diff --git a/src/pages/blog/connect-codex-cli-to-pilot-protocol.astro b/src/pages/blog/connect-codex-cli-to-pilot-protocol.astro new file mode 100644 index 00000000..800dc880 --- /dev/null +++ b/src/pages/blog/connect-codex-cli-to-pilot-protocol.astro @@ -0,0 +1,15 @@ +--- +import HarnessIntegrationArticle from '../../components/HarnessIntegrationArticle.astro'; +--- + diff --git a/src/pages/blog/connect-continue-to-pilot-protocol.astro b/src/pages/blog/connect-continue-to-pilot-protocol.astro new file mode 100644 index 00000000..277781d6 --- /dev/null +++ b/src/pages/blog/connect-continue-to-pilot-protocol.astro @@ -0,0 +1,15 @@ +--- +import HarnessIntegrationArticle from '../../components/HarnessIntegrationArticle.astro'; +--- + diff --git a/src/pages/blog/connect-cursor-to-pilot-protocol.astro b/src/pages/blog/connect-cursor-to-pilot-protocol.astro new file mode 100644 index 00000000..30c7cad9 --- /dev/null +++ b/src/pages/blog/connect-cursor-to-pilot-protocol.astro @@ -0,0 +1,15 @@ +--- +import HarnessIntegrationArticle from '../../components/HarnessIntegrationArticle.astro'; +--- + diff --git a/src/pages/blog/connect-gemini-cli-to-pilot-protocol.astro b/src/pages/blog/connect-gemini-cli-to-pilot-protocol.astro new file mode 100644 index 00000000..cbcfeaaa --- /dev/null +++ b/src/pages/blog/connect-gemini-cli-to-pilot-protocol.astro @@ -0,0 +1,15 @@ +--- +import HarnessIntegrationArticle from '../../components/HarnessIntegrationArticle.astro'; +--- + diff --git a/src/pages/blog/connect-github-copilot-to-pilot-protocol.astro b/src/pages/blog/connect-github-copilot-to-pilot-protocol.astro new file mode 100644 index 00000000..a253429b --- /dev/null +++ b/src/pages/blog/connect-github-copilot-to-pilot-protocol.astro @@ -0,0 +1,15 @@ +--- +import HarnessIntegrationArticle from '../../components/HarnessIntegrationArticle.astro'; +--- + diff --git a/src/pages/blog/connect-hermes-to-pilot-protocol.astro b/src/pages/blog/connect-hermes-to-pilot-protocol.astro new file mode 100644 index 00000000..bda1f792 --- /dev/null +++ b/src/pages/blog/connect-hermes-to-pilot-protocol.astro @@ -0,0 +1,15 @@ +--- +import HarnessIntegrationArticle from '../../components/HarnessIntegrationArticle.astro'; +--- + diff --git a/src/pages/blog/connect-junie-to-pilot-protocol.astro b/src/pages/blog/connect-junie-to-pilot-protocol.astro new file mode 100644 index 00000000..39b3bb17 --- /dev/null +++ b/src/pages/blog/connect-junie-to-pilot-protocol.astro @@ -0,0 +1,15 @@ +--- +import HarnessIntegrationArticle from '../../components/HarnessIntegrationArticle.astro'; +--- + diff --git a/src/pages/blog/connect-openhands-to-pilot-protocol.astro b/src/pages/blog/connect-openhands-to-pilot-protocol.astro new file mode 100644 index 00000000..7604feac --- /dev/null +++ b/src/pages/blog/connect-openhands-to-pilot-protocol.astro @@ -0,0 +1,15 @@ +--- +import HarnessIntegrationArticle from '../../components/HarnessIntegrationArticle.astro'; +--- + diff --git a/src/pages/blog/connect-picoclaw-to-pilot-protocol.astro b/src/pages/blog/connect-picoclaw-to-pilot-protocol.astro new file mode 100644 index 00000000..237bc1b4 --- /dev/null +++ b/src/pages/blog/connect-picoclaw-to-pilot-protocol.astro @@ -0,0 +1,16 @@ +--- +import HarnessIntegrationArticle from '../../components/HarnessIntegrationArticle.astro'; +--- + diff --git a/src/pages/blog/openclaw-meets-pilot-agent-networking-one-command.astro b/src/pages/blog/openclaw-meets-pilot-agent-networking-one-command.astro index d602fcd1..0b25e930 100644 --- a/src/pages/blog/openclaw-meets-pilot-agent-networking-one-command.astro +++ b/src/pages/blog/openclaw-meets-pilot-agent-networking-one-command.astro @@ -1,137 +1,17 @@ --- -import BlogLayout from '../../layouts/BlogLayout.astro'; - -const bodyContent = `

OpenClaw agents need peer communication. They need to find other agents, establish secure channels, exchange data, and delegate tasks. Until now, building this required custom HTTP servers, message brokers, or manual WebSocket plumbing. Pilot Protocol reduces it to one command: clawhub install pilotprotocol. This article walks through the full integration -- from installation to a working multi-agent pipeline.

- -
-

Installation: One Command

- -

Pilot Protocol is available on ClawHub, OpenClaw's skill marketplace. Installation downloads the SKILL.md skill definition into the agent's skill directory:

- -
clawhub install pilotprotocol
- -

That is the entire installation. No package manager dependencies. No Docker containers. No environment variables. The SKILL.md file gives the agent a complete reference for every pilotctl command, including arguments, return types, error codes with retry guidance, and workflow examples.

- -

After installation, the agent can call pilotctl --json context at runtime to get a machine-readable manifest of all available commands. This enables dynamic capability discovery -- the agent does not need to parse the SKILL.md file; it can query the tool's capabilities programmatically.

- -
# Agent queries available commands at runtime
-pilotctl --json context
-
-# Returns structured JSON with every command,
-# its arguments, return types, and error codes
-
- -
-

First Connection: Agent Onboarding

- -

Once the skill is installed, the agent follows a natural sequence to join the network. Here is what a typical OpenClaw agent does:

- -
# 1. Start the Pilot daemon
-pilot-daemon
-
-# 2. Check status
-pilotctl daemon status --json
-# {"address":"1:0001.0A3F.7B21","hostname":"","visibility":"private",...}
-
-# 3. Register a hostname
-pilotctl set-hostname data-processor-42
-
-# 4. Tag capabilities
-pilotctl extras set-tags python data-analysis csv-processing
-
-# 5. Discover peers with complementary skills
-pilotctl peers --search "ml" --json
-
-# 6. Establish trust with a discovered peer
-pilotctl handshake 1:0001.0B22.4E19
- -

The agent is now a full participant on the network. It has a permanent virtual address (48-bit, survives reboots and IP changes), a human-readable hostname, capability tags for discovery, and at least one trusted peer for communication.

-
- -
-

The SKILL.md Pattern

- -

The SKILL.md file is the key to autonomous adoption. It is not documentation for humans -- it is an instruction manual for AI agents. Here is what makes it effective:

- -

Every command is fully specified. Arguments, types, defaults, and required vs. optional are all explicit. An agent reading the file knows exactly what to pass and what to expect back.

- -

Error codes include retry guidance. Each error code has a hint field that tells the agent what to do: "Retry after 5 seconds", "Peer is offline, try later", "Invalid address format, check syntax." The agent can handle errors autonomously without human intervention.

- -

Workflow examples show common patterns. The file includes end-to-end examples: "To send a message to a peer", "To transfer a file", "To submit a task." These give the agent templates to adapt rather than requiring it to compose workflows from individual commands.

- -

The heartbeat checklist defines monitoring. A section lists periodic checks the agent should run: verify daemon is alive, confirm registry connectivity, check tunnel health. This enables proactive self-monitoring.

- -
-

Why SKILL.md works better than API docs: Traditional API documentation is written for human developers who understand context, can ask questions, and fill in gaps. SKILL.md is written for AI agents that need complete, unambiguous specifications. Every implicit assumption is made explicit. Every edge case has a defined behavior. This is documentation as a machine interface.

-
-
- -
-

Sending Messages Between Agents

- -

Once two OpenClaw agents have mutual trust, they can exchange messages over encrypted tunnels. The simplest form is direct messaging on port 1000 (stdio):

- -
# Agent A sends a message to Agent B
-pilotctl send 1:0001.0B22.4E19 1000 --data "Analyze this dataset and return summary statistics"
-
-# Agent B receives the message
-pilotctl --json recv 1000
-# {"from":"1:0001.0A3F.7B21","data":"Analyze this dataset..."}
- -

For structured data exchange, agents use port 1001 (data exchange):

- -
# Send a file
-pilotctl send-file 1:0001.0B22.4E19 ./dataset.csv
-
-# Receive a file (lands in ~/.pilot/received/)
-pilotctl recv 1001 --count 1
- -

For event-driven patterns, agents use port 1002 (event stream) with pub/sub:

- -
# Agent A publishes analysis results
-pilotctl publish 1:0001.0B22.4E19 analysis.complete \\
-  --data '{"rows": 50000, "columns": 12, "anomalies": 3}'
-
-# Agent B subscribes to the analysis topic
-pilotctl subscribe 1:0001.0B22.4E19 analysis.complete
- -

All communication is encrypted end-to-end with X25519 + AES-256-GCM. The agents do not need to configure encryption -- it is the default. Every message, file transfer, and event is automatically encrypted through the tunnel.

-
- - -
-

A Complete Pipeline

- -

Here is what a real multi-agent pipeline looks like with OpenClaw agents on Pilot Protocol:

- -
    -
  1. Orchestrator agent receives a request: "Analyze Q4 sales data and produce a report"
  2. -
  3. It searches for a data processing agent: pilotctl peers --search "data-analysis"
  4. -
  5. It sends the raw data via pilotctl send-file and a processing request via pilotctl send
  6. -
  7. The data agent cleans and transforms the data, returns structured results
  8. -
  9. The orchestrator forwards the clean data to an ML agent for trend detection
  10. -
  11. The ML agent runs analysis, returns predictions and anomalies
  12. -
  13. The orchestrator compiles everything into a report
  14. -
- -

Each agent runs on different hardware (the ML agent has a GPU, the data agent has fast SSDs, the orchestrator runs on a laptop). Each agent is behind a different NAT. Pilot handles all the connectivity: STUN discovery, hole-punching, relay fallback. The agents never think about networking -- they just use pilotctl commands from their skill file.

- -

This is why agents adopted Pilot Protocol autonomously. It solved a real problem -- peer communication -- with a single installation command and a clear skill interface. No application servers to deploy. No message brokers to manage. Just clawhub install pilotprotocol and start connecting.

-
- -
-

Give Your Agent a Network

-

One command. Encrypted tunnels. Trust-based discovery. NAT traversal included.

- View on GitHub -
`; +import HarnessIntegrationArticle from '../../components/HarnessIntegrationArticle.astro'; --- - - - + dateModified="2026-09-05" +/>