Claude Code Router实现默认回复中文回复
背景
在使用claude code时,很多场景如果不直接和AI大模型说明要用中文回复,那么它会默认使用英文回复你的问题,并且Claude Code的处理过程也是英文展示。
基本思路
为解决这个问题,我的基本方案是自定义transformer插件并配置到config.json配置文件中,该插件基本逻辑是:在通过Claude Code Router使用claude code时,Claude Code Router会转发你的问题给配置的大模型,那么在转发问题前添加 “请用中文回复” 的prompt提示词即可,配置好后claude code就会默认使用中文回复。
一、自定义Transformer
进入claude code router的安装目录,Windows环境通常在:
C:\Users\用户名\.claude-code-router
找到 plugins 文件夹,新建 prependPrompt.js 文件,内容参考如下:
// prependPrompt.js
module.exports = function prependPrompt() {return {name: "prependPrompt",// 拦截请求(Claude -> MCP)async request(req) {if (req?.body?.messages) {req.body.messages.unshift({role: "system",content: "请使用中文回复下列问题:"});}return req;},// 拦截响应(MCP -> Claude)async response(res) {// 这里你也可以对返回内容做修改return res;}};
};
二、配置 config.json
在安装目录下打开config.json配置文件,对ccr的transformer参数进行配置,引用我们写的自定义插件,这里拿其中一个大模型配置举例:
注意:配置自定义transformer插件需要该插件所在位置的绝对路径参数,如上图所示。
在Router中使用了这个配置的大模型,那么这个自定义的插件会对这个大模型生效:
由此可见,我们实际中使用的大模型是哪个(Router参数下配置的),就需要在对应的大模型的配置中把自定义的transformer插件添加到该transformer参数下即可。
三、验证效果
默认使用中文回复: