
AI 应用代码智能体AI Agent大模型开发工具【免费下载链接】bolt.diyPrompt, run, edit, and deploy full-stack web applications using any LLM you want!项目地址https://gitcode.com/gh_mirrors/bo/bolt.diy点击查看免费下载本指南以 bolt.diy 仓库根目录的 CONTRIBUTING.md 为骨架面向希望为 bolt.diy 贡献代码、报告问题或搭建本地/容器化开发环境的开发者。通过阅读本文你将掌握完整的贡献流程Issue 报告 → Fork → 分支开发 → 提交 PR、基于 pnpm Remix Vite Cloudflare Workers 的本地开发环境配置含全部环境变量语义、单元测试与代码规范校验方法以及覆盖开发与生产两套场景的 Docker 多阶段构建与 Compose 部署方案。全文所有命令、配置项与脚本均以当前仓库中的 package.json、.env.example、docker-compose.yaml、Dockerfile 等真实文件为准可复制执行。一、项目定位与贡献总览bolt.diy 是一个用任意 LLM 驱动全栈 Web 应用的开源 AI Agent见 package.json 的项目描述它基于 Remix Vite 构建运行在 Cloudflare Workers / Pages 生态上并同时支持 Docker 容器化与 Electron 桌面化运行。贡献者需要先明确参与方式再按规范提交代码。文档将其分为三类报告 Bug 或提出功能需求先在 Issue 追踪器中检索避免重复提交尽量使用项目提供的 Issue 模板如果可用并在描述中提供详细、可复现的步骤。代码贡献标准的 Fork → 新建功能/修复分支 → 编写并测试代码 → 提交 Pull RequestPR流程。成为核心贡献者有意长期参与维护的开发者可填写项目维护者提供的贡献者申请表单。注意仓库是只读镜像本文只介绍查看、安装、运行与配置方式实际贡献请基于你的 Fork 仓库操作。二、Pull Request 规范与评审流程PR 提交清单从main分支切出工作分支不要直接在 main 上开发如果改动涉及行为变化同步更新相关文档提交前对所有功能做手动测试每个 PR 聚焦一个功能或一个 Bug避免混入无关改动。评审流程评审人员会对 PR 进行手动测试验证至少需要一名维护者审核通过开发者需要针对评审意见逐条修改并回复保持干净的提交历史建议使用git rebase整理提交避免大量冗余 merge commit。编码标准遵循仓库现有代码风格ESLint Prettier 已配置见 eslint.config.mjs对复杂逻辑必须写注释函数保持短小、单一职责使用有意义的变量命名。仓库的 package.json 提供了与上述标准配套的校验脚本npm run lint # 对 app 目录执行 eslint带缓存 npm run lint:fix # eslint --fix 后自动运行 prettier 格式化 npm run typecheck # 运行 tsc 全量类型检查三、本地开发环境搭建1. 克隆仓库与安装依赖git clone https://gitcode.com/gh_mirrors/bo/bolt.diy.git cd bolt.diy pnpm install项目使用pnpm作为包管理器package.json 中声明packageManager: pnpm9.14.4Node 版本要求 18.18.0。请勿混用 npm/yarn 安装依赖否则锁文件pnpm-lock.yaml会失真。2. 配置环境变量环境变量配置分两步# 1) 从模板复制 cp .env.example .env.local # 2) 填入你要使用的服务 API Key.env.example 是全仓库唯一的环境变量权威清单按其注释可分为五类分类变量说明AI Provider API KeysANTHROPIC_API_KEY、OPENAI_API_KEY、GROQ_API_KEY、GOOGLE_GENERATIVE_AI_API_KEY、MISTRAL_API_KEY、DEEPSEEK_API_KEY、COHERE_API_KEY、CEREBRAS_API_KEY、FIREWORKS_API_KEY、PERPLEXITY_API_KEY、XAI_API_KEY、MOONSHOT_API_KEY、ZAI_API_KEY、TOGETHER_API_KEY、HuggingFace_API_KEY、HYPERBOLIC_API_KEY、OPEN_ROUTER_API_KEY、GITHUB_API_KEY对应各 LLM 服务商其中GITHUB_API_KEY用于 GitHub Models需 Fine-grained token 并开启 GitHub Models 权限自定义 Base URLOLLAMA_API_BASE_URL、OPENAI_LIKE_API_BASE_URL、OPENAI_LIKE_API_KEY、TOGETHER_API_BASE_URL、HYPERBOLIC_API_BASE_URL、LMSTUDIO_API_BASE_URL用于本地模型与兼容 OpenAI 协议的服务Ollama/LMStudio 因 IPv6 问题不要用localhost应写http://127.0.0.1:11434/http://127.0.0.1:1234云服务AWS_BEDROCK_CONFIGJSON 格式如{region: us-east-1, accessKeyId: ..., secretAccessKey: ...}平台集成VITE_GITHUB_ACCESS_TOKEN/VITE_GITHUB_TOKEN_TYPE、VITE_GITLAB_ACCESS_TOKEN/VITE_GITLAB_URL/VITE_GITLAB_TOKEN_TYPE、VITE_VERCEL_ACCESS_TOKEN、VITE_NETLIFY_ACCESS_TOKEN、VITE_SUPABASE_URL/VITE_SUPABASE_ANON_KEY/VITE_SUPABASE_ACCESS_TOKEN带VITE_前缀的变量会被 Vite 注入前端用于 GitHub/GitLab 代码导入、Vercel/Netlify 部署、Supabase 数据访问等自动连接能力开发设置NODE_ENV、PORT、VITE_LOG_LEVEL、DEFAULT_NUM_CTX见下文其中两个关键调优项# 日志级别debug / info / warn / error VITE_LOG_LEVELdebug # 默认上下文窗口大小用于本地模型仓库默认 32768 DEFAULT_NUM_CTX32768安全红线.env.local以及 Docker 场景下的.env已被 .gitignore 忽略严禁提交到版本控制否则 API Key 会泄露。Docker 用户额外注意docker-compose.yaml 需要.env做变量替换。仓库提供了官方脚本 scripts/setup-env.sh 自动同步# 方式一运行官方脚本自动把 .env.local 同步到 .env ./scripts/setup-env.sh # 方式二手动复制 cp .env.local .env该脚本的逻辑是若存在.env.local且.env缺失或比.env.local旧则将.env.local复制为.env若连.env.local都没有则交互式询问是否从.env.example生成两份文件。3. 启动开发服务器pnpm run dev该命令实际执行node pre-start.cjs remix vite:dev见 package.json。pre-start.cjs 会在启动前打印当前版本号来自package.json的version与 Git 短提交哈希便于你确认自己在正确的代码版本上调试。提示原文档建议本地测试时使用Google Chrome Canary这主要针对 WebContainer 与前端调试场景。四、测试体系运行全部测试pnpm test # 等价于 vitest --run单次执行非 watch 模式 pnpm test:watch # watch 模式开发时持续监听测试框架为Vitestpackage.json 中vitest^2.1.7覆盖了从前端组件到运行时解析器的多个层次可供你在贡献时参考测试写法app/components/chat/Markdown.spec.tsMarkdown 渲染组件测试app/lib/runtime/message-parser.spec.ts 及其快照 app/lib/runtime/snapshots/message-parser.spec.ts.snapAI 消息解析器的行为测试与快照断言app/utils/diff.spec.tsdiff 工具函数测试。新增功能时遵循同一 PR 内提交对应测试用例的原则能让评审更快通过。五、构建与部署Cloudflare Pages本地预览构建产物pnpm run build # remix vite:build产出 SSR client pnpm run start # 用 Wrangler 本地托管 ./build/client自动识别平台执行 bindings.sh发布到 Cloudflare Pagespnpm run deploy # npm run build wrangler pages deploy前置条件拥有对应 Cloudflare 账号权限且已配置好Wrangler项目根目录含 wrangler.toml 与 worker-configuration.d.ts。注意pnpm run deploy只发布静态产物API 路由等 Worker 能力依赖 Cloudflare 平台配置。六、Docker 部署开发环境 / 生产环境多阶段构建结构Dockerfile 采用多阶段构建定义了四个关键阶段理解它能帮你正确使用下面的命令build基于node:22-bookworm-slim启用 pnpm 并安装 Git构建期需要执行pnpm install --offline --frozen-lockfile后运行pnpm run build设置NODE_OPTIONS--max-old-space-size4096防止 OOMprod-deps在 build 基础上pnpm prune --prod只保留生产依赖bolt-ai-production生产运行时镜像包含HEALTHCHECK每 10s curlhttp://localhost:5173/、关闭 Wrangler 遥测默认执行pnpm run dockerstartdevelopment开发运行时镜像保留全部依赖与源码默认执行pnpm run dev --host。镜像内 API Key 一律在运行时通过-e或 Compose 注入Dockerfile 中已明确注释这一点避免把密钥烘焙进镜像层。开发环境构建三种等价方式# 方式一npm 辅助脚本 npm run dockerbuild # docker build -t bolt-ai:development -t bolt-ai:latest --target development . # 方式二直接指定构建目标 docker build . --target bolt-ai-development # 方式三Compose profile docker compose --profile development up启动开发容器docker run -p 5173:5173 --env-file .env.local bolt-ai:development生产环境构建三种等价方式# 方式一npm 辅助脚本 npm run dockerbuild:prod # 同时打 bolt-ai:production 与 bolt-ai:latest 两个 tag # 方式二直接指定构建目标 docker build . --target bolt-ai-production # 方式三Compose profile docker compose --profile production up启动生产容器docker run -p 5173:5173 --env-file .env.local bolt-ai:productiondocker-compose.yaml 的三个服务docker-compose.yaml 定义了三个服务与文档中的 profile 方式一一对应服务镜像/构建目标profile关键差异app-devdevelopment阶段development、default挂载源码卷 /app/node_modules匿名卷开启CHOKIDAR_USEPOLLING/WATCHPACK_POLLING支持容器内热更新设置VITE_HMR_*以便 HMR 走 WebSocketapp-prodbolt-ai-production阶段production只拷贝构建产物与生产依赖执行dockerstartapp-prebuildghcr.io/stackblitz-labs/bolt.diy:latest预构建镜像prebuilt免构建直接拉取官方镜像运行两个自建服务都通过env_file同时读取.env与.env.local并在environment中显式透传各 API Key同时设置RUNNING_IN_DOCKERtrue、DEFAULT_NUM_CTX${DEFAULT_NUM_CTX:-32768}、VITE_LOG_LEVEL${VITE_LOG_LEVEL:-debug}等默认值extra_hosts中的host.docker.internal:host-gateway保证容器内能访问宿主机上的 Ollama 等本地服务。这正是前文要求把.env.local同步到.env的原因——Compose 依赖.env完成environment段的${VAR}替换。在 Coolify 等 PaaS 上部署对于需要图形化面板的部署场景原文档给出了一条基于 Docker Compose 的通用路径可类比 Coolify 等支持 Compose build pack 的平台将 Git 仓库导入平台选择Docker Compose作为构建方式在平台面板中配置环境变量各 API Key将启动命令设置为docker compose --profile production up七、VS Code Dev Containers 集成仓库根目录的 docker-compose.yaml 与 Dev Containers 规范兼容可在 VS Code 中一键获得预配置的开发环境打开命令面板CtrlShiftPmacOS 为CmdShiftP执行Dev Containers: Reopen in Container出现提示时选择developmentprofileVS Code 会基于app-dev服务重建容器并自动打开工作区。该方式直接复用上文developmentprofile 的源码挂载与热更新配置无需额外编写.devcontainer文件环境一致性由同一份 Compose 配置保证。八、环境变量速查与常见坑高频变量一览DEFAULT_NUM_CTX本地模型的上下文窗口大小。原文档给出的一个典型调优示例为DEFAULT_NUM_CTX24576 # 约占用 32GB VRAM仓库默认值32768对应 .env.example 与 docker-compose.yaml 中的默认配置。显存较小如 24GB 及以下的机器建议调低避免 OOM。VITE_LOG_LEVEL前端日志级别调试阶段设为debug生产可降为info/warn。PORT应用端口默认5173Docker 场景已在 Dockerfile 中以ENV PORT5173、ENV HOST0.0.0.0固化便于容器外访问。常见坑本地模型连不上Ollama/LMStudio 的 Base URL 必须用127.0.0.1而非localhostIPv6 解析问题见 .env.example 注释在 Docker 内访问宿主机服务时则依赖host.docker.internal映射。Compose 变量未注入docker compose up前务必保证.env存在运行 scripts/setup-env.sh否则${OPENAI_API_KEY}等引用会被替换为空。密钥入库.env.local与.env均在.gitignore中提交前可用git status复核。九、参与 checklist最后将全文要点收敛为一份可对照执行的贡献清单阅读并遵守项目 Code of Conduct从main分支切出单功能分支修改代码并遵循现有风格npm run lint、npm run typecheck通过为改动补充测试pnpm test全绿本地或容器内手动验证功能含环境变量正确注入更新相关文档与pnpm-lock.yaml若依赖有变更保持提交历史干净提交 PR 并等待至少一名维护者评审。完成以上步骤你就走完了从报告 Issue到代码合入的完整贡献闭环也顺带掌握了 bolt.diy 从本地、容器到 Cloudflare Pages 的整套运行与部署能力。赞分享AI 应用代码智能体AI Agent大模型开发工具【免费下载链接】bolt.diyPrompt, run, edit, and deploy full-stack web applications using any LLM you want!项目地址https://gitcode.com/gh_mirrors/bo/bolt.diy点击查看免费下载相关推荐Cap 开源项目贡献指南从环境搭建到本地开发的完整实战手册Cap 开源项目贡献指南从环境搭建到本地开发的完整实战手册 Cap 是一个开源的、注重隐私的 Loom 替代方案定位是视频消息工具可以让你在几秒内完成屏幕录制音视频桌面应用后端前端视频处理AI 应用移动开发Taichi 贡献指南从源码构建、开发环境搭建到 RFC 流程的完整参与手册Taichi 贡献指南从源码构建、开发环境搭建到 RFC 流程的完整参与手册 导读 本文基于 Taichi 仓库根目录的 CONTRIBUTING.md ht编程语言编译器高性能计算DeepChem 贡献指南从环境搭建到代码评审的完整参与手册DeepChem 贡献指南从环境搭建到代码评审的完整参与手册 DeepChem 是一个面向药物发现、量子化学、材料科学与生物学的开源深度学习框架。无论你是想修人工智能深度学习机器学习生物信息学科学计算上一篇PyTorch AO项目中torch._inductor模块配置属性缺失问题解析下一篇解决Micro编辑器在终端中CtrlS失效的终极方案创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考