Enterprise AI control plane

One control plane for production agents.

Relay connects every model, Loop runs every agent, and Lens explains every decision — without changing SDKs.

One endpointPolicy routingManaged tools

Trusted by startups, enterprises, and AI innovators worldwide.

Relay · Loop · Lens

Three products. One control plane.

Relay governs model access, Loop runs stateful agents, and Lens turns every decision into an inspectable record.

~/pipellm/control-plane.mjsrequest active

01 / Loop · Agent Runtime

Run the agent.

Session state, execution, and agent context stay here.

Sessionsess_checkout_42Tool leasewebsearch attachedStatedurable
Open Loop

Active product

Relay

Model Gateway
Open Relay
POST

https://api.pipellm.ai/openai

RelayNode.js
const response = await fetch(
  "https://api.pipellm.ai/openai",
  { method: "POST", body: request }
);
OpenAIAnthropicGemini

03 / Lens · Observability & Audit

Record the decision.

Route, approvals, and tool activity become traceable evidence.

Tracetr_01H9K6Runs4 completedApprovalpolicy passed
Open Lens

Managed tools

Governed by Relay, attached inside Loop, and recorded by Lens.

websearch.attach
Current result

approved model selected

Translates protocols and routes requests to approved models.

SDK-compatible request

Keep the client. Change the layer underneath.

Keep the familiar OpenAI client while Relay reaches the approved model behind it.

1
|

Relay decision

ProtocolOpenAI SDKPolicyapprovedRouteprovider selected
~/loop/agent-session.mjssession live

Loop SDK · Agent Runtime

Run the agent. Keep the context.

One Loop call keeps execution, session state, and managed tools attached for the whole run.

import { loop } from "@pipellm/loop";

const run = await loop.run({
  agent: "support-triage",
  session: "sess_checkout_42",
  tools: ["websearch"]
});
policy applied before executiontrace opens with the run
Sessionsess_checkout_42state retained
Tool leasewebsearch.attachpolicy allowed
Operator viewapproval trailtrace ready
Lens · Observability & Audit

Decisions you can replay.

See what happened, why it was allowed, and what evidence stays with the outcome.

~/lens/tr_01H9K6.json
4 eventsproduction
Decision replay00:03.612
Selected decision03 / 04

A policy gate asks for review.

The requested refund exceeded the autonomous limit, so the action paused for an operator.

Trigger
action: refund.create ($286.00)
Policy
refunds over $200 require approval
Outcome
approved by ops
Evidence bundle

Everything needed to explain this decision stays connected to the trace.

  • approver: m.hsu
  • policy: refund.threshold
  • decision: approved
Modular pricing_

Pricing that follows the layer you use.

Relay follows provider pricing. Loop and Lens combine a platform base with usage. Build Agent is a scoped professional service.

View all pricing

Give agents live context.

Call WebSearch from Loop or your app. Relay governs access, and Lens keeps every tool invocation connected to the run.

Explore WebSearch
const response = await fetch(
  "https://api.pipellm.ai/v1/websearch/search",
  { method: "POST",
    headers: { Authorization: "Bearer " + process.env.PIPELLM_API_KEY },
    body: JSON.stringify({ query: "agent updates" })
  }
);

const { results } = await response.json();

Frequently Asked Questions

Short answers for teams bringing agents into production.

Answers evolve with the platform.

Ready to ship production agents?

Relay, Loop, and Lens in one production control plane.

Open Console

Connect every model with Relay, run every agent in Loop, and explain every decision through Lens.