From 1cd4ddc4644bd8806ba806cc80085cac50713e8a Mon Sep 17 00:00:00 2001 From: Alex Godoroja Date: Tue, 30 Jun 2026 16:35:58 -0700 Subject: [PATCH 1/2] app-store: add Redis app card Adds the Redis (io.pilot.redis) card to the app-store page, after PostgreSQL, with the Redis logo mark, and the matching plain-text twin entry. --- public/brand/apps/redis.png | Bin 0 -> 8160 bytes src/pages/app-store.astro | 25 +++++++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 public/brand/apps/redis.png diff --git a/public/brand/apps/redis.png b/public/brand/apps/redis.png new file mode 100644 index 0000000000000000000000000000000000000000..05ccce3ac20506668c3f96f68eeffa21fc05f905 GIT binary patch literal 8160 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 S1?uFUMq5K)9rOIv29.6.1 · Apache-2.0 + +
+
+
io.pilot.redis
+ +
+
Redis
+
+ Run Redis from an agent — start a local in-memory data store and talk to + it with redis-cli. SET/GET, PING, + INFO, and any Redis command (lists, hashes, sets, sorted sets, + streams, pub/sub) via a verbatim-argv passthrough; no cluster to provision. +
+ +
pilotctl appstore install io.pilot.redis
+
+
11
Methods
+
26MB
Download
+
database
Category
+
+
+ View source → + v8.6.2 · AGPL-3.0 +
+
From 5ef0822e8509316d0e18de10b54073bd64d16e3c Mon Sep 17 00:00:00 2001 From: pilot-plain-bot <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 2 Jul 2026 13:38:34 +0000 Subject: [PATCH 2/2] chore(plain): auto-regenerate stale machine-UI twins --- src/pages/plain/app-store.astro | 68 +++++++++++++++------------------ 1 file changed, 30 insertions(+), 38 deletions(-) diff --git a/src/pages/plain/app-store.astro b/src/pages/plain/app-store.astro index 51b4cf5..e175b51 100644 --- a/src/pages/plain/app-store.astro +++ b/src/pages/plain/app-store.astro @@ -1,75 +1,67 @@ --- // Auto-generated by scripts/regen-plain.mjs. Edit the marketing source and re-run. // plain-source: src/pages/app-store.astro -// plain-source-sha256: 860d908691670196376039bf8bff29dd184d3dfaf86e6053a5c584a90337c3bc +// plain-source-sha256: 0a372d024a818c294cadd2fd0df3e3724e9df290ecfc57617355137631124686 import PlainLayout from '../../layouts/PlainLayout.astro'; --- -

Agent App Store

+

Agent Apps

-

The App Store is a catalogue of applications for AI agents on the Pilot Protocol network. Apps are installed with a single command and managed from one namespace. Developers can publish their own apps to the store.

+

The App Store is a catalogue of tools for AI agents on the Pilot Protocol network. Apps are installed with a single command and managed from one namespace.

How it works

    -
  • Agents browse the App Store through the native protocol to search and filter apps by capability.
  • -
  • Apps are installed with a single command. The daemon fetches the app, verifies its signature, requests permissions, and spawns it.
  • -
  • Apps run in the agent's context with native protocol access.
  • +
  • Discover: Agents browse the App Store through their native protocol, searching by capability.
  • +
  • Install: A single command, `pilotctl appstore install <id>`, fetches, verifies signatures, requests permissions, and spawns the app.
  • +
  • Run: Apps run in the agent's context with native protocol access.
-
pilotctl appstore install <id>

Featured apps

-

The following apps are available in the catalogue.

-

AEGIS (io.pilot.aegis): A runtime firewall for AI agents that intercepts prompt injection, jailbreaks, homoglyph attacks, and infrastructure-impersonation. It is an 880 KB offline Rust binary with 90% recall and 95% precision on a held-out corpus.

+

The following apps are available in the catalogue. They can be installed with `pilotctl appstore install`.

+

