A playground for testing web agents powered by Steel.dev. Experience how different AI agents can surf and interact with the web just like humans do.
SFO.to.HND.SURF.DEMO.mp4
- Test multiple web agents in a controlled environment
- Real-time browser interaction visualization
- Support for various AI providers (Claude, GPT-4, etc.)
- Built with modern web technologies (Next.js 15, FastAPI, Steel SDK)
- Beautiful UI powered by Shadcn UI and Tailwind CSS
- Node.js 18+ and npm
- Python 3.11+
- Steel API Key (sign up at steel.dev) or Local running instance
- Clone the repository:
git clone https://github.com/steel-dev/surf.new
cd surf.new
- Install frontend dependencies:
npm install
- Install backend dependencies:
python -m venv venv
source venv/bin/activate # On Windows: .\venv\Scripts\activate
pip install -r requirements.txt
- Set up environment variables:
cp .env.example .env.local
Edit .env.local
and add your Steel API key and other required variables.
Run the development server:
npm run dev
If you're developing on Windows, you should use the Windows-specific command:
npm run dev:winTechnical Reason: Windows has two different asyncio event loop implementations:
- SelectorEventLoop (default): Uses select-based I/O and doesn't support subprocesses properly
- ProactorEventLoop: Uses I/O completion ports and fully supports subprocesses
Playwright requires subprocess support to launch browsers. When hot reloading is enabled, the default SelectorEventLoop is used, causing a
NotImplementedError
when Playwright tries to create a subprocess. Reference Issue: #32
This will start both the Next.js frontend (port 3001) and FastAPI backend (port 8000).
Visit http://localhost:3001 to start using surf.new!
We welcome contributions! Here's how you can help:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- Steel.dev - Our main platform
- Documentation
- Discord Community
This project is licensed under the MIT License - see the LICENSE file for details.
- Next.js 15 - React Framework
- FastAPI - Python Backend
- Steel SDK - Browser Automation
- Shadcn UI - UI Components
- Tailwind CSS - Styling
- Vercel AI SDK - AI Chat Interface
- Langchain - Agent Framework
Made with β€οΈ by the Steel team