Low-kii (@lowkii) 在 【OpenCode】text content blocks must be non-empty 中发帖
继【 OpenCode - CPA - OneAPI 】 😅 :
现象:
ValidationException: messages: text content blocks must be non-empty
原因分析:
OpenCode 在工具调用后,assistant 消息可能只有 tool_calls 没有文字内容
CPA 转换时设置 content: “”(空字符串)
AWS Bedrock 比标准 OpenAI API 更严格,不接受空的 content
解决:
修改 CPA 源码 internal/translator/openai/claude/openai_claude_request.go:
// ❌ 修复前
msgJSON, _ = sjson.Set(msgJSON, "content", "")
// ✅ 修复后:用空格替代空字符串
msgJSON,...