openresponses.org
- TypeScript 43.1%
- Python 32%
- MDX 13.2%
- Astro 9.6%
- CSS 1.8%
- Other 0.2%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| .github/workflows | ||
| .husky | ||
| .vscode | ||
| bin | ||
| public | ||
| schema | ||
| src | ||
| .gitignore | ||
| .prettierignore | ||
| .python-version | ||
| .tool-versions | ||
| astro.config.mjs | ||
| bun.lock | ||
| CONTRIBUTING | ||
| kubb.config.ts | ||
| LICENSE | ||
| package.json | ||
| prettier.config.js | ||
| pyproject.toml | ||
| README.md | ||
| tailwind.config.ts | ||
| tsconfig.json | ||
| tspconfig.yaml | ||
| uv.lock | ||
Open Responses
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.
What's in this repo
- Full specification:
public/openapi/openapi.json - Website documentation content (source):
src/pages - Compliance tests:
bin/compliance-test.ts
Compliance testing
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).
Web UI
The interactive compliance tester is available at https://www.openresponses.org/compliance.
CLI
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_KEY
Filter to specific tests:
bun run test:compliance --base-url http://localhost:8000/v1 --api-key $API_KEY --filter basic-response,streaming-response
For all flags:
bun run test:compliance --help