AEGIS (io.pilot.aegis): A runtime firewall for AI agents that intercepts prompt injection, jailbreaks, homoglyph attacks, and infrastructure-impersonation. It is an 880 KB Rust binary that runs fully offline.

pilotctl appstore install io.pilot.aegis
-

4 methods · 2.3 MB download · category: security · v0.1.4 · Apache-2.0.

-

Cosift (io.pilot.cosift): Provides grounded web search, retrieval, and research for agents. It returns keyword and semantic search results, documents, and LLM-grounded answers as structured JSON. Methods are discoverable via `cosift.help`.

+

Cosift (io.pilot.cosift): Provides grounded web search, retrieval, and research for agents. It performs keyword and semantic search, document retrieval, and returns LLM-grounded answers as structured JSON. Methods are discoverable via `cosift.help`.

pilotctl appstore install io.pilot.cosift
-

8 methods · 4.6 MB download · category: search · v0.1.2 · MIT.

-

Sixtyfour (io.pilot.sixtyfour): Provides people- and company-intelligence for agents, including contact discovery, reverse lookups, and enrichment. Data is source-backed and returned as structured JSON. Methods are discoverable via `sixtyfour.help`.

+

Sixtyfour (io.pilot.sixtyfour): People and company intelligence for agents. Functions include contact discovery, reverse lookups, and person/company enrichment. Data is returned as structured JSON. Methods are discoverable via `sixtyfour.help`.

pilotctl appstore install io.pilot.sixtyfour
-

12 methods · 4.9 MB download · category: intel · v0.1.0 · Proprietary.

-

Smol Machines (io.pilot.smolmachines): Provides hardware-isolated Linux microVMs on demand with sub-second boot time. Used to run untrusted code, GPU tasks, or headless browser automation in a sandbox. Driven through `smolmachines.exec`.

+

Smol Machines (io.pilot.smolmachines): Provides fast, hardware-isolated Linux microVMs on demand with sub-second boot times. Used to safely run untrusted code, GPU tasks, or headless browser automation. Driven through `smolmachines.exec`.

pilotctl appstore install io.pilot.smolmachines
-

VM boot under 1s · 5 MB download · category: compute · v1.2.0 · Apache-2.0.

Wallet (io.pilot.wallet): Enables on-overlay USDC payments using x402 and EIP-3009 settlement across Base, Ethereum, and Polygon. Spend caps are declared in the manifest and enforced on every signing operation.

pilotctl appstore install io.pilot.wallet
-

3 USDC chains · 8.7 MB download · category: payments · v0.3.3 · AGPL-3.0.

-

Ideon (io.telepat.ideon-free): An adapter for article generation. `ideon-free.generate(idea)` returns a job ID, and `ideon-free.poll(jobId)` returns the finished markdown article.

+

Ideon (io.telepat.ideon-free): An article generation tool for agents. `ideon-free.generate(idea)` returns a job ID, and `ideon-free.poll(jobId)` returns the finished markdown article.

pilotctl appstore install io.telepat.ideon-free
-

2 methods · 5 KB download · category: writing · v0.3.1.

-

Slipstream (io.pilot.slipstream): Provides Polymarket intelligence for agents, including leaderboards, live signals, a market scanner, and opportunity scores over an Ed25519-signed API. Methods are discoverable via `slipstream.help`.

+

Slipstream (io.pilot.slipstream): Provides Polymarket intelligence for agents. Features include leaderboards, live signals, a market scanner, and opportunity scores, delivered over an Ed25519-signed API. Methods are discoverable via `slipstream.help`.

pilotctl appstore install io.pilot.slipstream
-

9 methods · 4.5 MB download · category: finance · v1.0.0 · MIT.

-

Miren (io.pilot.miren): Operates the Miren PaaS from an agent. Functions include deploying apps, inspecting status and logs, and diagnosing connectivity. Includes a passthrough `miren.exec` for any miren subcommand.

+

Miren (io.pilot.miren): Allows an agent to operate the Miren PaaS. Functions include deploying and rolling back apps, inspecting status and logs, and a passthrough `miren.exec` for any miren subcommand.

pilotctl appstore install io.pilot.miren
-

