Miru 中文文档 下载 App

Mirv 扩展调试日志怎么看

console.log() 去哪了

Mirv 用 QuickJS 引擎加载扩展。扩展里直接写 console.log("hello"),输出不会显示到扩展管理界面,也不会显示到 Mirv 的主界面——它去了 QuickJS 的标准输出,需要用专门的方式查看。

三种查看方式(按推荐程度排序)

方式一:Windows 客户端的开发者工具(推荐)

Mirv Windows 客户端内置了扩展调试日志查看器(如果你的版本有的话)。查看路径可能是:

不同版本位置不同,以实际界面为准。

方式二:命令行窗口启动(Windows)

某些 Windows 版本如果你从命令行(cmd / PowerShell)启动 Mirv:

& "$env:LOCALAPPDATA\miru\miru.exe"

扩展里的 console.log() 输出可能会打印到这个命令行窗口里(取决于 Mirv 当前版本的实现)。

方式三:Android 端用 adb logcat

在 Android 上开发扩展时,可以通过 adb 查看日志:

adb logcat | findstr /i miru

这会过滤出 Mirv 相关的所有日志,包括扩展里 console.log() 的输出。但要注意:Android 端调试体验确实比 Windows 端差,官方也是这么说的。

常见调试技巧

1. 在每个方法入口加日志

async search(kw, page) {
  console.log(`[DEBUG] search called: kw=${kw}, page=${page}`);
  // ...你的逻辑
}

这样你能知道 Mirv 到底有没有调用这个方法、传了什么参数。

2. 打印请求响应

const res = await this.request({ url: "/api/search", method: "GET" });
console.log(`[DEBUG] response: ${JSON.stringify(res).substring(0, 500)}`);

把 API 返回内容的前 500 个字符打印出来,快速确认请求有没有问题、返回格式对不对。

3. 用 return 尽早暴露问题

async watch(url) {
  console.log(`[DEBUG] watch url=${url}`);
  // 直接 return 假数据先测试渲染
  return { type: "mp4", url: "https://test.example.com/test.mp4" };
}

先用假 return 值测试 Mirv 能不能正确渲染你的数据类型,确认格式没问题后再接真实逻辑。

4. 不要打太频繁的日志

console.log() 在 QuickJS 里是同步的。每个扩展的 watch()、detail() 可能在一次使用里被调用多次——大量日志会让调试窗口非常乱,也可能拖慢扩展运行。打完关键调试信息后记得删掉或注释掉。