用途:帮助排查 PostHog Error Tracking 中堆栈符号化(symbolication)失败的问题,把压缩或混淆后的帧还原为可读的文件、函数与行号。符号化在不同平台对应不同机制:JavaScript 的 source map 查找、Hermes 的函数偏移解析、Proguard/R8 反混淆、dSYM 地址到行号查找。
主要能力:按统一流水线检查四段——构建配置、生成的符号产物(JavaScript source map、Hermes map、Proguard mappings、dSYM bundle)、PostHog 中已上传的符号集、捕获的错误帧。支持平台包括 JavaScript/TypeScript Web(source-and-map)、React Native Hermes、Android Proguard/R8、iOS/macOS dSYM。
使用方式:第一步查看应用仓库构建脚本与 PostHog 上传配置,确认由哪个包处理上传(@posthog/rollup-plugin、@posthog/webpack-plugin、@posthog/nextjs-config、@posthog/nuxt 或直接 posthog-cli),调试时建议保留符号产物在磁盘上,例如 Vite 插件设置 sourcemaps: { enabled: true, deleteAfterUpload: false }。第二步运行生产构建并本地检查产物。第三步用 MCP 工具按 chunk_id 查符号集:posthog:error-tracking-symbol-sets-list(ref=<chunk_id>)、posthog:error-tracking-symbol-sets-retrieve、posthog:error-tracking-symbol-sets-download-retrieve(返回一小时有效的预签名 URL);无 MCP 时可在 Project settings > Error tracking > Symbol sets 查看。下载文件是 PostHog 符号数据容器(压缩的 Rust 编码载荷),需用 posthog-cli symbol-sets extract symbolset.bin -o ./extracted 解出,也可用 npx @posthog/cli 或 bunx @posthog/cli。第四步对比本地、已上传与线上文件,第五步修复最可能的环节。
适用场景:错误帧仍显示压缩或混淆、符号集缺失、上传未完成、failure_reason 非空、Token not found 等。
限制:Hermes、Proguard、dSYM 的平台专属参考文档标注为 coming soon,具体失败模式(空 mappings、缺 sourcesContent、函数偏移不匹配、类名漂移、dSYM UUID 不匹配)需查阅对应平台参考;下载 URL 不要回显给用户,除非用户明确要求。