前段时间爆火了一款的AI全栈开发工具:Bolt.new,它允许用户在浏览器中直接运行完整的 Node.js 环境,并通过自然语言提示快速生成、运行、编辑和部署全栈 Web 应用程序,从而大幅简化开发流程,成为AI辅助编程的标杆。但Bolt.new有一定的封闭性,只能使用官方默认的大语言模型,而且生成的web应用一键部署也是只能部署到Netlify。
Bolt.diy是一个开源项目,它原本是Bolt.new项目的一个开源分叉,现在已经发展成为Bolt.new的官方开源版本,它不仅延续了核心功能,功能更强大也更具有灵活性。
Bolt.diy与Bolt.new的对比
Bolt.new:AI驱动的Web开发革命
核心功能
-
低代码开发:用户通过自然语言提示快速生成Node.js服务端、React前端等组件。
-
一键部署:直接部署到Netlify,但仅支持官方指定云服务商。
-
封闭生态:默认使用Bolt.new自有的LLM(大语言模型),模型选择和扩展受限。
局限性
-
商业性限制:部分高级功能需付费订阅,且资源托管绑定商业平台。
-
模型固定:用户无法替换或添加自定义LLM。
-
部署单一:部署选项仅限Netlify,缺乏灵活性。
Bolt.diy:开源化重构,解锁无限可能
起源与发展
-
社区起家:由开发者Cole Medin创建的社区项目“oTToDev”于2023年夏季萌芽,后更名为“Bolt.new ANY LLM”,旨在打破模型单一性限制。
-
官方合作:因社区活跃度和功能潜力,StackBlitz(Bolt.new母公司)正式采纳该项目为官方开源分支,2023年12月更名为Bolt.diy。
-
定位清晰:保持与Bolt.new互补——开源版提供极致灵活性,而Bolt.new聚焦企业级服务与付费特性。
功能亮点与优势
维度 | Bolt.new(商业版) | Bolt.diy(开源版) |
LLM选择 | 固定使用官方模型 | 支持30+模型(OpenAI、Anthropic、Ollama、HuggingFace、DeepSeek等) |
模型定制 | 无法替换或添加自定义模型 | 通过插件扩展,甚至集成本地私有模型(如自训练的LLM) |
部署选项 | 仅支持Netlify | 支持多云部署(Netlify、Vercel、AWS、Docker等) |
可扩展性 | 功能有限,依赖官方更新 | 模块化架构,开发者可自定义Docker服务、集成第三方工具 |
代码安全 | 完全托管,数据可能离开本地 | 本地部署,数据完全控制,适合隐私敏感项目 |
二者的页面比较
Bolt.new的官网应用界面:
Bolt.diy的运行界面
可以看到,两者大体的布局非常像,功能上主要的区别如下:
-
Bolt.diy支持各种模型的选择,并且支持每句提示都选择不同的大模型。Bolt.new只能使用官方默认的模型。
-
Bolt.diy的输入框功能更丰富,支持语音输入,支持本地文件同步
-
Bolt.diy的编辑器功能丰富:
-
支持直接Push到GitHub
-
支持同步本地文件
-
支持将代码下载到本地
-
Bolt.new支持一键部署到Netlify,Bolt.diy在Roadmap上计划支持一键部署到Vercel和Cloudflare
Bolt.diy的应用场景
-
快速原型设计:对于需要快速验证想法的开发者,Bolt.diy 提供了一种极具性价比的解决方案。用户可以通过简单的自然语言提示生成代码,并在浏览器中直接运行,从而快速完成原型设计和验证。
-
教育与培训:Bolt.diy 的开源项目属性和它的灵活可扩展性使其成为教学和培训的理想工具。通过该平台,学生和初学者可以快速上手并学习全栈开发的基本概念。
-
企业级开发:对于企业团队,Bolt.diy 的开源架构和多语言模型支持提供了高度的灵活性。团队可以根据自身需求定制平台功能,从而提高开发效率并降低成本
快速部署自己的Bolt.diy
通过计算巢一键部署
-
访问计算巢Bolt.diy社区版部署链接按提示填写部署参数,配置ECS实例规格和密码
-
配置专有网络和可用区
-
配置百炼模型服务,Bolt.diy支持多种大模型,如果想使用百炼的模型服务,请配置百炼模型服务的API-KEY。请参考: 获取百炼API-KEY。
-
服务实例创建成功后,可以在页面上获取到访问地址,注意:Bolt.diy页面加载较慢,请耐心等待。
配置使用百炼的模型
前提:在部署时已经配置过了百炼的API-KEY
-
打开侧边栏,点击左下角的设置
-
设置中点击"Local Providers"
-
打开"OpenAILike"的开关
-
在首页选择OpenAILike,即可使用百炼上的大模型服务
配置浏览器的安全策略
如果使用Bolt.diy的过程中,页面有如下报错,
原因:bolt.diy 底层依赖 WebAssembly,WebAssembly中使用到了 SharedArrayBuffer。浏览器出于安全考虑,对 SharedArrayBuffer 的有一定的安全策略限制,要求使用 SharedArrayBuffer 或多线程通信(如 postMessage 传输 SharedArrayBuffer)的页面必须满足跨域隔离(Cross-Origin Isolation) 的条件,此条件包括:
-
确保使用HTTPS或者使用localhost 或者127.0.0.1 访问
-
添加必要的HTTP响应头
通过配置了Nginx反向代理和自签名证书满足上述条件后,发现代码生成页面白屏,后来发现是启用跨域隔离后应用内的CDN资源也会被隔离,导致无法获取到一些静态资源,这里涉及到Bolt.diy的底层了,所以这里采用了trick的方案。
解决方案:为了绕开此安全限制限制,可以修改浏览器的设置。
-
在Chrome浏览器中,访问标志页:在地址栏输入 chrome://flags/#allow-insecure-localhost。
-
启用配置:将 Insecure origins treated as secure 的选项设为 Enabled, 在下方输入框中添加Bolt.diy的访问地址
-
修改完配置后,重新启动浏览器即可。
修改此配置的核心效果是允许将 HTTP 资源视为 HTTPS,会将指定的不安全起源(HTTP) 视为安全的 HTTPS 起源,从而
1.绕过混合内容(Mixed Content)警告:
当网页通过 HTTPS 加载时,如果它引用了 HTTP 协议的资源(如图片、脚本、API 接口等),浏览器会默认阻止这些资源并报错(如 Mixed Content 错误)。开启此配置后,指定的 HTTP 起源会被视为安全,从而允许加载。
2.支持需要 HTTPS 的功能:
部分 Web API(如 Fetch API、WebAuthn、WebSockets 等)在 HTTP 环境下可能无法使用,但通过此设置,指定的 HTTP 起源可以绕过这一限制。