{
"error": "Error message",
"type": "api_error",
"code": "invalid_request_error",
"param": "model",
"details": {
"status": 400,
"headers": {},
"request_id": "req_123",
"response": {
// 原始API响应
}
},
"raw_error": {
"name": "OpenAIError",
"message": "Detailed error message",
"stack": "Error stack trace (development only)"
}
}
{
"error": "Internal server error",
"message": "Specific error message",
"type": "NetworkError",
"details": {
"name": "NetworkError",
"message": "Connection failed",
"stack": "Error stack trace (development only)",
"cause": null,
"errno": -3008,
"code": "ENOTFOUND",
"syscall": "getaddrinfo",
"hostname": "api.example.com"
}
}
{
"error": "Streaming failed",
"type": "streaming_error",
"status": 429,
"code": "rate_limit_exceeded",
"details": {
"name": "RateLimitError",
"message": "Rate limit exceeded",
"stack": "Error stack trace (development only)",
"headers": {},
"request_id": "req_456"
}
}
curl -X POST http://localhost:4000/api/openai \
-H "Content-Type: application/json" \
-d '{
"open_ai_url": "https://generativelanguage.googleapis.com/v1beta/openai",
"api_key": "invalid_key",
"payload": {
"model": "gemini-2.0-flash-exp",
"messages": [{"role": "user", "content": "Hello"}]
}
}'
curl -X POST http://localhost:4000/api/openai \
-H "Content-Type: application/json" \
-d '{
"open_ai_url": "https://generativelanguage.googleapis.com/v1beta/openai",
"api_key": "valid_key",
"payload": {
"model": "invalid-model-name",
"messages": [{"role": "user", "content": "Hello"}]
}
}'
当请求过于频繁时会返回速率限制错误。
当无法连接到 API 服务时返回网络错误。
curl -X POST http://localhost:4000/api/debug \
-H "Content-Type: application/json" \
-d '{
"test": "debug request"
}'
NODE_ENV=development PORT=4000 npm start
在开发环境下会显示完整的错误堆栈信息。
所有错误都会在服务器端打印详细日志:
API Error: OpenAIError: Invalid API key provided
at new OpenAIError (/path/to/error)
...
{
"error": "The model `invalid-model` does not exist",
"type": "invalid_request_error",
"code": "model_not_found",
"param": "model",
"details": {
"status": 404,
"headers": {
"content-type": "application/json",
"x-request-id": "req_123abc"
},
"request_id": "req_123abc",
"response": {
"error": {
"message": "The model `invalid-model` does not exist",
"type": "invalid_request_error",
"param": "model",
"code": "model_not_found"
}
}
},
"raw_error": {
"name": "NotFoundError",
"message": "The model `invalid-model` does not exist"
}
}