ccr-transformer-content-fix
v1.0.0
Published
Fix Anthropic content arrays to OpenAI string format for Claude Code Router
Maintainers
Readme
ccr-transformer-content-fix
Claude Code Router 自定义 transformer,解决 OpenAI 兼容 API 报错 模型参数content不正确 的问题。
问题背景
Claude Code 发送的请求中 content 是 Anthropic 格式的数组:
{"content": [{"type": "text", "text": "hello"}]}部分 OpenAI 兼容 API 严格要求 content 必须是字符串:
{"content": "hello"}ccr 内置的 openrouter、deepseek、OpenAI transformer 均未做此转换,导致 400 错误。
安装方式
方式一:npm 安装(推荐)
npm install -g ccr-transformer-content-fix方式二:手动安装
mkdir -p ~/.claude-code-router/plugins
cd ~/.claude-code-router/plugins
# 将本仓库的 index.js 和 package.json 放入 content-fix/ 目录配置
在 ~/.claude-code-router/config.json 中添加:
{
"transformers": [
{
"name": "content-fix",
"path": "ccr-transformer-content-fix"
}
],
"Providers": [
{
"transformer": {
"use": ["content-fix", "deepseek", "tooluse", "reasoning", "maxtoken"],
"maxtoken": { "max_tokens": 32000 }
}
}
]
}注意:
content-fix必须放在 transformer 链的第一位,确保在其他 transformer 处理之前先把 content 转成字符串。
手动安装时的 path 配置
如果手动放在 ~/.claude-code-router/plugins/content-fix/,path 写绝对路径:
"path": "/Users/你的用户名/.claude-code-router/plugins/content-fix/index.js"Transformer 链说明
| 顺序 | Transformer | 作用 | |------|-------------|------| | 1 | content-fix | content 数组 → 字符串 | | 2 | deepseek | Anthropic ↔ DeepSeek/OpenAI 协议转换 | | 3 | tooluse | tool_choice 优化 | | 4 | reasoning | 处理 reasoning_content | | 5 | maxtoken | 设置 max_tokens |
根据你的 API 类型,第 2 个 transformer 可替换为 openrouter 或 OpenAI。
License
MIT
