Skip to content

ziioai/fakellm

Repository files navigation

fakellm-worker

fakellm-worker 是一个跑在 Cloudflare Workers 上的“假大模型”。

它不是为了生成最聪明的答案,而是为了把“像真的一样”的 LLM API 体验搬到你手边:你可以拿它接前端、接 SDK、接代理层、接流式渲染,也可以用它做演示、联调和回归测试。换句话说,它像一个可控的舞台道具,外表是大模型,内部却完全由你掌控。

这个项目好玩在哪

你可以把它当成一台“LLM 体验模拟器”。它最有意思的地方,不是回答了什么,而是它能模拟什么。

  • 你可以让它看起来像 OpenAI 风格接口,也可以让它更像 DeepSeek 的使用习惯。
  • 你可以让它一字一字地“打字”,做出很像真人正在输出的流式效果。
  • 你可以打开 thinking,让它先“装作思考一会儿”,再给出最后答案。
  • 你可以切到 response_format: json_object,测试你的前端、后端、工作流系统能不能稳稳吃下结构化输出。
  • 你还可以把它当成一个“假回复抽卡机”,每次从预置文案里随机抽一句,永远不会两次完全一样。

它特别适合这些场景:

  • 想做一个聊天页面,但还没接真实模型。
  • 想验证流式输出、打字机动画、增量渲染有没有问题。
  • 想测试 JSON 解析、错误兜底、对话历史拼接这些边角逻辑。
  • 想给产品演示做一个稳定、可控、不会乱跑的“假后端”。
  • 想让团队先把接口和交互打磨好,再决定接哪个真实模型。

它会返回什么

项目会随机从 data/responses.json 里挑一句作为最终回复,所以你看到的内容永远不是固定模板,而是一组“像真人会说的话”。这让它既像一个演示工具,也像一个可重复试验的沙盒。

支持的能力包括:

  • /v1/chat/completions
  • /models/v1/models
  • stream
  • thinking
  • response_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

CORS 白名单

项目已经限制了跨域访问,只允许以下来源:

  • https://ziioai.github.io
  • https://nex-world.github.io
  • https://nexworld.wiki

这意味着它既能给正式站点用,也不会轻易被其他页面乱连。

About

No description, website, or topics provided.

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors