继【 OpenCode - CPA - OneAPI 】 :

现象:

ValidationException: messages: text content blocks must be non-empty

原因分析:

  1. OpenCode 在工具调用后,assistant 消息可能只有 tool_calls 没有文字内容
  2. CPA 转换时设置 content: “”(空字符串)
  3. AWS Bedrock 比标准 OpenAI API 更严格,不接受空的 content

解决:

修改 CPA 源码 internal/translator/openai/claude/openai_claude_request.go

// 修复前
msgJSON, _ = sjson.Set(msgJSON, "content", "")

// 修复后:用空格替代空字符串
msgJSON, _ = sjson.Set(msgJSON, "content", " ")


📌 转载信息
转载时间:
2026/1/15 18:13:43

标签: openai api, OpenCode, 工具调用, CPA, AWS Bedrock

添加新评论