一个轻量级客户端库,用于将浏览器游戏与Vibe Eyes MCP 调试服务器集成,实现实时调试、可视化和分析。
这使得AI能够在实时状态下“看到”它正在处理的游戏!
<img src="happy.jpg" alt="笑脸" width="50%">npm install vibe-eyes-client
或者直接在HTML中包含:
<script src="https://unpkg.com/vibe-eyes-client/dist/vibe-eyes.min.js"></script>
// 使用默认设置初始化(自动连接到http://localhost:8869)
// 当使用script标签时,全局可用
// 客户端连接后会自动开始捕获
initializeVibeEyes();
// 或者直接使用现有的客户端实例
window.VibeEyesClient.initialize();
// 使用自定义设置初始化(通过script标签包含)
initializeVibeEyes({
serverUrl: 'http://your-debug-server:8869',
captureDelay: 2000, // 每2秒截取一次图
maxLogs: 50, // 存储更多的日志
canvasId: 'my-canvas' // 指定要捕获的canvas
});
// 或者作为模块使用
import { initializeVibeEyes } from 'vibe-eyes-client';
initializeVibeEyes({
serverUrl: 'http://your-debug-server:8869',
captureDelay: 2000,
canvasId: 'game-canvas'
});
// 获取客户端实例
const client = window.VibeEyesClient;
// 显式停止/重启捕获(如有需要)
client.stopCaptureLoop();
client.startCaptureLoop();
Vibe Eyes MCP服务器返回SVG可视化,可以在专用调试窗口中显示:
// 从初始化获取客户端
const client = initializeVibeEyes();
// 启用SVG显示 - 打开一个新的调试窗口,显示SVG和统计数据
client.enableSvgDisplay();
// 可以选择提供自定义容器
client.enableSvgDisplay({
container: '#my-custom-container' // 可选的现有容器元素
});
// 配置调试窗口的位置和大小(所有选项都是可选的)
const client = initializeVibeEyes({
serverUrl: 'http://localhost:8869',
debugWindow: {
// 所有debugWindow属性都有合理的默认值
width: 500, // 可选:宽度(像素,默认:游戏窗口宽度的75%)
height: 600, // 可选:高度(像素,默认:游戏窗口高度的75%)
position: 'right' // 可选:相对于游戏窗口的位置(默认:'right')
// 可能的位置:'right', 'left', 'top', 'bottom', 'detached'
}
});
// 切换显示开关
client.toggleSvgDisplay();
// 禁用显示(关闭调试窗口)
client.disableSvgDisplay();
调试窗口显示:
所有配置选项都是可选的,并且具有合理的默认值。
| 选项 | 默认值 | 描述 |
|---|---|---|
| serverUrl | 'http://localhost:8869' | Vibe Eyes MCP服务器的URL |
| captureDelay | 1000 | 捕获之间的毫秒数 |
| maxLogs | 10 | 最多存储的日志数量 |
| maxErrors | 10 | 最多存储的错误日志数量 |
| autoConnect | true | 初始化时连接 |
| canvasId | null | 要捕获的具体canvas的ID(null=自动检测) |
| debugWindow | 对象 | 调试窗口的配置(见下文) |
| 选项 | 默认值 | 描述 |
|---|---|---|
| container | null | SVG容器的元素或选择器(如果为null,则创建弹出窗口) |
| 选项 | 默认值 | 描述 |
|---|---|---|
| width | null | 调试窗口的宽度(像素,默认:游戏窗口宽度的75%) |
| height | null | 调试窗口的高度(像素,默认:游戏窗口高度的75%) |
| position | 'right' | 相对于游戏窗口的位置:'right', 'left', 'top', 'bottom', 或 'detached' |
以下构建格式在dist/目录中可用:
vibe-eyes.min.js - 适用于大多数情况的最小化UMD构建vibe-eyes.js - 用于调试的非最小化UMD构建vibe-eyes.iife.js - 用于直接浏览器使用的IIFE构建,带有全局变量vibe-eyes.esm.js - 适用于现代打包工具和环境的ES模块ISC