← 返回
未分类

handdraw

将文档(Markdown/PDF/Word)自动转换为手绘风格的可视化认知图。类似 Napkin AI、Excalidraw、白板笔记风格。 当用户提到手绘图、手绘风格、认知图、思维导图、文档转图解、Napkin AI、Excalidraw、白板风图解、商业咨询风图解、学习笔记风图解时触发此 skill。 也适用于用户想要将文字内容可视化为图形结构(辐射图、流程图、知识树、对比图、时间线、矩阵图)的场景。 注意:此 skill 会生成完整的 HTML 文件,包含手绘风格渲染和导出功能。
将文档(Markdown/PDF/Word)自动转换为手绘风格的可视化认知图。类似 Napkin AI、Excalidraw、白板笔记风格。 当用户提到手绘图、手绘风格、认知图、思维导图、文档转图解、Napkin AI、Excalidraw、白板风图解、商业咨询风图解、学习笔记风图解时触发此 skill。 也适用于用户想要将文字内容可视化为图形结构(辐射图、流程图、知识树、对比图、时间线、矩阵图)的场景。 注意:此 skill 会生成完整的 HTML 文件,包含手绘风格渲染和导出功能。
user_9e863bf7
未分类 community v1.0.2 3 版本 100000 Key: 无需
★ 0
Stars
📥 42
下载
💾 0
安装
3
版本
#latest

概述

HandDraw Skill - 手绘图生成器

目标

将输入文档转换为高质量手绘风格的 HTML 认知图,稳定输出类似 Napkin AI / Excalidraw 的效果。

核心特征:

  • ✅ 手绘边框和箭头 (RoughJS)
  • ✅ 彩色模块标签区分
  • ✅ 对话示例展示
  • ✅ 图标系统
  • ✅ 导出功能 (PNG/JPEG)
  • ✅ 单文件 HTML,可直接打开

工作流程

用户文档
    ↓
[Phase 1] 内容理解 → Semantic JSON
    ↓
[Phase 2] 布局决策 → Layout JSON + 布局类型
    ↓
[Phase 3] HTML 渲染 → 使用模板生成完整 HTML
    ↓
[Phase 4] 质量检查 → 验证输出完整性

Phase 1: 内容理解

从输入文档提取语义结构,输出 Semantic JSON:

{
  "title": "文档主标题",
  "subtitle": "副标题(可选)",
  "tagline": "一句话标语(可选)",
  "core_message": "核心观点/结论",
  "sections": [
    {
      "id": 1,
      "title": "模块标题",
      "color": "blue",
      "summary": "模块摘要",
      "description": "详细描述",
      "dialog": {
        "you": "用户可能问的问题",
        "ai": "AI 可能的回答"
      },
      "icon": "🧠"
    }
  ],
  "flow_steps": [
    {
      "title": "步骤标题",
      "description": "步骤说明",
      "icon": "🎯"
    }
  ],
  "conclusions": [
    {
      "title": "结论区块标题",
      "items": ["要点1", "要点2"]
    }
  ]
}

提取规则

  1. title: 文档主标题或核心主题
  2. subtitle: 副标题,补充说明
  3. tagline: 一句话标语,高亮显示
  4. core_message: 用一句话概括文档最重要的信息
  5. sections: 识别 3-7 个关键模块(过多则合并/摘要)
    • 每个模块包含: 标题、颜色、摘要、描述、对话示例、图标
  6. flow_steps: 如果有流程内容,提取步骤
  7. conclusions: 行动建议或关键结论

颜色映射

颜色背景色文字色适用场景
--------------------------------
blue#e3f2fd#1565c0思维、认知类
green#e8f5e9#2e7d32复盘、成长类
orange#fff3e0#e65100项目、拆解类
red#fce4ec#c62828目标、管理类
pink#ffebee#d32f2f风险、警告类
purple#f3e5f5#7b1fa2认知、提醒类
teal#e0f2f1#00695c战略、模拟类

Phase 2: 布局决策

根据 Semantic JSON 自动选择最合适的图形结构:

布局类型选择指南

布局适用场景节点数结构
------------------------------
radial(中心辐射)一个主题,多个能力/方面3-7中心+周围
flow(流程图)步骤、SOP、教程3-8线性排列
tree(知识树)知识体系、课程、框架5-15层级树状
compare(对比图)新旧方案、优劣对比2-6左右对比
timeline(时间线)发展历程、项目计划3-8时间轴
matrix(矩阵图)分类、评估、决策4-9网格矩阵

布局选择规则

IF sections 有明确顺序/步骤 → flow
IF sections 有层级关系 → tree
IF sections 有对比关系 → compare
IF sections 有时间信息 → timeline
IF sections 有分类/评估 → matrix
ELSE → radial (默认)

输出 Layout JSON

{
  "layout": "radial",
  "canvas_width": 1400,
  "canvas_height": 1800,
  "title": "AI第二大脑",
  "nodes": [
    {
      "id": "center",
      "type": "center",
      "label": "AI智囊团",
      "icon": "🤖",
      "x": 700,
      "y": 400
    },
    {
      "id": "node1",
      "type": "card",
      "label": "思维模式校准",
      "color": "blue",
      "x": 200,
      "y": 200
    }
  ],
  "edges": [
    {"from": "center", "to": "node1"}
  ]
}

Phase 3: HTML 渲染

必须使用完整模板,参考 references/handdraw-template.html

技术要求

