cj2api 教程:基于 Cloudflare Worker 将 ChatJimmy 转换为 OpenAI 兼容 API(零成本部署)

为什么需要 cj2api

很多开发者手头有 ChatJimmy 的使用权限,却无法将它接入现有的 OpenAI 生态应用。比如你用 LangChain 或 Next.js 搭了一个 AI 对话系统,代码里全是 OpenAI 的接口格式,这时候想换成 ChatJimmy,要么重写整个调用层,要么放弃。

cj2api 正是为解决这个矛盾而生。它以 Cloudflare Worker 为载体,把 ChatJimmy 包装成标准 OpenAI API 的样子,让你几乎不用改代码就能切换 AI 后端。

技术原理

从架构上看,cj2api 是一个轻量级的协议转换层。处理流程如下:

客户端请求 → Cloudflare Worker → 解析 OpenAI 格式 → 转换为 ChatJimmy 请求 → 返回结果 → 转换回 OpenAI 格式 → 客户端

关键在于请求格式的映射。OpenAI API 使用 /v1/chat/completions 端点,请求体是特定的 JSON 结构,包含 modelmessagesstream 等字段。cj2api 接收这个请求后,提取出 messages 内容,构造 ChatJimmy 能理解的请求发出去,再把响应转回 OpenAI 格式。

流式输出(Server-Sent Events)是这里的技术难点。OpenAI 的 stream: true 参数要求服务器返回 SSE 格式的数据流。cj2api 需要实时解析 ChatJimmy 的流式响应,逐段转换为 SSE 格式推送给客户端,实现打字机效果。

为什么选 Cloudflare Worker

部署在 Cloudflare Worker 上有几个明显优势:

Cloudflare Workers 每天有 10 万次免费请求额度,个人使用绰绰有余。项目采用纯 Serverless 架构,不需要管理服务器,也不需要数据库,一个 wrangler.toml 配置文件即可完成部署。Worker 自动部署到全球 200+ 边缘节点,延迟更低,冷启动时间几乎可以忽略不计。

快速部署

环境准备

安装 Wrangler CLI:

npm install -g wrangler

克隆并部署

git clone https://github.com/your-repo/cj2api.git
cd cj2api
wrangler deploy

部署完成后,你会得到一个 Worker URL。

配置密钥

wrangler secret put CHATJIMMY_API_KEY

快速验证

项目自带测试页面,直接访问 Worker URL 就能看到交互式调试界面。

使用示例:

const response = await fetch('https://your-worker.workers.dev/v1/chat/completions', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer sk-dummy'
  },
  body: JSON.stringify({
    model: 'chatjimmy-model',
    messages: [{ role: 'user', content: '你好' }],
    stream: true
  })
});

这段代码和调用原生 OpenAI API 几乎一模一样,迁移成本为零。

与同类工具的对比

市面上做 API 协议转换的工具不少,比如 One API、NewAPI 这类通用聚合平台。相比之下,cj2api 的定位更聚焦。

通用聚合平台适合管理十几个 AI 渠道、要做 token 统计和额度控制的场景,但需要数据库、多服务配置,资源占用较高。cj2api 则专注于单一服务快速适配,部署复杂度极低(一个命令完成),资源占用极低(纯 Worker),自带测试页面方便调试。

如果你只是想把 ChatJimmy 接进现有 OpenAI 应用,cj2api 的轻量级方案更合适。

适用场景

这个项目特别适合以下情况:

个人开发者在自己的小项目里想试试 ChatJimmy 的效果,无需搭建复杂的后端服务。现有的 OpenAI 应用需要临时切换后端进行测试或对比不同模型的输出质量。团队内部有 ChatJimmy 资源,想低成本共享给所有成员使用,无需额外部署认证系统。

开始使用

GitHub 上已有 22 颗星,项目虽然小众,但解决的是真实痛点——协议不兼容导致的接入成本。如果你在实际项目中遇到过类似问题,不妨克隆项目试试。整个部署过程不超过 5 分钟,零成本验证 ChatJimmy 能否满足你的需求。