触发本技能后,直接定位技能根目录,也就是当前 SKILL.md 所在目录,使用 Node.js 执行技能包内脚本:
node <skill-dir>/scripts/convert.js <input.html> <output.sketch> [--ignore-errors] [--validate] [--split-top-level]
如果当前工作目录已经是技能根目录,也可以执行:
node scripts/convert.js <input.html> <output.sketch> [--ignore-errors] [--validate] [--split-top-level]
不要安装全局 html2sketch。不要执行 npm install -g html2sketch。不要用 npx html2sketch。不要临时下载其他转换器。
本技能已经携带转换所需的打包产物:
bin/index.js
vendor/html2sketch.min.js
convert.js 会检查这些文件,并把请求转交给 bin/index.js 执行转换。转换任务默认只读取输入 HTML,并写入输出 .sketch、可选 .validation.md 和必要时的 .conversion.log,不修改输入 HTML。
.html 或 .htm 文件转换为 .sketch
| 项目 | 要求 | 不满足时怎么处理 |
| --- | --- | --- |
| Node.js | 建议 18 或更高版本 | 提示用户安装 Node.js 后重试 |
| 浏览器 | 已安装 Chrome、Chromium、Microsoft Edge 之一 | 提示用户安装 Chrome、Chromium 或 Microsoft Edge 后重试 |
| 打包 CLI | 技能包内存在 bin/index.js | 提示用户获取完整技能包或让维护者重新生成发布包 |
| 浏览器资源 | 技能包内存在 vendor/html2sketch.min.js | 提示用户获取完整技能包或让维护者重新生成发布包 |
不需要用户安装 html2sketch npm 包;转换器已经打包在技能包内。
| 参数 | 说明 |
| --- | --- |
| | 输入 HTML 文件路径,支持相对当前工作目录路径或绝对路径 |
| | 输出 Sketch 文件路径,扩展名必须为 .sketch |
| --ignore-errors | 跳过失败节点并继续生成文件,适合复杂 CSS 或局部节点失败时兜底;可能生成同名 .conversion.log 记录失败节点、CSS 路径和浏览器日志 |
| --validate | 生成同名 .validation.md 诊断报告,检查结构、文本原点坐标、负坐标等问题;如果发现结构错误,命令会以失败状态退出 |
| --split-top-level | 将 body 一级子节点拆成 Sketch 页面顶层图层,减少单个大组嵌套 |
路径包含空格、中文或特殊字符时,命令中使用引号包裹完整路径。
转换完成后,必须向用户说明可查看或交付的产出物路径。不要只回复“转换完成”。
必须反馈:
按实际生成情况反馈:
--validate 时,反馈诊断报告路径:
如果运行环境支持文件回传或附件交付,优先交付 .sketch 文件;.validation.md 和 .conversion.log 作为辅助产物交付。
建议反馈格式:
转换完成:
- Sketch 文件:<output.sketch>
- 诊断报告:<output>.validation.md(如有)
- 转换日志:<output>.conversion.log(如有)
常规转换:
node <skill-dir>/scripts/convert.js ./page.html ./page.sketch
生成诊断报告:
node <skill-dir>/scripts/convert.js ./page.html ./page.sketch --validate
减少大组嵌套并生成诊断报告:
node <skill-dir>/scripts/convert.js ./page.html ./page.sketch --split-top-level --validate
复杂页面兜底转换:
node <skill-dir>/scripts/convert.js ./page.html ./page.sketch --ignore-errors --split-top-level --validate
Windows 中文或空格路径示例:
node <skill-dir>/scripts/convert.js "C:/Users/name/Documents/page demo.html" "D:/output/page demo.sketch" --split-top-level --validate
SKILL.md 文件路径推导技能根目录。
node /scripts/convert.js 。
--validate、--split-top-level 或 --ignore-errors。
bin/index.js 或 vendor/html2sketch.min.js,说明技能包不完整,让用户获取完整包或让维护者重新生成。
.sketch 文件路径。
.validation.md 或 .conversion.log,一并列出这些辅助文件路径。
| 问题 | 处理方式 |
| --- | --- |
| 未检测到 Node.js | 提示用户安装 Node.js 18+,重新打开终端后再运行 |
| 未找到 Chrome、Chromium 或 Microsoft Edge 浏览器 | 提示用户安装 Chrome、Chromium 或 Microsoft Edge |
| 输入 HTML 文件不存在 | 检查输入路径;路径含空格、中文或特殊字符时使用引号包裹 |
| 输出文件扩展名不是 .sketch | 将输出路径改为 .sketch 结尾 |
| 技能包缺少打包后的 CLI 入口 | 技能包不完整;重新获取完整包或让维护者重新生成 |
| 技能包缺少 html2sketch 浏览器端资源 | 技能包不完整;重新获取完整包或让维护者重新生成 |
| 转换中断于复杂 CSS | 尝试添加 --ignore-errors,或简化 HTML 中的复杂 CSS |
| 生成了 .conversion.log | 查看失败节点、CSS 路径和浏览器日志,判断是否需要简化 CSS 或使用兜底转换 |
| --validate 后命令失败 | 打开 .validation.md 查看结构错误;结构错误会导致命令失败,普通诊断警告不会阻止输出 |
| 导入设计工具后图层过深 | 尝试添加 --split-top-level |
| MasterGo 或 Sketch 导入异常 | 添加 --validate,查看 .validation.md 并定位结构或文本坐标问题 |
--ignore-errors 会尽量生成文件,但可能缺失部分节点;用于兜底,不应作为高保真交付默认选项。
共 1 个版本