关于 response-compliance
response-compliance 用于运行官方 OpenResponses 合规测试套件,检查本地或远程 Response API 端点。它面向需要验证响应行为与数据结构的开发者。
主要功能
- 01运行官方合规测试套件
- 02测试流式与非流式响应
- 03按能力筛选测试
- 04配置端点与认证方式
适用场景
- 01验证 Response API 实现
- 02检查 SSE 流式事件
- 03测试工具调用和图像输入
- 04诊断响应结构或认证失败
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ lobehub/ lobehub --skill response-compliance安装后在 Claude Code 中输入/response-compliance确认已加载。
详细介绍
OpenResponses 兼容性测试
针对本地(或远程)的 Response API 端点运行官方 OpenResponses 兼容性测试套件。
快速开始
# 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
前置条件
- 开发服务器正在运行,且
.env中设置了ENABLE_MOCK_DEV_USER=true - 已注册
api/v1/responses路由(通过src/app/(backend)/api/v1/[[...route]]/route.ts)
认证模式
| 模式 | 标志 |
|---|---|
| 开发(模拟用户) | --auth-header "lobe-auth-dev-backend-api" --no-bearer --api-key 1 |
| API Key | --api-key lb-xxxxxxxxxxxxxxxx |
| 自定义 | --auth-header <name> --api-key <value> |
测试 ID
可用的 --filter 值:
| ID | 描述 | 相关问题 |
|---|---|---|
basic-response | 简单文本生成(非流式) | LOBE-5858 |
streaming-response | SSE 流式生命周期与事件 | LOBE-5859 |
system-prompt | 系统角色消息处理 | LOBE-5858 |
tool-calling | 函数工具定义与调用输出 | LOBE-5860 |
image-input | 多模态图像 URL 内容 | — |
multi-turn | 通过输入项提供对话历史 | LOBE-5861 |
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
APP_URL | http://localhost:3010 | 服务器基础 URL(自动追加 /api/v1) |
API_KEY | — | API Key(可替代 --api-key 标志) |
工作原理
脚本(packages/openapi/scripts/compliance-test.sh)会将官方 openresponses/openresponses 仓库克隆到 scripts/openresponses-compliance/(已加入 gitignore),然后运行其 CLI 测试运行器。首次运行时会克隆仓库;之后的运行会从上游更新。
调试失败
- 使用
-v运行,以查看完整的请求/响应负载 - 常见失败模式:
- “Failed to parse JSON”:认证失败,服务器返回了 HTML 重定向
- “Response has no output items”:尚未实现大模型执行
- “Expected number, received null”:响应架构中缺少必需字段
- “Invalid input”:响应架构的 Zod 验证失败——请检查字段格式
关键文件
- 类型:
packages/openapi/src/types/responses.type.ts - 服务:
packages/openapi/src/services/responses.service.ts - 控制器:
packages/openapi/src/controllers/responses.controller.ts - 路由:
packages/openapi/src/routes/responses.route.ts - 测试脚本:
packages/openapi/scripts/compliance-test.sh - 云端路由:
src/app/(backend)/api/v1/[[...route]]/route.ts
评论
支持 Markdown