Skip to main content

# HTTP + LLM Plugins

All Http + LLM Plugins

## 📄️ Request validation (LLM Context validator)

The LLM Context validator plugin uses an LLM to validate incoming HTTP requests based on their full context. The LLM acts as a smart access control layer, deciding whether to allow or deny each request.

## 📄️ HTTP request body modifier

The LLM Request body modifier plugin intercepts incoming HTTP request bodies, sends them to an LLM with a configured system prompt, and replaces the request body with the LLM's response before forwarding it to the backend.

## 📄️ HTTP response body modifier

The LLM Response body modifier plugin intercepts HTTP response bodies from your backend, sends them to an LLM with a configured system prompt, and replaces the response with the LLM's output before returning it to the client.

## 📄️ HTTP response generator

The LLM Response generator plugin acts as a complete backend — it does not forward requests to any upstream service. Instead, it sends a pre-configured prompt to an LLM and uses the LLM's response as the HTTP response body.

## 📄️ Websocket message validation

The LLM Websocket message validator plugin uses an LLM to validate WebSocket messages in real-time. Each text message sent by the client is checked against an LLM prompt before being forwarded to the backend.

## 📄️ LLM Bots Blocker (Proof of Work)

The LLM Bots Blocker plugin protects your routes against automated LLM bot scraping by requiring visitors to solve a cryptographic Proof of Work (PoW) challenge before accessing your content.

## 📄️ LLM Response endpoint

The LLM Response endpoint plugin acts as a backend that sends a predefined prompt to an LLM and returns the raw generations. Unlike the Response generator, this plugin supports Otoroshi Expression Language in the prompt, allowing you to dynamically inject request data, route information, API key metadata, and more into the prompt.

## 📄️ LLMs.txt support

The LLMs.txt Accept Markdown plugin implements the llms.txt standard. When an incoming request includes the Accept: text/markdown header, the plugin automatically tries to find and serve a markdown variant of the requested page.

## 📄️ Content to Markdown (Kreuzberg)

The Content to Markdown plugin converts documents into markdown text using Kreuzberg, a Java library for document extraction. It supports a wide range of formats including PDF, DOCX, HTML, images (with OCR), PPTX, XLSX, and more.