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
5 changes: 3 additions & 2 deletions web/app/blog/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,9 @@ import { defaultOgImage } from '../../lib/og-meta';
import { absoluteUrl, SITE_NAME, SITE_URL } from '../../lib/site';

export const metadata: Metadata = {
title: 'Blog',
description: 'News, tutorials, and insights from the Agent Relay team.',
title: { absolute: 'Agent Relay Blog — Multi-Agent Systems & AI Coordination' },
description:
'News, tutorials, and insights from the Agent Relay team — essays, playbooks, and product thinking on multi-agent systems, orchestration, and AI coordination.',
alternates: {
canonical: absoluteUrl('/blog'),
},
Expand Down
8 changes: 5 additions & 3 deletions web/app/docs/7.1.1/[slug]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -71,22 +71,24 @@ export async function generateMetadata({ params }: PageProps): Promise<Metadata>
return { title: 'Not Found' };
}

const seoTitle = doc.frontmatter.metaTitle ?? `${doc.frontmatter.title} - Version 7.1.1`;

return {
title: `${doc.frontmatter.title} - Version 7.1.1`,
title: seoTitle,
description: doc.frontmatter.description,
alternates: {
canonical: absoluteUrl(`/docs/7.1.1/${slug}`),
},
openGraph: {
title: `${doc.frontmatter.title} - Version 7.1.1`,
title: seoTitle,
description: doc.frontmatter.description,
url: absoluteUrl(`/docs/7.1.1/${slug}`),
type: 'article',
images: [defaultOgImage()],
},
twitter: {
card: 'summary_large_image',
title: `${doc.frontmatter.title} - Version 7.1.1`,
title: seoTitle,
description: doc.frontmatter.description,
images: [defaultOgImage().url],
},
Expand Down
10 changes: 6 additions & 4 deletions web/app/docs/[slug]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ export async function generateMetadata({ params }: PageProps): Promise<Metadata>
const legacyDoc = getDoc(slug, 'v7.1.1');
const canonical = absoluteUrl(`/docs/7.1.1/${slug}`);
return {
title: legacyDoc?.frontmatter.title ?? 'Not Found',
title: legacyDoc?.frontmatter.metaTitle ?? legacyDoc?.frontmatter.title ?? 'Not Found',
description: legacyDoc?.frontmatter.description,
alternates: { canonical },
};
Expand All @@ -44,23 +44,25 @@ export async function generateMetadata({ params }: PageProps): Promise<Metadata>
return { title: 'Not Found' };
}

const seoTitle = doc.frontmatter.metaTitle ?? doc.frontmatter.title;

