Open Responses is an open-source specification for multi-provider, interoperable LLM interfaces inspired by the OpenAI Responses API. It defines a shared request/response model, streaming semantics, and tool invocation patterns so clients and providers can exchange structured inputs and outputs in a consistent shape.
At a high level, the spec centers on:
- An agentic loop that lets models emit tool calls, receive results, and continue.
- Items as the atomic unit of context, with clear state machines and streaming updates.
- Semantic streaming events (not raw text deltas) for predictable, provider-agnostic clients.
- Extensibility for provider-specific tools and item types without breaking the core schema.
- Full specification:
public/openapi/openapi.json - Website documentation content (source):
src/pages - Compliance tests:
bin/compliance-test.ts
This repo includes an interactive compliance tester in the docs site (/compliance) and a CLI runner for faster local iteration and CI (bin/compliance-test.ts).
The interactive compliance tester is available at https://www.openresponses.org/compliance.
Run the same compliance suite as the web UI from the command line. For example:
bun run test:compliance --base-url http://localhost:8000/v1 --api-key $API_KEYFilter to specific tests:
bun run test:compliance --base-url http://localhost:8000/v1 --api-key $API_KEY --filter basic-response,streaming-responseFor all flags:
bun run test:compliance --help