SuperAPI AI 工具集

baoyu-electron-extract

通用与其它

查看项目

更新于 10-15 21:56

技能介绍

用途:用于查看已安装 Electron 应用内部的打包代码,例如 Codex、Cursor、Discord、Slack、VS Code、Notion、Obsidian 等桌面应用。可接受应用名称或绝对路径(.app 包、安装目录或 .asar 文件)。

主要能力:定位并解包 app.asar;当 .js.map 内嵌 sourcesContent 时还原原始源码树到 restored/;无 source map 时用 Prettier 格式化 extracted/ 中的 JS/CSS;复制 app.asar.unpacked/ 中的原生模块与大资源;输出 extract-report.json 汇总计数与警告。source-map 路径会先相对 .js.map 解析,再折叠为可读路径(如 ../../src/main.ts → restored/src/main.ts),并剥离 webpack://、file://、?loader 等装饰;无法还原时才用 restored/__unknown/<hash>.<ext>。始终跳过 node_modules 与 webpack/runtime/*。

使用方式:脚本位于 scripts/main.ts,{baseDir} 为 SKILL.md 所在目录,${BUN_X} 解析为 bun 或 npx -y bun。命令示例:${BUN_X} {baseDir}/scripts/main.ts Codex;支持 --output/-o、--asar、--force/-f、--skip-format、--skip-restore、--no-unpacked、--dry-run、--json。默认输出到 ~/Downloads/<AppName>-electron-extract/。不确定发现结果时先用 --dry-run。

适用场景:检查应用打包结构、还原可读源码、分析第三方 Electron 应用实现。

限制:源码还原仅在 .js.map 内嵌 sourcesContent 时有效,引用外部文件而未内嵌的 map 会被跳过并列入 warnings;macOS 与 Windows 支持自动发现,Linux 等平台需显式传 --asar;脚本拒绝写入根目录、用户主目录或当前工作目录,非空输出目录需 --force;@electron/asar 与 prettier 通过 npx -y 即时解析,首次运行较慢。其他细节资料未提供。