A tool that connects to your browser, navigates to v0.dev, submits prompts, and captures all network responses - including the streamed AI responses. This allows you to save the complete output from v0.dev for further analysis or use.
- Connects to your existing Chrome browser with all your accounts/cookies
- Navigates to v0.dev and submits your prompt
- Captures all network activity, focusing on streamed AI responses
- Decodes the Vercel AI SDK streaming format to extract complete responses
- Saves responses to files for later reference
- Provides tools to extract and view responses from saved files
- Python 3.8+
- Google Chrome browser
- Clone this repository
- Install dependencies:
# Using pip
pip install -r requirements.txt
# OR using uv
uv pip install -r requirements.txt
# Install Playwright browsers
python -m playwright install chromium
Run the script with a prompt to capture the response:
# Use the default prompt (calendar app)
python main.py
# Specify a custom prompt
python main.py monitor --prompt "Build a landing page for a coffee shop with a menu section and contact form"
The script will:
- Connect to your Chrome browser (or launch a new instance)
- Navigate to v0.dev
- Submit your prompt
- Capture all network activity, including the streaming responses
- Save the responses to the
captures
directory
List all the files in your captures directory:
python main.py list
Extract and display the complete response from a captured file:
python main.py extract captures/full_response_1234567890.txt
This will:
- Parse and decode the captured file
- Extract the complete text response
- Display it in the terminal
- Save a clean version to a new file
v0.dev uses the Vercel AI SDK to stream responses in a Server-Sent Events (SSE) format:
data: {"type":"data","value":[{"text":"Building"}]}
data: {"type":"data","value":[{"text":" a"}]}
data: {"type":"data","value":[{"text":" calendar"}]}
data: {"type":"message_annotations","value":[{"type":"finish_reason","message":"stop"}]}
Our tool:
- Captures these streamed responses
- Decodes the format to extract the text content
- Assembles the complete response
- Saves both raw and processed data
The tool saves several types of files:
sse_stream_*.jsonl
: Raw SSE stream datasse_decoded_*.jsonl
: Decoded JSON events from the streamassembled_content_*.txt
: Assembled text content from the streamfull_response_*.txt
: Complete, cleaned response text
If you have issues:
- Try closing all Chrome instances and run the script - it will launch Chrome with your profile
- For browser installation issues:
python -m playwright install chromium
- If responses aren't being captured properly, increase the monitoring time in
tools.py
You can also use the extraction function directly from the tools.py
file:
python tools.py extract captures/your_captured_file.jsonl
By default, the script monitors for 60 seconds. For complex prompts that take longer, you can modify the monitor_v0_interactions
function in tools.py
to increase the monitoring time.