fakellm-worker 是一个跑在 Cloudflare Workers 上的“假大模型”。
它不是为了生成最聪明的答案,而是为了把“像真的一样”的 LLM API 体验搬到你手边:你可以拿它接前端、接 SDK、接代理层、接流式渲染,也可以用它做演示、联调和回归测试。换句话说,它像一个可控的舞台道具,外表是大模型,内部却完全由你掌控。
你可以把它当成一台“LLM 体验模拟器”。它最有意思的地方,不是回答了什么,而是它能模拟什么。
- 你可以让它看起来像 OpenAI 风格接口,也可以让它更像 DeepSeek 的使用习惯。
- 你可以让它一字一字地“打字”,做出很像真人正在输出的流式效果。
- 你可以打开
thinking,让它先“装作思考一会儿”,再给出最后答案。 - 你可以切到
response_format: json_object,测试你的前端、后端、工作流系统能不能稳稳吃下结构化输出。 - 你还可以把它当成一个“假回复抽卡机”,每次从预置文案里随机抽一句,永远不会两次完全一样。
它特别适合这些场景:
- 想做一个聊天页面,但还没接真实模型。
- 想验证流式输出、打字机动画、增量渲染有没有问题。
- 想测试 JSON 解析、错误兜底、对话历史拼接这些边角逻辑。
- 想给产品演示做一个稳定、可控、不会乱跑的“假后端”。
- 想让团队先把接口和交互打磨好,再决定接哪个真实模型。
项目会随机从 data/responses.json 里挑一句作为最终回复,所以你看到的内容永远不是固定模板,而是一组“像真人会说的话”。这让它既像一个演示工具,也像一个可重复试验的沙盒。
支持的能力包括:
/v1/chat/completions/models和/v1/modelsstreamthinkingresponse_format- CORS 白名单访问
其中:
response_format: { "type": "text" }表示纯文本输出。response_format: { "type": "json_object" }表示 JSON 输出。thinking: { "type": "enabled" }会模拟思考过程。
最简单的玩法就是先启动,再把它当成一个 LLM API 终点去接。
npm install
npm run dev服务默认跑在 http://localhost:8789。
如果你只是想确认它是否活着,直接打开根路径就行;如果你要做联调,把前端或 SDK 指到这个地址即可。
如果你在做一个聊天产品,这个项目可以帮你先把最难的几件事跑通:
- 流式回复来了以后,页面是不是会稳定地一段段更新。
- 用户切换不同模型时,UI 是否能正确展示模型列表。
- 开启思考模式后,前端是否能正确处理额外的推理字段。
- 遇到 JSON 模式时,是否能把结构化输出无损解析出来。
- 后端代理层在转发请求时,会不会把 OpenAI/DeepSeek 风格参数遗漏掉。
如果你在做演示,这个项目也很实用:
- 能稳定演示“正在思考”的视觉效果。
- 能做出像真实模型一样的流式输出节奏。
- 能让演示内容保持随机感,但不会失控。
npm run deploy如果你更新了 Worker 的环境变量或绑定,可以重新生成类型:
npm run cf-typegen项目已经限制了跨域访问,只允许以下来源:
https://ziioai.github.iohttps://nex-world.github.iohttps://nexworld.wiki
这意味着它既能给正式站点用,也不会轻易被其他页面乱连。