AI SDK

Send Vercel AI SDK telemetry to Astro and optionally serve the agent over Astro messaging
View as Markdown

@astropods/adapter-ai-sdk exports two functions you can use independently:

  • astroTelemetry() returns AI SDK experimental_telemetry settings wired to Astro’s OTLP exporter.
  • serve() connects a ToolLoopAgent (Experimental_Agent) to Astro’s messaging service to make your agent compatible with the Astropods playground.

Targets ai >= 6.0.0.

Install

$bun add @astropods/adapter-ai-sdk

Send telemetry to Astro

Add astroTelemetry() into the agent’s experimental_telemetry:

1import { Experimental_Agent as Agent } from "ai";
2import { openai } from "@ai-sdk/openai";
3import { astroTelemetry } from "@astropods/adapter-ai-sdk";
4
5const agent = new Agent({
6 model: openai("gpt-4o"),
7 instructions: "You are a helpful assistant.",
8 experimental_telemetry: astroTelemetry(),
9});

Use this on its own when you serve the agent from your own framework and want AI traces reported in the dashboard.

Serve over Astro messaging

To run the agent on Astro messaging, pass it to serve():

1import { Experimental_Agent as Agent } from "ai";
2import { openai } from "@ai-sdk/openai";
3import { serve, astroTelemetry } from "@astropods/adapter-ai-sdk";
4
5const instructions = "You are a helpful assistant.";
6
7const agent = new Agent({
8 model: openai("gpt-4o"),
9 instructions,
10 experimental_telemetry: astroTelemetry(),
11});
12
13serve(agent, { name: "My Agent", instructions });

Passing instructions into the serve() function allows your agent’s system prompt to be visible in the Astropods playground. This is optional. To hide your prompts exclude instructions from the serve call.

Verify

Deploy the agent, send it a message, then open the agent’s detail page in the dashboard. Traces appear within ~30 seconds.

If nothing shows up:

  • Confirm experimental_telemetry: astroTelemetry() is on the agent.
  • Confirm OTEL_EXPORTER_OTLP_ENDPOINT is set in the deployed container.
  • Check the container logs for OpenTelemetry export errors.