免费使用Cloudflare Workers AI 自托管模型
NeuronDeck 是一个基于 Cloudflare Workers AI 构建的开源多模型 AI 工作台,支持 29 个对话模型、多模态输入、Function Calling 生图、系统语音、用户自有 Cloudflare 额度与一键部署。本文将介绍它的设计思路、主要功能和技术实现。
最近我基于 Cloudflare Workers AI 做了一个开源 AI 聊天项目,名字叫 NeuronDeck。
它不是简单套壳的聊天页面,而是一个可以自行部署、自由选择模型,并支持多模态输入、图片生成、语音朗读和 Cloudflare 账户授权的轻量 AI 工作台。
在线体验:
https://ai.chatgpt.org.uk
GitHub:
https://github.com/chatgptuk/NeuronDeck
为什么要做 NeuronDeck?
Cloudflare 官方提供了 Workers AI 模型和一些示例项目,但大多数示例更偏向开发演示。如果只是测试 API,它们已经足够;如果希望每天真正使用,还需要补齐很多体验。
例如:
- 在大量模型中快速找到合适的模型
- 根据价格、上下文长度和能力进行选择
- 让视觉模型真正接收图片和文件
- 正确显示 Markdown、代码和推理过程
- 让支持 Function Calling 的模型自动调用图片生成工具
- 在刷新页面或切换到后台后恢复耗时任务
- 兼顾桌面端和手机端的使用体验
- 允许用户使用自己的 Cloudflare Workers AI 额度
NeuronDeck 就是在这些需求下逐渐形成的。它更像一个专门为 Cloudflare Workers AI 设计的日常工作空间,而不只是 API Demo。
目前支持 29 个 Cloudflare 托管对话模型
NeuronDeck 当前整理并接入了 29 个 Cloudflare-hosted 对话模型,涵盖 OpenAI、Moonshot AI、DeepSeek、Z.ai、Meta、Qwen、Google、Mistral AI、NVIDIA 和 IBM 等提供方。
其中包括:
- Kimi K2.7 Code
- Kimi K2.6
- GLM 5.3 Flash
- GLM 5.2
- GPT-OSS 120B
- DeepSeek V4 Pro
- DeepSeek V4 Flash
- Llama 4 Scout
- Gemma 4 26B
- Qwen 3.8 27B
- Nemotron 3 120B
默认模型是 GLM 5.3 Flash。它拥有较长的上下文,并支持推理、视觉输入和工具调用,比较适合作为通用默认模型。
模型选择器支持搜索、能力筛选和收藏,还会显示上下文长度、输入价格、输出价格以及模型提供方。默认排序会优先展示价格较高、通常能力也更强的模型,同时对部分模型进行了更符合实际体验的顺序调整。
根据模型能力自动调整功能
NeuronDeck 不会假设所有模型都具备相同能力。
如果当前模型不支持视觉输入,界面不会显示附件入口;切换到支持视觉或多模态输入的模型后,才可以添加图片和文件。
目前可以处理图片、TXT、PDF 等常见附件。文件会先经过受控处理,再将适合模型阅读的内容加入对话上下文。
流式生成与 Markdown 渲染
NeuronDeck 支持 SSE 流式生成,用户可以在模型回复过程中查看已经返回的内容,也可以随时停止生成。
如果页面刷新导致普通文字生成中断,程序会保留已经收到的内容,并明确说明该次生成已经中断,而不是一直停留在“生成中”。
Markdown、GitHub 风格表格、代码块、代码高亮和推理过程也会分别渲染,避免把代码或推理内容当作普通纯文本显示。
聊天模型可以自动调用图片生成工具
对于支持 Function Calling 的对话模型,NeuronDeck 提供了图片生成工具。用户不必输入固定命令,也不需要进入独立的“生图模式”。
像下面这些表达都可以由模型理解:
- 帮我画一只坐在窗边的猫
- 生成一张雨夜东京街头的照片
- 再来一张
- 把它改成 iPhone 随手拍风格
- 换成竖屏壁纸
是否调用图片工具由聊天模型根据语义和对话上下文决定,而不是依靠简单的关键词匹配。
当前可以在设置中选择以下图片模型:
- FLUX.2 Klein 9B
- FLUX.2 Dev
- Lucid Origin
- Phoenix 1.0
图片生成任务通过 Cloudflare Workflows 执行,结果保存在 R2。即使用户把网页切到后台,或者在生成过程中刷新页面,前端也可以重新连接任务并恢复结果。
系统语音朗读与 Aura-2
NeuronDeck 支持直接朗读 AI 回复。
中文和其他多语言内容默认使用设备提供的系统声线。在 iPhone、iPad 和 Mac 上会使用 iOS 或 macOS 的语音;Android 和 Windows 设备则使用浏览器及系统中可用的对应语言声线。
如果设备没有安装相应语言的语音包,程序会给出明确提示,不会自动切换成错误语言。
英语和西班牙语还可以选择 Deepgram Aura-2,以获得更自然的停顿、节奏和表达效果。长文本会自动按句分段,降低部分浏览器朗读中途停止的概率。
可以使用自己的 Cloudflare AI 额度
站点管理员可以配置一个或多个 Cloudflare Workers AI 公共账户,供匿名访客使用。公共额度池支持稳定分配、访问频率限制以及故障切换。
用户也可以通过 Cloudflare OAuth 授权登录自己的账户。授权后,聊天、图片生成和相关 AI 操作会优先使用用户自己的 Workers AI 额度。
需要注意的是,Cloudflare 授权登录只代表 NeuronDeck 可以使用该账户的 Workers AI 额度,并不会改变账户原有的套餐和模型权限。
如果用户的 Cloudflare 账户仍然是 Workers Free 计划,则无法使用要求付费账户的模型。想要调用这些付费模型,需要开通 Workers Paid,或者使用 Cloudflare 支持的其他付费结算方式。
整个授权过程采用 PKCE。访问令牌经过加密后保存在服务端,不会写入浏览器的本地存储。
对话记录默认只保存在当前浏览器
NeuronDeck 采用本地优先设计。对话历史通过 IndexedDB 保存在当前浏览器中,不会默认上传到远程数据库。
这意味着站点管理员不会因为提供聊天界面,就自动获得所有用户的聊天记录。用户也可以将对话导出保存。
当然,真正发送给模型生成答案的消息仍然需要提交给所选择的 AI 服务。“本地优先”指的是对话历史的长期保存方式,而不是宣称 AI 推理可以完全离线完成。
为手机浏览器重新设计交互
NeuronDeck 并不是把桌面页面简单压缩后放到手机上。
移动端进行了单独优化,包括:
- 输入框使用至少 16px 字号,避免 iOS 聚焦时自动放大页面
- 提高正文对比度和字号
- 输入框可以显示多行内容
- 优化侧边栏和对话删除操作
- 适配安全区域和移动浏览器底部工具栏
- 减少容易误触的悬浮操作
- 消息时间以低干扰方式按需显示
整体界面默认使用浅色主题,并保留可切换的深色模式。
根据模型能力设置最大输出 Token
不同模型的上下文能力差别很大:有些只有几千 Token,有些则达到数十万甚至一百万以上。
因此,NeuronDeck 不会给所有模型统一设置 2048 个最大输出 Token。程序会根据模型上下文能力提供推荐值和安全上限,用户也可以针对当前对话手动调整。
这样既不会浪费小模型的上下文,也不会把长上下文模型限制在过小的输出范围内。
可以一键部署到自己的 Cloudflare 账户
NeuronDeck 已经在 GitHub 开源,并提供 Deploy to Cloudflare 部署入口。
部署者可以创建自己的 Worker 和配套资源。应用默认发布到部署者自己的 workers.dev 地址,不会绑定本项目的生产域名,也不会使用本项目的 Cloudflare 资源。
如果需要,还可以进一步配置:
- 自己的自定义域名
- Cloudflare OAuth
- 公共 Workers AI 账户池
- KV 会话存储
- R2 图片结果存储
- 图片生成 Workflow
- 请求限流规则
项目使用 MIT License,可以自由学习、修改和用于自己的项目,但仍需遵守 Cloudflare 及各模型提供方的使用条款。
技术路线
NeuronDeck 的主要技术栈包括:
- React 19
- TypeScript
- Vite
- Cloudflare Workers
- Cloudflare Workers AI
- Cloudflare Workflows
- Cloudflare R2
- Cloudflare KV
- IndexedDB
- Server-Sent Events
- Web Speech API
前端静态资源与 API 由同一个 Cloudflare Worker 提供,自定义域名为:
最后
NeuronDeck 目前仍在持续改进,但它已经从一个简单的聊天页面,逐渐变成了一个相对完整的 Cloudflare Workers AI 客户端。
我希望它保持三个特点:
- 轻盈:不堆砌无意义的复杂功能。
- 透明:明确展示模型能力、价格、上下文和限制。
- 可控:用户可以选择模型、使用自己的额度,并掌握自己的本地对话数据。
如果你也在使用 Cloudflare Workers AI,或者想搭建一个属于自己的多模型 AI 工作台,可以试试 NeuronDeck,也欢迎在 GitHub 上提出建议或参与改进。
在线体验:
NeuronDeck
开源代码:
GitHub · NeuronDeck
评论与讨论
还没有评论,欢迎留下第一条讨论