":{"message":"contents is required (request id: 20251127095206403422290jhobUCZu)...
🚨 错误信息
[09:53:15.127][INFO][ TRSSYz ] [chatgpt][getGeminiKey]随机使用第1个 Key: sk-RipQ****2u2XO7IEmG > [09:53:22.078][WARN][ TRSSYz ] [chatgpt] Gemini API 错误 (500),进行重试。错误信息: {"error":{"message":"contents is required (request id: 20251127095206403422290jhobUCZu)","type":"rix_api_error","param":"","code":"invalid_request"}} [09:53:22.144][WARN][ TRSSYz ] [chatgpt] Gemini API 错误 (500),进行重试。错误信息: {"error":{"message":"contents is required (request id: 20251127095206487857368m7PaXRwG)","type":"rix_api_error","param":"","code":"invalid_request"}} [09:53:22.182][WARN][ TRSSYz ] [chatgpt] Gemini API 错误 (500),进行重试。错误信息: {"error":{"message":"contents is required (request id: 20251127095206537374829A8jWanaX)","type":"rix_api_error","param":"","code":"invalid_request"}} [09:53:22.220][WARN][ TRSSYz ] [chatgpt] Gemini API 错误 (500),进行重试。错误信息: {"error":{"message":"contents is required (request id: 202511270952065758574640OeLYM6u)","type":"rix_api_error","param":"","code":"invalid_request"}} [09:53:22.263][WARN][ TRSSYz ] [chatgpt] Gemini API 错误 (500),进行重试。错误信息: {"error":{"message":"contents is required (request id: 20251127095206619077180cw1XGVBX)","type":"rix_api_error","param":"","code":"invalid_request"}} [09:53:22.309][WARN][ TRSSYz ] [chatgpt] Gemini API 错误 (500),进行重试。错误信息: {"error":{"message":"contents is required (request id: 20251127095206664991266J65G5JDk)","type":"rix_api_error","param":"","code":"invalid_request"}} [09:53:22.355][WARN][ TRSSYz ] [chatgpt] Gemini API 错误 (500),进行重试。错误信息: {"error":{"message":"contents is required (request id: 20251127095206711392045veGH6SOu)","type":"rix_api_error","param":"","code":"invalid_request"}} [09:53:22.395][WARN][ TRSSYz ] [chatgpt] Gemini API 错误 (500),进行重试。错误信息: {"error":{"message":"contents is required (request id: 20251127095206751356263ZHki1SgC)","type":"rix_api_error","param":"","code":"invalid_request"}} [09:53:22.438][WARN][ TRSSYz ] [chatgpt] Gemini API 错误 (500),进行重试。错误信息: {"error":{"message":"contents is required (request id: 20251127095206793719651h9Aa3dGD)","type":"rix_api_error","param":"","code":"invalid_request"}} [09:53:22.486][WARN][ TRSSYz ] [chatgpt] Gemini API 错误 (500),进行重试。错误信息: {"error":{"message":"contents is required (request id: 20251127095206842045626W0RBEoGn)","type":"rix_api_error","param":"","code":"invalid_request"}} [09:53:22.524][ERRO][ TRSSYz ] Error: {"error":{"message":"contents is required (request id: 202511270952068802122476c8mey4z)","type":"rix_api_error","param":"","code":"invalid_request"}} at CustomGoogleGeminiClient.sendMessage (file:///root/TRSS_AllBot/TRSS-Yunzai/plugins/chatgpt-plugin/client/CustomGoogleGeminiClient.js:281:15) at process.processTicksAndRejections (node:internal/process/task_queues:105:5) at async chatgpt.sendMessage (file:///root/TRSS_AllBot/TRSS-Yunzai/plugins/chatgpt-plugin/model/core.js:653:14) at async chatgpt.abstractChat (file:///root/TRSS_AllBot/TRSS-Yunzai/plugins/chatgpt-plugin/apps/chat.js:900:25) at async chatgpt (file:///root/TRSS_AllBot/TRSS-Yunzai/plugins/chatgpt-plugin/apps/chat.js:580:5) at async PluginsLoader.deal (file:///root/TRSS_AllBot/TRSS-Yunzai/lib/plugins/loader.js:276:45) [09:53:22.526][INFO][2040931135 => 1156231720] 发送群消息:[{"type":"reply","data":{"id":"-1493986367"}},{"type":"text","data":{"text":"出现错误:{\"error\":{\"message\":\"contents is required (request id: 202511270952068802122476c8mey4z)\",\"type\":\"rix_api_error\",\"param\":\"\",\"code\":\"invalid_request\"}}"}}]
🤖 AI解决方案
Gemini API 错误分析
错误翻译
原文:"contents is required"
译文:"内容是必需的"
原因分析
根本原因: 调用 Gemini API 时未提供必需的contents 参数。
具体位置:
CustomGoogleGeminiClient.js:281:15- 发送消息到 Gemini API 的客户端代码- 调用 Gemini API 时请求体中缺少
contents字段
解决方案
修复发送到 Gemini API 的请求体结构:
// 正确的 Gemini API 请求格式
const requestBody = {
contents: [
{
parts: [
{
text: "您的消息内容"
}
]
}
],
// 其他可选参数...
};
// 确保在 CustomGoogleGeminiClient.sendMessage 方法中正确构建请求
async sendMessage(messages, options = {}) {
const contents = messages.map(msg => ({
parts: [{ text: msg.content }],
role: msg.role === 'user' ? 'user' : 'model'
}));
const requestBody = {
contents: contents,
// 其他必需的参数...
};
}
️ 预防措施
contents 参数是否存在且格式正确// 预防性检查
if (!contents || !Array.isArray(contents) || contents.length === 0) {
throw new Error('Gemini API 需要有效的 contents 参数');
}