响应捕获工具

一个连接到浏览器、导航到v0.dev、提交提示并捕获所有网络响应(包括流式AI响应)的工具,用于保存v0.dev的完整输出以供进一步分析或使用。

  • by m2rads
  • Python
  • 本地部署
  • 34 星标
  • 更新于
在 GitHub 查看 m2rads/v0-mcp

使用说明

V0.dev响应捕获工具

一个连接到浏览器、导航到v0.dev、提交提示并捕获所有网络响应(包括流式AI响应)的工具。这允许您保存v0.dev的完整输出以供进一步分析或使用。

特性

  • 使用您的所有帐户/Cookie连接到您现有的Chrome浏览器
  • 导航到v0.dev并提交提示
  • 捕获所有网络活动,重点关注流式AI响应
  • 解码Vercel AI SDK流媒体格式以提取完整的响应
  • 将响应保存到文件以供以后参考
  • 提供从保存的文件中提取和查看响应的工具

先决条件

  • Python 3.8+
  • 谷歌Chrome浏览器

安装

  1. 克隆此存储库
  2. 安装依赖项:
# Using pip
pip install -r requirements.txt

# OR using uv
uv pip install -r requirements.txt

# Install Playwright browsers
python -m playwright install chromium

用法

捕获v0.dev响应

运行带有提示的脚本以捕获响应:

# 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"

脚本将:

  1. 连接到您的Chrome浏览器(或启动新实例)
  2. 导航到v0.dev
  3. 提交您的提示
  4. 捕获所有网络活动,包括流媒体响应
  5. 将响应保存到 captures 目录

列出捕获的文件

列出捕获目录中的所有文件:

python main.py list

从捕获的文件中提取响应

从捕获的文件中提取并显示完整的响应:

python main.py extract captures/full_response_1234567890.txt

这将:

  1. 解析和解码捕获的文件
  2. 提取完整的文本响应
  3. 在终端中显示
  4. 将干净版本保存到新文件

运作原理

Vercel AI SDK流媒体格式

v0.dev使用Vercel AI SDK以服务器发送事件(SSE)格式流式传输响应:

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"}]}

我们的工具:

  1. 捕获这些流式响应
  2. 解码格式以提取文本内容
  3. 组装完整的响应
  4. 保存原始数据和处理后的数据

文件类型

该工具保存几种类型的文件:

  • sse_stream_*.jsonl:原始SSE流数据
  • sse_decoded_*.jsonl:从流中解码JSON事件
  • assembled_content_*.txt:从流中汇编文本内容
  • full_response_*.txt:完整、干净的回复文本

故障排除

如果您有问题:

  1. 尝试关闭所有Chrome实例并运行脚本-它将使用您的个人资料启动Chrome
  2. 关于浏览器安装问题:
    python -m playwright install chromium
    
  3. 如果未正确捕获响应,请在中增加监控时间 tools.py

高级用法

直接使用提取工具

您还可以直接从 tools.py 文件:

python tools.py extract captures/your_captured_file.jsonl

自定义监控持续时间

默认情况下,脚本会监视60秒。对于需要更长时间的复杂提示,您可以修改 monitor_v0_interactions 功能在 tools.py 以增加监控时间。