Surf AI is a powerful browser automation agent built with LangGraph and Vision-capable LLMs (via Groq). It allows you to control a web browser using natural language, seeing the screen just like a human does.
- Vision-Based Navigation: The agent "sees" the screen using screenshots to interact with elements accurately.
- Natural Language Control: Tell the agent what to do (e.g., "Search for LangGraph on Google") and watch it work.
- Real-Time Live View: Watch the browser's actions in real-time through the React-based dashboard.
client/: Modern Vite + React frontend dashboard.src/: Core agent logic, tools, and browser management.server.py: FastAPI backend with WebSocket support for real-time streaming.Dockerfile: Production-ready container configuration.
- Clone the repository.
- Install dependencies:
uv sync
- Create a
.envfile with your API keys:GROQ_API_KEY=your_key_here MODEL=meta-llama/llama-4-scout-17b-16e-instruct ALLOWED_ORIGINS=http://localhost:5173
- Start the server:
uv run python server.py
- Navigate to the client directory:
cd client - Install dependencies:
npm install
- (Optional) Set your backend URL in
.env:VITE_WS_BACKEND_URL=localhost:8000
- Start the dev server:
npm run dev
- Link your GitHub repo to Railway.
- Railway will automatically detect the
Dockerfile. - Add your
GROQ_API_KEYand other variables in the Railway dashboard.
- Deploy the
client/folder to any static hosting service. - Ensure you set
VITE_WS_BACKEND_URLto your live backend domain.
MIT