必须包含:

  • ✅ RoughJS 本地静态文件 (手绘风格)
  • ✅ html2canvas 本地静态文件 (导出功能)
  • ✅ Google Fonts (马善政 + Patrick Hand)
  • ✅ 固定导出按钮 (右上角)
  • ✅ 导出选项面板 (PNG/JPEG/SVG)
  • ✅ 导出提示 Toast

手绘风格参数:

  • roughness: 1.5 (标准手绘感)
  • bowing: 1 (轻微弯曲)
  • strokeWidth: 2 (线条粗细)

页面结构

┌─────────────────────────────────────┐
│  [导出按钮]                          │
│                                     │
│  ┌───────────────────────────────┐  │
│  │         标题区域               │  │
│  │  主标题 + 副标题 + 标语        │  │
│  ───────────────────────────────┘  │
│                                     │
│  ┌───────────────────────────────┐  │
│  │         主区域                 │  │
│  │  ┌─────┐    ┌─────┐          │  │
│  │  │模块1│ ←→ │模块2│          │  │
│  │  └─────┘    └─────┘          │  │
│  │     ↕          ↕              │  │
│  │  ┌─────┐    ┌─────┐          │  │
│  │  │模块3│ ←→ │中心 │          │  │
│  │  └─────┘    └─────┘          │  │
│  ───────────────────────────────┘  │
│                                     │
│  ┌───────────────────────────────┐  │
│  │         流程区域               │  │
│  │  步骤1 → 步骤2 → 步骤3        │  │
│  └───────────────────────────────┘  │
│                                     │
│  ┌──────┐ ┌──────┐ ┌──────┐       │  │
│  │结论1 │ │结论2 │ │结论3 │       │  │
│  └──────┘ └──────┘ └──────┘       │  │
└─────────────────────────────────────┘

模块卡片结构

每个模块卡片必须包含:

  1. 彩色标题栏 - 背景色区分模块类型
  2. 描述文字 - 1-2 行摘要
  3. 对话示例 (可选) - 展示用户和 AI 的交互
  4. 图标 - 右上角或左上角
<div class="module-node module-blue">
    <div class="module-title">1. 思维模式校准</div>
    <div class="module-desc">帮你识别思维盲区...</div>
    <div class="dialog">
        <div class="you">你:我是不是忽略了什么?</div>
        <div class="ai">AI:你可能低估了...</div>
    </div>
    <div class="module-icon">🧠</div>
</div>

渲染步骤

  1. 创建画布: 1400px 宽度,根据内容计算高度
  2. 布局节点: 根据 layout 类型计算坐标
  3. 绘制边框: RoughJS 手绘风格
  4. 绘制连接: 箭头线条
  5. 填充内容: 标题、描述、对话
  6. 添加导出功能: 按钮 + 面板 + Toast

Phase 4: 质量检查

生成后必须验证:

检查清单

  • [ ] HTML 文件可正常打开
  • [ ] RoughJS 边框正常渲染
  • [ ] 箭头连接正确
  • [ ] 导出按钮可见且可用
  • [ ] 字体加载正常
  • [ ] 无 JavaScript 错误
  • [ ] 模块颜色区分清晰
  • [ ] 内容完整无遗漏

常见问题

问题原因解决
------------------
边框不显示RoughJS 未加载检查 assets/js/rough.js 存在
箭头错位坐标计算错误重新计算节点中心
导出失败html2canvas 未加载检查 assets/js/html2canvas.min.js 存在
字体不显示Google Fonts 加载慢添加本地回退字体

图标映射

{
  "风险": "⚠️",
  "目标": "🎯",
  "AI": "🤖",
  "增长": "",
  "流程": "➡️",
  "决策": "♟️",
  "想法": "💡",
  "团队": "👥",
  "时间": "",
  "金钱": "💰",
  "安全": "🔒",
  "数据": "📊",
  "用户": "👤",
  "系统": "⚙️",
  "学习": "",
  "思维": "🧠",
  "复盘": "📋",
  "项目": "🏗️",
  "战略": "♟️",
  "认知": "💭"
}

输出要求

最终输出:

  1. 完整的 HTML 文件: 可在浏览器中直接打开
  2. 文件位置: 保存在用户指定路径或当前工作目录
  3. 文件名格式: handdraw-YYYY-MM-DD-主题.html
  4. 文件大小: 通常 15-30KB

参考资源

  • 完整模板: references/handdraw-template.html (必须参考)
  • 质量检查清单: references/quality-checklist.md (生成后验证)
  • RoughJS 指南: references/roughjs-guide.md
  • 布局算法: references/layout-algorithms.md
  • 字体资源: references/fonts.md
  • 生成脚本: scripts/generate_handdraw.py

版本历史

共 2 个版本

  • v1.0.2 Initial release 当前
    2026-05-29 18:39 安全 安全
  • v1.0.1 Initial release
    2026-05-29 18:31 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

design-media

Video Frames

steipete
使用 ffmpeg 从视频中提取帧或短片。
★ 134 📥 52,941
design-media

Nano Banana Pro

steipete
使用 Nano Banana Pro (Gemini 3 Pro Image) 生成或编辑图像。支持文生图、图生图及 1K/2K/4K 分辨率,适用于图像创建、修改及编辑请求,使用 --input-image 指定输入图像。
★ 430 📥 117,111
design-media

UI/UX Pro Max

xobi667
提供 UI/UX 设计智能与实现指导,帮助打造精美界面。适用于 UI 设计、UX 流程、信息架构、视觉风格、设计系统/标记、组件规格、文案/微文案、无障碍及前端 UI(HTML/CSS/JS、React、Next.js、Vue、Svelte
★ 218 📥 47,861