15 methods · 4.9 MB download · category: devops · v0.1.0 · Proprietary.

-

Plainweb (io.pilot.plainweb): Retrieves any web page as plain text. The `plainweb.fetch(url)` call fetches the page and returns it as GFM Markdown.

+

Plainweb (io.pilot.plainweb): Retrieves any web page as plain text Markdown. The `plainweb.fetch(url)` call fetches and returns the page content.

pilotctl appstore install io.pilot.plainweb
-

1 method · 4.8 MB download · category: web · v1.0.0 · Proprietary.

-

Otto (io.pilot.otto): Drives Chrome tabs from an agent to extract page content, run site-specific commands, and screenshot pages. Operates via a relay to a browser extension. Includes a passthrough `otto.exec` for any otto subcommand.

+

Otto (io.pilot.otto): Drives Chrome tabs from an agent. It can extract page content, run site-specific commands, and screenshot pages. Includes a passthrough `otto.exec` for any otto subcommand.

pilotctl appstore install io.pilot.otto
-

15 methods · 27 MB download · category: browser · v0.20.0 · MIT.

-

PostgreSQL 17.5 (io.pilot.postgres): Runs and queries PostgreSQL from an agent. It can provision a local server (initdb, start, createdb) and run SQL with psql, or connect to any libpq target. Returns table or CSV results, supports schema introspection, and exposes the full client/server toolchain via a passthrough.

+

PostgreSQL 17.5 (io.pilot.postgres): Allows an agent to run and query PostgreSQL. It can provision a local server and run SQL with `psql`, or connect to any libpq target.

pilotctl appstore install io.pilot.postgres
-

13 methods · 37 MB download · category: database · v17.5.0 · PostgreSQL.

- -

Docker (io.pilot.docker): Runs Docker from an agent on Linux. Delivers the full Docker Engine (dockerd, containerd, runc) and the docker CLI. Start a local engine, then pull images and run real containers; run/ps/images/pull/logs plus any docker command via a verbatim-argv passthrough.

+

Docker (io.pilot.docker): Allows an agent to run Docker on Linux. It includes the full Docker Engine and CLI to start a local engine, pull images, and run containers.

pilotctl appstore install io.pilot.docker
-

12 methods · 87 MB download · category: devops · v29.6.1 · Apache-2.0.

+

Redis (io.pilot.redis): Allows an agent to run Redis. It can start a local in-memory data store and interact with it using `redis-cli`.

+
pilotctl appstore install io.pilot.redis
-

Publishing an app

-

Existing HTTP APIs can be wrapped in a signed, agent-facing adapter and published to the catalogue. There are two ways to publish.

+

For builders

+

Existing HTTP APIs can be wrapped in a signed adapter and published to the catalogue.

+
    +
  • Publish in a browser: A publish wizard is used to describe the app's ID, methods, backend URL, and auth headers. The adapter is then generated, signed, and verified before a team review.
  • +
  • Publish by pull request: The `pilot-app` toolkit turns a `pilot.app.yaml` file into a signed adapter bundle. A pull request is opened to `pilot-protocol/app-template`, where CI verifies the bundle before a maintainer review.
  • +
+

All apps have the following properties:

    -
  • Publish in a browser: Use the publish wizard to describe the app's ID, methods, backend URL, and auth headers. The adapter is then generated, signed, verified, and submitted for review.
  • -
  • Publish by pull request: Use the `pilot-app` toolkit with a `pilot.app.yaml` file to create a signed adapter bundle. Submit the bundle via a pull request to the `pilot-protocol/app-template` repository for verification and release.
  • +
  • Verified: Every adapter is sha256-pinned and signed by its publisher. The daemon re-verifies the signature and binary hash each time it spawns the app.
  • +
  • Scoped: Apps declare required permissions, such as network access or file I/O. The agent grants or denies these permissions at install time.
-

Every adapter is sha256-pinned and signed by its publisher. The daemon re-verifies the signature and binary hash each time it spawns the app. Apps declare required permissions, such as network access or file I/O, which the agent grants or denies at install time.

Related