svg-draw

🎨 零依赖 SVG 绘图与格式转换

零依赖 SVG 绘图工具,直接编写矢量代码并转为 PNG,适合快速生成插图、头像与 Logo。

收藏
16k
安装
3.8k
版本
v1.0.0
CLS 安全性认证2026-05-06
点击查看完整报告 >

使用说明

svg-draw 是一款专注于 SVG 矢量图形生成与格式转换的实用工具技能。其核心工作流程分为两个阶段:首先通过直接编写 SVG 代码创建矢量图形,随后利用系统自带的 rsvg-convert 工具将 SVG 文件转换为 PNG 位图格式。该技能提供了龙、龙虾等预设模板,用户可基于模板快速定制颜色、形状和文本标签,也可从零开始构建自定义图形。对于已有 SVG 文件,技能同样支持直接转换为 PNG 格式以便分享和使用。

该技能最显著的优势在于其零外部依赖的设计理念。不同于传统图像处理方案需要安装 PIL、ImageMagick 等重量级图形库,svg-draw 仅依靠系统原生的 rsvg-convert 工具即可完成格式转换,极大地降低了部署复杂度和环境配置成本。同时,纯代码生成 SVG 的方式赋予了用户极高的可控性和可定制性,从简单的几何图形到复杂的角色插画均可通过调整 XML 标签属性实现。内置的模板系统为初学者提供了良好的起点,而完善的文档和故障排除指南进一步降低了使用门槛。

然而,该技能也存在一定的局限性。首先,它要求用户具备基础的 SVG 语法知识,包括理解 viewBox、路径命令、填充属性等概念,这对非技术背景的用户可能构成学习障碍。其次,功能相对单一,主要聚焦于静态矢量图的生成和格式转换,不支持复杂的图像处理操作如滤镜、图层混合或高级动画。此外,技能依赖系统预装的 rsvg-convert 工具,若运行环境缺少该组件将导致转换功能失效。

svg-draw 特别适合以下用户群体:需要快速生成简单插图、头像或 Logo 的内容创作者;希望避免安装繁重图形库的开发者和运维人员;以及需要通过代码精确控制图形样式的技术型设计师。对于教育场景中的编程教学、自动化报告生成中的图表制作、以及轻量级产品原型的视觉设计,该技能都能提供高效支持。

在使用过程中,用户需注意以下风险:虽然代码本身经过安全审计无恶意行为,但由于来源为个人开发者(T3 级别),建议在生产环境部署前进行代码审查。输入文件路径应严格验证,避免路径遍历攻击。同时,需确保运行环境已正确安装 rsvg-convert 工具,并验证输出目录具有写入权限,以免转换失败。总体而言,在合规使用的前提下,该技能是一个安全、轻量且实用的图形生成解决方案。

安全解读

核心用法

svg-draw 是一套基于纯 SVG 代码的图形生成方案,无需依赖 PIL、ImageMagick 等外部图像库。用户通过直接编写 SVG XML 代码创建矢量图形,再利用系统自带的 rsvg-convert 工具转换为 PNG 位图。

典型工作流程
1. 选用内置模板(龙/龙虾)或从零编写 SVG 代码

2. 使用 write() 将 SVG 内容写入文件

3. 调用转换脚本 /root/.openclaw/workspace/skills/svg-draw/scripts/svg_to_png.sh <input.svg> <output.png> [宽] [高] 生成 PNG

4. 通过消息通道(DingTalk、Telegram 等)发送图片

模板资源

  • 龙模板:蓝色蛇形身躯、金色眼睛、翅膀、魔法光点,适合游戏/奇幻场景
  • 龙虾模板:橙红色外壳、大螯、触须、气泡背景,适合餐饮/海洋主题

显著优点

  • 零外部依赖:不调用任何第三方 API,纯本地 SVG 代码生成
  • 开箱即用:预置两个完整可定制的角色模板,降低上手门槛
  • 高度可控:SVG 代码可逐像素调整颜色、形状、位置,适合精细化设计
  • 格式灵活:矢量源文件可无损缩放,输出尺寸任意指定
  • 安全透明:纯 Markdown/Shell 文档型 Skill,无隐蔽网络行为

潜在缺点与局限性

  • 无可视化编辑:需手动编写/修改 SVG 代码,对非技术用户门槛较高
  • 依赖系统工具:必须预装 rsvg-convert(通常来自 librsvg2-bin),否则转换失败
  • 脚本路径硬编码:转换脚本使用绝对路径,环境迁移时需检查路径有效性
  • 无输入校验:svg_to_png.sh 仅做非空检查,未对路径进行遍历过滤,存在潜在路径注入风险
  • 模板数量有限:目前仅提供龙、龙虾两个模板,复杂场景需完全自建

适合人群

  • 开发者/设计师:需要程序化生成头像、Logo、简易插画
  • 运营人员:快速产出社交媒体配图、节日贺卡
  • 教育场景:演示 SVG 代码结构与矢量图形原理
  • 对隐私敏感的用户:完全本地运行,无云端上传顾虑

常规风险

  • 路径遍历:若将用户输入直接拼接到脚本参数,可能导致读取非预期文件
  • 依赖缺失:目标系统未安装 rsvg-convert 时功能完全不可用
  • SVG 注入:虽然 Skill 本身不执行 SVG 内的脚本,但恶意 SVG 文件若被其他工具解析可能触发 XSS
  • T3 来源风险:个人开发者维护,建议关注仓库更新,重大版本升级前重新审查

安全评级依据

CLS 认证报告给出 S 级(95分),所有检测维度通过:静态分析无风险代码、无网络调用、无敏感数据收集、无第三方依赖。唯一信息级提示为个人开发者来源(T3)及系统命令调用需关注输入路径。

svg-draw 内容

assets文件夹
scripts文件夹
手动下载zip · 5.4 kB
dragon_template.svgtext/plain
请选择文件