cj2api 完整指南:零成本将 ChatJimmy 转换为 OpenAI 兼容 API
痛点:现有代码不想重写,ChatJimmy 怎么接入
很多团队在项目中已经深度使用 OpenAI 的 SDK 和 API 格式。当想尝试 ChatJimmy 时,却发现它没有提供兼容的 API 接口——HTTP 调用代码、LangChain 集成、基于 OpenAI 格式的中间件,全部需要改造。
cj2api 正是为解决这个问题而生。这是一个轻量级的适配层,部署在 Cloudflare Worker 上,把 ChatJimmy 的请求/响应格式转换为标准的 OpenAI 兼容格式。
技术原理
cj2api 的请求处理流程如下:
客户端请求 (OpenAI 格式)
↓
Cloudflare Worker 接收请求
↓
解析并转换为 ChatJimmy 格式
↓
转发给 ChatJimmy 服务
↓
接收响应,转为流式 SSE
↓
返回给客户端
Worker 运行在 Cloudflare 的 V8 隔离环境中,响应延迟低,且在全球边缘节点部署,用户访问时自动路由到最近节点。
为什么选 Cloudflare Worker
零成本:Cloudflare Workers 每日 10 万次免费请求额度,个人项目或小团队使用绑绑有余。
无需服务器:传统方案需要购买 VPS、配置环境、申请域名。Worker 只需一个 Cloudflare 账号,几分钟即可上线。
全球低延迟:请求自动路由到最近边缘节点,适合对响应速度敏感的 AI 应用。
开箱即用的 HTTPS:Worker 提供免费 SSL 证书,API 调用更安全可靠。
部署步骤
部署 cj2api 只需几个步骤:
# 1. 安装 Wrangler CLI
npm install -g wrangler
# 2. 克隆项目
git clone https://github.com/your-repo/cj2api.git
cd cj2api
# 3. 配置环境变量
wrangler secret put CHAT_JIMMY_API_KEY
# 4. 部署
wrangler deploy
部署完成后会获得一个 *.workers.dev 域名,直接可用于 API 调用。环境变量 CHAT_JIMMY_API_KEY 是你的 ChatJimmy 密钥,建议通过 wrangler secret put 安全存储,避免明文暴露。
代码示例:Python SDK
部署完成后,现有代码几乎不需要改动:
from openai import OpenAI
client = OpenAI(
api_key="any-key", # 可以填写任意值,实际不验证
base_url="https://your-worker.workers.dev/v1"
)
response = client.chat.completions.create(
model="chatjimmy-model",
messages=[{"role": "user", "content": "你好"}],
stream=True
)
for chunk in response:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")
这段代码使用 OpenAI 官方 SDK,仅修改了 base_url 就能调用 ChatJimmy。流式输出也完美支持。
代码示例:Node.js SDK
如果你使用 JavaScript/TypeScript:
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'any-key',
baseURL: 'https://your-worker.workers.dev/v1'
});
const stream = await client.chat.completions.create({
model: 'chatjimmy-model',
messages: [{ role: 'user', content: '你好' }],
stream: true
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0].delta.content || '');
}
自带测试页面
cj2api 内置了一个 Web 测试页面,直接在浏览器中就能发送请求、查看响应、调试流式输出。无需 Postman 或其他工具。
访问部署后的域名,会看到一个简洁的界面,输入消息后点击发送,即可看到实时流式响应。调试接口时非常方便。
适用场景
cj2api 特别适合以下情况:
- 现有项目基于 OpenAI API 构建,想将 ChatJimmy 作为替代方案进行测试
- 需要快速原型验证,不想花时间开发 API 适配层
- 个人项目或小团队,预算有限但需要稳定的 API 服务
- 学习 AI 应用开发,需要一个可控的本地化模型接口
了解更多
项目源码托管在 GitHub,可以 clone 到本地进行二次开发或提交 issue。
如果你正在寻找一个零成本、零运维的 ChatJimmy API 兼容方案,cj2api 值得一试。