OpenResponses Compliance Test
SkillDev toolsLets your agent run OpenResponses compliance tests against a Response API endpoint and debug schema failures.
Use OpenResponses Compliance Test in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add OpenResponses Compliance Test and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the OpenResponses Compliance Test skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
About this skill
Use for OpenResponses/Response API compliance tests, endpoint schema failures and test runs.
What this skill tells your AI
The instructions your AI receives, as published by lobehub/lobehub in .agents/skills/response-compliance/SKILL.md and read by ahel’s review.
Run the official OpenResponses compliance test suite against the local (or remote) Response API endpoint.
Quick Start
# From the openapi package directory
cd packages/openapi
# Run all tests (dev mode, localhost:3010)
APP_URL=http://localhost:3010 bun run test:response-compliance -- \
--auth-header "lobe-auth-dev-backend-api" --no-bearer --api-key 1
# Run specific tests only
APP_URL=http://localhost:3010 bun run test:response-compliance -- \
--auth-header "lobe-auth-dev-backend-api" --no-bearer --api-key 1 \
--filter basic-response,streaming-response
# Verbose mode (shows request/response details)
APP_URL=http://localhost:3010 bun run test:response-compliance -- \
--auth-header "lobe-auth-dev-backend-api" --no-bearer --api-key 1 -v
# JSON output (for CI)
APP_URL=http://localhost:3010 bun run test:response-compliance -- \
--auth-header "lobe-auth-dev-backend-api" --no-bearer --api-key 1 --json
Prerequisites
- Dev server running with
ENABLE_MOCK_DEV_USER=truein.env - The
api/v1/responsesroute registered (viasrc/app/(backend)/api/v1/[[...route]]/route.ts)
Auth Modes
| Mode | Flags |
|---|---|
| Dev (mock user) | --auth-header "lobe-auth-dev-backend-api" --no-bearer --api-key 1 |
| API Key | --api-key lb-xxxxxxxxxxxxxxxx |
| Custom | --auth-header <name> --api-key <value> |
Test IDs
Available --filter values:
| ID | Description | Related Issue |
|---|---|---|
basic-response | Simple text generation (non-streaming) | LOBE-5858 |
streaming-response | SSE streaming lifecycle + events | LOBE-5859 |
system-prompt | System role message handling | LOBE-5858 |
tool-calling | Function tool definition + call output | LOBE-5860 |
image-input | Multimodal image URL content | — |
multi-turn | Conversation history via input items | LOBE-5861 |
Environment Variables
| Variable | Default | Description |
|---|---|---|
APP_URL | http://localhost:3010 | Server base URL (auto-appends /api/v1) |
API_KEY | — | API key (alternative to --api-key flag) |
How It Works
The script (packages/openapi/scripts/compliance-test.sh) clones the official openresponses/openresponses repo into scripts/openresponses-compliance/ (gitignored) and runs its CLI test runner. First run clones; subsequent runs update from upstream.
Debugging Failures
- Run with
-vto see full request/response payloads - Common failure patterns:
- "Failed to parse JSON": Auth failed, server returned HTML redirect
- "Response has no output items": LLM execution not yet implemented
- "Expected number, received null": Missing required field in response schema
- "Invalid input": Zod validation on response schema — check field format
Key Files
- Types:
packages/openapi/src/types/responses.type.ts - Service:
packages/openapi/src/services/responses.service.ts - Controller:
packages/openapi/src/controllers/responses.controller.ts - Route:
packages/openapi/src/routes/responses.route.ts - Test script:
packages/openapi/scripts/compliance-test.sh - Cloud route:
src/app/(backend)/api/v1/[[...route]]/route.ts
Advanced
- Item type
- skill
- Key
response-compliance-lobehub- Source
- github.com/lobehub/lobehub