feat: add web URL content fetcher for chat context
Add ability to fetch and inject web page content into chat as context. Includes SSRF protection (blocks private IPs, localhost), content extraction (strips scripts/styles/nav), and a clean popover UI.
Reimplements the concept from PR #1703 without the issues (duplicated ChatBox, dual API routes, SSRF vulnerability, window.prompt UX).
Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com
版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9
京公网安备 11010802032778号
bolt.diy
Welcome to bolt.diy, the official open source version of Bolt.new, which allows you to choose the LLM that you use for each prompt! Currently, you can use OpenAI, Anthropic, Ollama, OpenRouter, Gemini, LMStudio, Mistral, xAI, HuggingFace, DeepSeek, Groq, Cohere, Together, Perplexity, Moonshot (Kimi), Hyperbolic, GitHub Models, Amazon Bedrock, and OpenAI-like providers - and it is easily extended to use any other model supported by the Vercel AI SDK! See the instructions below for running this locally and extending it to include more models.
Check the bolt.diy Docs for more official installation instructions and additional information.
Also this pinned post in our community has a bunch of incredible resources for running and deploying bolt.diy yourself!
We have also launched an experimental agent called the “bolt.diy Expert” that can answer common questions about bolt.diy. Find it here on the oTTomator Live Agent Studio.
bolt.diy was originally started by Cole Medin but has quickly grown into a massive community effort to build the BEST open source AI coding assistant!
Table of Contents
Join the community
Join the bolt.diy community here, in the oTTomator Think Tank!
Project management
Bolt.diy is a community effort! Still, the core team of contributors aims at organizing the project in way that allows you to understand where the current areas of focus are.
If you want to know what we are working on, what we are planning to work on, or if you want to contribute to the project, please check the project management guide to get started easily.
Recent Major Additions
✅ Completed Features
🔄 In Progress / Planned
Features
Setup
If you’re new to installing software from GitHub, don’t worry! If you encounter any issues, feel free to submit an “issue” using the provided links or improve this documentation by forking the repository, editing the instructions, and submitting a pull request. The following instruction will help you get the stable branch up and running on your local machine in no time.
Let’s get you up and running with the stable version of Bolt.DIY!
Quick Installation
Manual installation
Option 1: Node.js
Node.js is required to run the application.
Windows + RNode.jsappears in the “Path” variable/usr/local/binin the outputRunning the Application
You have two options for running Bolt.DIY: directly on your machine or using Docker.
Option 1: Direct Installation (Recommended for Beginners)
Install Package Manager (pnpm):
Install Project Dependencies:
Start the Application:
Option 2: Using Docker
This option requires Docker and is great when you want an isolated environment or to mirror the production image.
Additional Prerequisite
Steps
Prepare Environment Variables
Copy the provided examples and add your provider keys:
The runtime scripts inside the container source
.envand.env.local, so keep any API keys you need in one of those files.Build an Image
Run the Container
When the container starts it runs
pnpm run dockerstart, which in turn executesbindings.shto pass Cloudflare bindings through Wrangler. You can override this command indocker-compose.yamlif you need a different startup routine.Option 3: Desktop Application (Electron)
For users who prefer a native desktop experience, bolt.diy is also available as an Electron desktop application:
Download the Desktop App:
.dmgfile.exeinstaller.debpackageAlternative: Build from Source:
The desktop app provides the same full functionality as the web version with additional native features.
Configuring API Keys and Providers
Bolt.diy features a modern, intuitive settings interface for managing AI providers and API keys. The settings are organized into dedicated panels for easy navigation and configuration.
Accessing Provider Settings
Cloud Providers Configuration
The Cloud Providers tab displays all cloud-based AI services in an organized card layout:
Adding API Keys
Advanced Features
Local Providers Configuration
The Local Providers tab manages local AI installations and custom endpoints:
Ollama Configuration
http://127.0.0.1:11434)Other Local Providers
Environment Variables vs UI Configuration
Bolt.diy supports both methods for maximum flexibility:
Environment Variables (Recommended for Production)
Set API keys and base URLs in your
.env.localfile:UI-Based Configuration
Provider-Specific Features
OpenRouter
Ollama
Search & Navigation
Cmd+K(Mac) orCtrl+K(Windows/Linux) to clear searchTroubleshooting
Common Issues
Status Indicators
Supported Providers Overview
Cloud Providers
Local Providers
Setup Using Git (For Developers only)
This method is recommended for developers who want to:
Prerequisites
Initial Setup
Clone the Repository:
Navigate to Project Directory:
Install Dependencies:
Start the Development Server:
(OPTIONAL) Switch to the Main Branch if you want to use pre-release/testbranch:
Hint: Be aware that this can have beta-features and more likely got bugs than the stable release
Staying Updated
To get the latest changes from the repository:
Save Your Local Changes (if any):
Pull Latest Updates:
Update Dependencies:
Restore Your Local Changes (if any):
Troubleshooting Git Setup
If you encounter issues:
Clean Installation:
Reset Local Changes:
Remember to always commit your local changes or stash them before pulling updates to avoid conflicts.
Available Scripts
pnpm run dev: Starts the development server.pnpm run build: Builds the project.pnpm run start: Runs the built application locally using Wrangler Pages.pnpm run preview: Builds and runs the production build locally.pnpm test: Runs the test suite using Vitest.pnpm run typecheck: Runs TypeScript type checking.pnpm run typegen: Generates TypeScript types using Wrangler.pnpm run deploy: Deploys the project to Cloudflare Pages.pnpm run lint: Runs ESLint to check for code issues.pnpm run lint:fix: Automatically fixes linting issues.pnpm run clean: Cleans build artifacts and cache.pnpm run prepare: Sets up husky for git hooks.pnpm run dockerbuild: Builds the Docker image for development.pnpm run dockerbuild:prod: Builds the Docker image for production.pnpm run dockerrun: Runs the Docker container.pnpm run dockerstart: Starts the Docker container with proper bindings.pnpm electron:build:deps: Builds Electron main and preload scripts.pnpm electron:build:main: Builds the Electron main process.pnpm electron:build:preload: Builds the Electron preload script.pnpm electron:build:renderer: Builds the Electron renderer.pnpm electron:build:unpack: Creates an unpacked Electron build.pnpm electron:build:mac: Builds for macOS.pnpm electron:build:win: Builds for Windows.pnpm electron:build:linux: Builds for Linux.pnpm electron:build:dist: Builds for all platforms.Contributing
We welcome contributions! Check out our Contributing Guide to get started.
Roadmap
Explore upcoming features and priorities on our Roadmap.
FAQ
For answers to common questions, issues, and to see a list of recommended models, visit our FAQ Page.
Licensing
Who needs a commercial WebContainer API license?
bolt.diy source code is distributed as MIT, but it uses WebContainers API that requires licensing for production usage in a commercial, for-profit setting. (Prototypes or POCs do not require a commercial license.) If you’re using the API to meet the needs of your customers, prospective customers, and/or employees, you need a license to ensure compliance with our Terms of Service. Usage of the API in violation of these terms may result in your access being revoked.
Test commit to trigger Security Analysis workflow