Report Abuse

Basic Information

Surf is a Next.js application that demonstrates and provides a web interface for an AI-powered computer use agent by combining OpenAI's Computer Use capabilities with E2B's isolated virtual desktop sandbox. The project lets users start and manage a Linux-based virtual desktop, send natural language instructions via a chat interface, and watch the agent perform actions such as clicks and typing inside the sandbox. It streams agent reasoning and executed actions in real time using Server-Sent Events so users can observe step-by-step behavior. The repo includes frontend UI components, backend server endpoints that mediate between OpenAI and the E2B sandbox, and server actions to create, extend, and stop sandbox instances. The README documents prerequisites, environment variables, and development startup steps for running the app locally.

Links

App Details

Features
The README highlights features used by the application: a virtual Linux desktop sandbox powered by the @e2b/desktop SDK; AI-powered interaction using OpenAI"s Computer Use tooling; real-time streaming of agent responses and desktop actions via Server-Sent Events; a chat interface with example prompts and visible agent reasoning; sandbox lifecycle controls including createSandbox, increaseTimeout, and stopSandboxAction; an API endpoint (/api/chat) to handle messages and action streams; support for dark and light themes; and frontend technologies and dependencies such as Next.js, Tailwind CSS, Framer Motion, and the OpenAI SDK. Setup and environment variable instructions are provided for E2B and OpenAI API keys.
Use Cases
Surf is useful for people who want to experiment with or demonstrate AI agents that can operate a desktop environment safely in an isolated cloud sandbox. It helps developers and non-technical users observe how an LLM translates natural language instructions into GUI actions and to debug or refine prompts by watching streamed reasoning and actions. The app simplifies sandbox lifecycle management, enabling users to start, stop, and extend sessions while preserving a real-time view of the agent’s behavior. It is also helpful as a reference implementation showing how to integrate E2B"s desktop sandbox with OpenAI"s Computer Use APIs, how to stream responses to a Next.js frontend, and how to structure endpoints and server actions for such an interactive agent.

Please fill the required fields*