Fleet-to-fleet chat with Ed25519 signing, channel management, quarantine for unknown senders, and Server-Sent Events (SSE) streaming.
This seed gives your fleet a public inbox (POST /fleet-chat/inbox) that
other fleets can send messages to. Incoming messages from trusted contacts go
straight into a channel; messages from unknown senders are quarantined until you
approve or reject them. Every message is signed β with a real Ed25519 key when
available, or a SHA-256 HMAC hash for development.
| Concept | Description |
|---|---|
| Channel | A conversation between your fleet and one remote fleet |
| Trusted Endpoint | A remote fleet identity (name + endpoint + publicKey) you trust |
| Quarantine | Messages from unknown senders held for review |
| Fleet Identity | { name, endpoint, publicKey } β your fleet's calling card |
- Paste this repo (or just
src/store.ts+src/routes.ts) into any AI agent with access to a Node.js runtime. - Tell the agent: "Plant this seed. Set up fleet-chat as an HTTP service."
- The agent reads the protocol, adapts
store.tsandroutes.tsto your stack, and starts the service.
# Copy src/ into your project
cp -r src/* your-project/src/fleet-chat/
# Wire routes in your server.ts:
# Public (no auth): app.route("/fleet-chat", fleetChatPublicRoutes)
# Authenticated: app.route("/fleet-chat", fleetChatRoutes)
# Set your fleet identity:
curl -X POST http://localhost:3000/fleet-chat/identity \
-H "Content-Type: application/json" \
-d '{"name":"my-fleet","endpoint":"https://my-fleet.example.com","publicKey":"pk-placeholder"}'| Method | Path | Description |
|---|---|---|
POST |
/fleet-chat/inbox |
Receive a message from another fleet |
GET |
/fleet-chat/inbox/stream |
SSE stream of incoming messages |
| Method | Path | Description |
|---|---|---|
POST/GET |
/fleet-chat/identity |
Set/get local fleet identity |
POST/GET |
/fleet-chat/channels |
Create/list channels |
GET/PATCH |
/fleet-chat/channels/:id |
Get/update channel |
POST/GET |
/fleet-chat/channels/:id/messages |
Send/get messages (SSE supported) |
GET/POST/DELETE |
/fleet-chat/trusted |
Manage trusted endpoints |
GET |
/fleet-chat/quarantine |
List quarantined messages |
POST |
/fleet-chat/quarantine/:id/approve |
Approve (adds sender to trusted) |
POST |
/fleet-chat/quarantine/:id/reject |
Reject and discard |
{
"from": { "name": "remote-fleet", "endpoint": "https://remote.example.com", "publicKey": "..." },
"to": { "name": "my-fleet", "endpoint": "https://my-fleet.example.com", "publicKey": "..." },
"type": "text",
"content": "Hello from my fleet!",
"timestamp": "2026-02-15T00:00:00.000Z",
"signature": "<sha256-or-ed25519-signature>"
}# 1. Health: identity is set
curl http://localhost:3000/fleet-chat/identity
# 2. Create a channel
curl -X POST http://localhost:3000/fleet-chat/channels \
-H "Content-Type: application/json" \
-d '{"remoteFleet":{"name":"test","endpoint":"https://test.example.com","publicKey":"pk-test"}}'
# 3. Send a message on the channel
curl -X POST http://localhost:3000/fleet-chat/channels/<CHANNEL_ID>/messages \
-H "Content-Type: application/json" \
-d '{"content":"Hello!"}'
# 4. Receive an inbound message via the public inbox
curl -X POST http://localhost:3000/fleet-chat/inbox \
-H "Content-Type: application/json" \
-d '{"from":{"name":"friend","endpoint":"https://friend.example.com","publicKey":"pk-friend"},"to":{"name":"my-fleet","endpoint":"https://my-fleet.example.com","publicKey":"pk-placeholder"},"type":"text","content":"hey!","timestamp":"2026-02-15T00:00:00Z","signature":"placeholder"}'
# β 202 (quarantined) or 200 (if sender is trusted)
# 5. Run tests
npx vitest runseed-chat/
βββ seed.yaml # Seed manifest (v0.3.1 spec)
βββ README.md # This file
βββ src/
β βββ store.ts # FleetChatStore β channels, messages, crypto, quarantine
β βββ routes.ts # Hono routes β public inbox + authenticated management
βββ tests/
βββ store.test.ts # Store unit tests (identity, channels, messages, quarantine, crypto)
βββ routes.test.ts # Route integration tests
Reference implementation running in production on the HD Research fleet
(vers-agent-services/src/fleet-chat/). Tested with real fleet-to-fleet
messaging between Noah's fleet and external collaborators.
CC-BY-4.0