return {
title: doc.frontmatter.title,
title: seoTitle,
description: doc.frontmatter.description,
alternates: {
canonical: absoluteUrl(`/docs/${slug}`),
types: { 'text/markdown': getDocMarkdownUrl(slug) },
},
openGraph: {
title: doc.frontmatter.title,
title: seoTitle,
description: doc.frontmatter.description,
url: absoluteUrl(`/docs/${slug}`),
type: 'article',
images: [ogImage(`/docs/${slug}/og.png`, `${doc.frontmatter.title} — Agent Relay docs`)],
},
twitter: {
card: 'summary_large_image',
title: doc.frontmatter.title,
title: seoTitle,
description: doc.frontmatter.description,
images: [absoluteUrl(`/docs/${slug}/og.png`)],
},
Expand Down
3 changes: 2 additions & 1 deletion web/content/docs/7.1.1/authentication.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: 'Authentication'
description: 'Use Relayauth for identity, authorization, and policy control around agent systems.'
metaTitle: 'Authentication & Policy with Relayauth'
description: 'Use Relayauth for identity, authorization, and policy control around agent systems, securing how agents join workspaces and access relay resources safely.'
---

Authentication and authorization live next to orchestration, not inside it. When agents need identities, scoped access, or policy enforcement, the relevant platform piece is Relayauth.
Expand Down
3 changes: 2 additions & 1 deletion web/content/docs/7.1.1/cloud.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: 'Cloud'
description: 'Run the same Relay patterns locally or in sandboxed cloud environments.'
metaTitle: 'Run Agent Relay Locally or in the Cloud'
description: 'Run the same Agent Relay messaging and orchestration patterns locally or in sandboxed cloud environments, with identical workspace and session behavior.'
---

The SDK is designed so local and cloud execution share the same mental model. Local mode keeps agents on your machine. Cloud mode moves execution into sandboxed environments while preserving the coordination patterns above it.
Expand Down
3 changes: 2 additions & 1 deletion web/content/docs/7.1.1/communicate-ai-sdk.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: 'AI SDK'
description: 'Connect Vercel AI SDK apps to Relaycast with onRelay().'
metaTitle: 'Connect Vercel AI SDK Apps to Relaycast'
description: 'Connect a Vercel AI SDK app to Relaycast with a single onRelay() call, giving your streamText agents DMs, channel messages, and a live multi-agent roster.'
---

Connect an [AI SDK](https://ai-sdk.dev/docs/introduction) app to Relaycast with a single `onRelay()` call.
Expand Down
3 changes: 2 additions & 1 deletion web/content/docs/7.1.1/communicate-claude-sdk.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: 'Claude Agent SDK'
description: 'Connect Claude Agent SDK agents to the relay.'
metaTitle: 'Connect Claude Agent SDK Agents to Relay'
description: 'Connect Claude Agent SDK agents to Relaycast in Python or TypeScript, injecting DMs and channel messages mid-execution via PostToolUse and Stop hooks.'
---

Connect a [Claude Agent SDK](https://docs.anthropic.com/en/docs/agents) agent to Relaycast. Supports both Python and TypeScript.
Expand Down
3 changes: 2 additions & 1 deletion web/content/docs/7.1.1/communicate-google-adk.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: 'Google ADK'
description: 'Connect Google ADK agents to the relay.'
metaTitle: 'Connect Google ADK Agents to Relaycast'
description: 'Connect a Google Agent Development Kit (ADK) agent to Relaycast with a single on_relay() call, injecting relay messages via the before_model_callback hook.'
---

Connect a [Google Agent Development Kit](https://google.github.io/adk-docs/) agent to Relaycast with a single `on_relay()` call.
Expand Down
3 changes: 2 additions & 1 deletion web/content/docs/7.1.1/communicate-openai-agents.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: 'OpenAI Agents'
description: 'Connect OpenAI Agents to the relay.'
metaTitle: 'Connect OpenAI Agents SDK to Relaycast'
description: 'Connect an OpenAI Agents SDK agent to Relaycast with a single on_relay() call in Python, receiving relay DMs and channel messages at tool-call boundaries.'
---

Connect an [OpenAI Agents SDK](https://github.com/openai/openai-agents-python) agent to Relaycast with a single `on_relay()` call.
Expand Down
3 changes: 2 additions & 1 deletion web/content/docs/7.1.1/communicate-pi.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: 'Pi'
description: 'Connect Pi agents to the relay.'
metaTitle: 'Connect a Pi Coding Agent to Relaycast'
description: 'Connect a Pi coding agent to Relaycast so messages are pushed into the session in real time via the session.steer() and session.followUp() TypeScript APIs.'
---

Connect a [Pi](https://github.com/anthropics/pi) coding agent to Relaycast. Messages are pushed into the session in real time.
Expand Down
3 changes: 2 additions & 1 deletion web/content/docs/7.1.1/communicate.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: 'Communicate Mode'
description: 'Put any framework agent on the relay with on_relay().'
metaTitle: 'Communicate Mode: Put Any Agent on Relay'
description: 'Put any framework agent on Relaycast with on_relay(): your agent gets DMs, channel messages, and a live roster of other agents without changing how it runs.'
---

Communicate mode connects an existing agent framework to Relaycast. Your agent gets DMs, channel messages, and a live roster of other agents — without changing how it runs.
Expand Down
3 changes: 2 additions & 1 deletion web/content/docs/7.1.1/file-sharing.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: 'File sharing'
description: 'Use Relayfile when agents need shared state, artifacts, and coordinated file access.'
metaTitle: 'File Sharing for Agents with Relayfile'
description: 'Use Relayfile when agents need shared state, artifacts, and coordinated file access, giving your multi-agent system a common workspace for its outputs.'
---

Messaging handles coordination. Relayfile handles shared state. When several agents need to read, write, watch, and
Expand Down
3 changes: 2 additions & 1 deletion web/content/docs/7.1.1/harness-runtime-config.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: Harness runtime config
description: Reference for the concrete HarnessConfig objects that SDK adapters send to the broker.
metaTitle: 'Harness Runtime Config & HarnessConfig Shape'
description: 'Reference for the concrete HarnessConfig objects that SDK adapters send to the broker, covering runtime categories and serializable spawn configuration.'
---

Use this page when you need the exact `HarnessConfig` shape. For a shorter
Expand Down
3 changes: 2 additions & 1 deletion web/content/docs/7.1.1/observer.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: 'Observer'
description: 'Follow relay traffic in real time from a lightweight read-only workspace view.'
metaTitle: 'Observer: Watch Relay Traffic in Real Time'
description: 'Follow Agent Relay traffic in real time from a lightweight, read-only workspace view to monitor messages and agent activity without joining the conversation.'
---

Observer is the fastest way to watch a Relaycast workspace live. It is a read-only view built for following agent conversations, handoffs, and progress without joining the workflow as an active participant.
Expand Down
3 changes: 2 additions & 1 deletion web/content/docs/7.1.1/permissions.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
---
title: 'Permissions'
metaTitle: 'Permissions & Policy Control via relay.yaml'
nav_title: 'Permissions'
description: 'Control what workflow agents can read, write, reach over the network, and execute from relay.yaml.'
description: 'Control what workflow agents can read, write, reach over the network, and execute by defining policy in relay.yaml for safe and tightly scoped multi-agent runs.'
---

Permissions in `relay.yaml` control what each workflow agent can see and do.
Expand Down
3 changes: 2 additions & 1 deletion web/content/docs/7.1.1/python-sdk.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: Python SDK Reference
description: Complete reference for the agent-relay-sdk Python package
metaTitle: 'Python SDK Reference for Agent Relay'
description: 'Complete reference for the agent-relay-sdk Python package, covering installation, spawning agents, messaging, and coordinating your multi-agent workflows.'
---

```bash
Expand Down
3 changes: 2 additions & 1 deletion web/content/docs/7.1.1/reference-openclaw.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: "OpenClaw Bridge"
description: "Relaycast bridge for OpenClaw"
metaTitle: 'OpenClaw Bridge for Relaycast Orchestration'
description: 'The @agent-relay/openclaw Relaycast bridge connects local OpenClaw instances for DMs, channels, threads, worker spawning, and MCP-based orchestration.'
---

# @agent-relay/openclaw
Expand Down
3 changes: 2 additions & 1 deletion web/content/docs/7.1.1/relay-dashboard.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: 'Relay Dashboard'
description: 'Operate a relay workspace from a visual UI for messaging, spawning, and live status.'
metaTitle: 'Relay Dashboard: Visual Workspace Control'
description: 'Operate an Agent Relay workspace from a visual dashboard UI for messaging, spawning agents, and monitoring live status across your multi-agent system.'
---

Relay Dashboard is the operator-facing UI for Agent Relay. It gives you a live view of workspace activity so you can watch messages, inspect agent state, and intervene without dropping back to raw CLI commands for every action.
Expand Down
3 changes: 2 additions & 1 deletion web/content/docs/7.1.1/scheduling.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: 'Scheduling'
description: 'Use RelayCron for recurring jobs, webhook delivery, and time-based agent automation.'
metaTitle: 'Scheduling & RelayCron Jobs for AI Agents'
description: 'Use RelayCron to schedule recurring jobs, deliver webhooks, and drive time-based agent automation across your Agent Relay workspace and active sessions.'
---

Scheduling is the time-based layer of the platform. Use it when an agent flow should run on a cron, deliver webhooks, or wake up on a schedule instead of only reacting to live messages.
Expand Down
3 changes: 2 additions & 1 deletion web/content/docs/7.1.1/spawning-an-agent.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: 'Spawning an agent'
description: 'Spawn an agent on the relay deterministically or dynamically.'
metaTitle: 'Spawning Agents on the Relay, Step by Step'
description: 'Spawn an agent on the relay deterministically or dynamically, configuring its harness, identity, and runtime so it can join your multi-agent workspace.'
---

Spawning starts an agent "on the relay" and returns an `Agent` handle you can wait on, message, observe, and release later.
Expand Down
3 changes: 2 additions & 1 deletion web/content/docs/7.1.1/swift-sdk.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: 'Swift SDK'
description: 'Native Swift SDK for Relay messaging and channel-based coordination.'
metaTitle: 'Swift SDK for Agent Relay on iOS & macOS'
description: 'Native Swift SDK for Agent Relay messaging and channel-based coordination, letting iOS and macOS apps join multi-agent workspaces and exchange messages.'
---

The repository includes a native Swift SDK in `packages/sdk-swift`. It is currently documented from the package README rather than a larger docs reference page.
Expand Down
3 changes: 2 additions & 1 deletion web/content/docs/7.1.1/typescript-examples.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: 'TypeScript Examples'
description: 'Starting points for building with Agent Relay from TypeScript.'
metaTitle: 'Agent Relay TypeScript Examples & Starters'
description: 'Practical starting points and example projects for building multi-agent systems with Agent Relay from TypeScript, spanning messaging and orchestration.'
---

The repository ships several TypeScript examples ranging from small demos to more complete app integrations.
Expand Down
3 changes: 2 additions & 1 deletion web/content/docs/7.1.1/workforce.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: 'Workforce'
description: 'Treat a set of agents as a coordinated team with shared communication and execution patterns.'
metaTitle: 'Workforce: Coordinate Agent Teams on Relay'
description: 'Treat a set of agents as a coordinated team with shared communication, roles, and execution patterns for collaborative multi-agent work running on the relay.'
---

A workforce is the practical unit above individual agents: several workers, one coordination model, and enough shared context to make progress without constant manual steering.
Expand Down
3 changes: 2 additions & 1 deletion web/content/docs/agent-relay-mcp.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: 'Agent Relay MCP'
description: 'Expose Relay messaging and registered actions to agents as MCP tools.'
metaTitle: 'Agent Relay MCP: Expose Messaging as Tools'
description: 'Expose Agent Relay messaging and registered actions to any agent as MCP tools, turning channels, DMs, and Zod-backed actions into callable MCP endpoints.'
---

`agent-relay mcp` is how agents use Relay when they cannot or should not embed the SDK.
Expand Down
3 changes: 2 additions & 1 deletion web/content/docs/cli-overview.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: 'CLI'
description: 'Use the agent-relay CLI for workspaces, agent identities, channels, messages, MCP, and optional local broker sessions.'
metaTitle: 'agent-relay CLI: Workspaces, Channels & MCP'
description: 'Use the agent-relay CLI to manage workspaces, agent identities, channels, messages, MCP servers, and optional local broker sessions directly from your terminal.'
---

The version 8 CLI has two layers:
Expand Down
3 changes: 2 additions & 1 deletion web/content/docs/dms.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: 'DMs and group DMs'
description: 'Use direct messages for private one-to-one and small-group coordination between agents.'
metaTitle: 'Direct Messages & Group DMs for AI Agents'
description: 'Use Agent Relay direct messages for private one-to-one and small-group coordination, ideal for targeted assignments, quiet status checks, and private sidebars.'
---

DMs are private conversations between agents. They are best for targeted assignments, quiet status checks, and sidebars that should not become a shared channel transcript.
Expand Down
3 changes: 2 additions & 1 deletion web/content/docs/quickstart.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: 'Quickstart'
description: 'Create a workspace, register sessions, send messages, and expose a Zod-backed action.'
metaTitle: 'Quickstart: Build a Multi-Agent Workspace'
description: 'Get started with Agent Relay: create a workspace, register sessions, send messages between agents, and expose a Zod-backed action in just a few short minutes.'
---

This quickstart shows the target Agent Relay shape: a workspace first, then messaging, delivery, actions, and optional managed sessions.
Expand Down
3 changes: 2 additions & 1 deletion web/content/docs/reference-cli.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: 'CLI reference'
description: 'Command matrix for the version 8 agent-relay CLI.'
metaTitle: 'agent-relay CLI Reference & Command Matrix'
description: 'Complete command matrix for the version 8 agent-relay CLI, covering workspaces, agent identities, channels, messaging, MCP servers, and local broker sessions.'
---

This page lists the version 8 CLI surface by command group. Run any command with `--help` for Commander-generated usage and current flags.
Expand Down
3 changes: 2 additions & 1 deletion web/content/docs/sending-messages.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: 'Sending messages'
description: 'Send channel posts, DMs, group DMs, replies, attachments, mentions, and idempotent retries with the version 8 SDK and CLI.'
metaTitle: 'Sending Messages: Channels, DMs & Replies'
description: 'Send channel posts, direct messages, group DMs, threaded replies, attachments, mentions, and idempotent retries with the version 8 Agent Relay SDK and CLI.'
---

Messages are the main coordination primitive in version 8. A message is written to a workspace, attributed to an agent client, and then delivered through realtime events, inbox state, MCP tools, or a managed harness boundary.
Expand Down
3 changes: 3 additions & 0 deletions web/lib/docs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ import type { DocsVersionId } from './docs-versions';
export interface DocFrontmatter {
title: string;
description: string;
/** Optional SEO title used only in page metadata, not the visible H1 or nav. */
metaTitle?: string;
}

export interface SearchEntry {
Expand Down Expand Up @@ -177,6 +179,7 @@ export function getDoc(
frontmatter: {
title: (data.title as string) || slug,
description: (data.description as string) || '',
metaTitle: (data.metaTitle as string) || undefined,
},
content: processed,
toc,
Expand Down
Loading