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
68 changes: 65 additions & 3 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,81 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Manifest Wingman — LLM API Tester</title>
<title>Test Any LLM API in Your Browser — Wingman</title>
<link rel="canonical" href="https://wingman.manifest.build/" />
<link rel="icon" href="/favicon.ico" sizes="any" />
<link rel="icon" href="/favicon.svg" type="image/svg+xml" />
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
<meta name="theme-color" content="#1a1d23" media="(prefers-color-scheme: dark)" />
<meta name="theme-color" content="#faf8f5" />
<meta
name="description"
content="Test any LLM API from the browser — OpenAI Chat Completions & Responses, Anthropic Messages, and every OpenAI-compatible provider. Streaming or buffered, with full request/response inspection."
content="Wingman is the Postman for LLMs: call any OpenAI-compatible, OpenAI Responses, or Anthropic API from your browser. Stream token by token and inspect the raw request and response."
/>
<meta
name="keywords"
content="LLM API tester, OpenAI-compatible API tester, Anthropic API tester, Responses API tester, streaming API tester, Postman for LLMs"
/>
<meta property="og:type" content="website" />
<meta property="og:url" content="https://wingman.manifest.build/" />
<meta property="og:title" content="Wingman — Test Any LLM API in Your Browser" />
<meta
property="og:description"
content="The Postman for LLMs. Call any OpenAI-compatible or Anthropic API, stream the reply, and inspect the raw request and response."
/>
<meta property="og:image" content="https://wingman.manifest.build/wingman.svg" />
<meta property="og:image:alt" content="Wingman, a browser-based LLM API tester from Manifest" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Wingman — Test Any LLM API in Your Browser" />
<meta
name="twitter:description"
content="The Postman for LLMs. Call any OpenAI-compatible or Anthropic API from the browser, stream token by token, and inspect the wire."
/>
<meta name="twitter:image" content="https://wingman.manifest.build/wingman.svg" />
<meta name="twitter:image:alt" content="Wingman, a browser-based LLM API tester from Manifest" />
<meta name="robots" content="index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1" />
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebApplication",
"name": "Wingman",
"url": "https://wingman.manifest.build/",
"applicationCategory": "DeveloperApplication",
"operatingSystem": "Any (web browser)",
"description": "A browser-based tester for LLM APIs, including OpenAI Chat Completions, OpenAI Responses, Anthropic Messages, and OpenAI-compatible providers. Supports streaming and raw request and response inspection.",
"featureList": [
"Test OpenAI Chat Completions, OpenAI Responses, and Anthropic Messages APIs",
"Call any OpenAI-compatible endpoint from the browser",
"Stream token-by-token responses over Server-Sent Events",
"Inspect raw request and response payloads and headers",
"Compare SDK and agent fingerprints such as OpenAI SDK, LangChain, Hermes, and OpenClaw"
],
"isAccessibleForFree": true,
"offers": { "@type": "Offer", "price": "0", "priceCurrency": "USD" },
"publisher": {
"@type": "Organization",
"name": "Manifest",
"url": "https://manifest.build"
}
}
</script>
</head>
<body>
<div id="root"></div>
<div id="root">
<noscript>
<h1>Test any LLM API from your browser</h1>
<p>
Wingman is the Postman for LLMs. Call OpenAI Chat Completions, OpenAI Responses,
Anthropic Messages, or any OpenAI-compatible provider. Stream replies token by token
and inspect the exact request and response without installing an SDK.
</p>
<p>
Use it to test LLM gateways, debug streaming, compare Chat Completions vs Responses,
reproduce SDK traffic, and inspect headers sent by agents like OpenAI SDK, LangChain,
Hermes, and OpenClaw.
</p>
</noscript>
</div>
<script type="module" src="/src/index.tsx"></script>
</body>
</html>
35 changes: 35 additions & 0 deletions public/llms.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Wingman

> Wingman is a browser-based LLM API tester from Manifest. It helps humans and AI agents understand, test, and compare OpenAI Chat Completions, OpenAI Responses, Anthropic Messages, and OpenAI-compatible APIs without installing an SDK.

Use Wingman when the task is to test an LLM endpoint, inspect a raw request or response, debug SSE streaming, compare wire formats, or reproduce what an SDK or agent sends over HTTP.

Important notes:

- Wingman is a static web app. Requests go directly from the browser to the configured endpoint.
- There is no server-side proxy in Wingman itself.
- API keys are stored in session storage in the browser.
- Supported wire formats are OpenAI Chat Completions, OpenAI Responses, and Anthropic Messages.
- Wingman can imitate several client fingerprints, including OpenAI SDK, Vercel AI SDK, LangChain, Hermes, OpenClaw, cURL, and raw fetch.

## Product

- [Wingman app](https://wingman.manifest.build/): Live browser tool for testing and debugging LLM APIs.
- [Manifest](https://manifest.build): Publisher of Wingman and the broader LLM routing platform.

## Docs

- [README](https://github.com/mnfst/wingman/blob/main/README.md): Product overview, setup, supported formats, CORS requirements, and implementation notes.
- [GitHub repository](https://github.com/mnfst/wingman): Source code for the application.

## Tasks

- [Test an OpenAI-compatible API](https://wingman.manifest.build/): Paste a base URL, API key, and model, then call the endpoint directly from the browser.
- [Test streaming responses](https://wingman.manifest.build/): Use streaming mode to inspect token-by-token SSE output and time to first token.
- [Compare wire formats](https://wingman.manifest.build/): Switch between Chat Completions, Responses, and Anthropic Messages.
- [Inspect raw HTTP details](https://wingman.manifest.build/): View request payloads, headers, response bodies, and status metadata.
- [Reproduce SDK or agent traffic](https://wingman.manifest.build/): Simulate fingerprints for OpenAI SDK, LangChain, Hermes, OpenClaw, Vercel AI SDK, cURL, and raw fetch.

## Optional

- [Manifest homepage](https://manifest.build): Broader product context for AI routing and gateway use cases.
4 changes: 4 additions & 0 deletions public/robots.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
User-agent: *
Allow: /

Sitemap: https://wingman.manifest.build/sitemap.xml
8 changes: 8 additions & 0 deletions public/sitemap.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://wingman.manifest.build/</loc>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
</urlset>
Loading