前言¶
在 DeepSeek Harness(DSH)里让智能体处理图片时,常见需求是拿到可缩放、可二次编辑的产物,而不是再生成一张新图。扩散模型画图要算力、要联网,也未必忠实于原图像素。位图矢量化走的是另一条路:在本地把色块边界描成曲线,再渲染出矢量文件,放大不糊,且不需要训练。
下面介绍社区插件 dsh-paint(维护者 kongbaiwin,当前版本 0.1.1,MIT)。它把「重画成矢量」封装成 DSH 可调用的工具:纯 CPU、离线、不训练,输出 SVG 与 PNG。社区目录归类为「趣味换装」,与 SkillHub 上的条目一致。
这是什么¶
dsh-paint 是 DSH 插件,核心一句话:让 AI 把一张图片在本地重画成矢量画——色块描摹用打包的 vtracer(Rust,MIT),路径解析与 PNG 超采样渲染在插件自带的 lib/paint.py 中完成。装好以后,对智能体说「把这张图重画成矢量」,或直接调用工具 draw_vectorize,即可在画库目录得到带时间戳的文件(例如 画-1106-205032.png)以及对应 SVG。
它不是「AI 生成新图」,而是图像矢量化:不凭空补画未出现的内容,尽量按原图重建色块边界。
核心功能与流程¶
README 用表格归纳了分工,便于对照预期:
| 步骤 | 谁来做 |
|---|---|
| 把像素区域描成矢量路径 | vtracer(已随插件放在 vendor/,无需 pip) |
| 解析路径、渲染 PNG、超采样抗锯齿 | 插件 lib/paint.py |
| 挑参数、做质量评分 | 使用者(或让 AI 协助调参) |
对外暴露的工具名为 draw_vectorize。常用参数如下(与 README 一致):
| 参数 | 说明 |
|---|---|
src |
输入图片路径(必填) |
size |
输出长边像素,常用 1024 / 2048 / 4096 / 8192 |
trace |
描摹分辨率,默认等于 size;调低会明显变糊 |
crop |
居中裁成正方形;默认保留原始比例 |
out / svg |
自定义输出路径 |
插件同时提供外壳能力:悬浮窗、进度显示、画库与历史。内部按模块接入(paint 提供矢量化;lamp 可盯任意 progress.json)。在 设置 → 绘画 → 模块 里可开关;不画画时可关 paint,仅保留盯进度等能力。
进度文件默认位于(供外部进度面板对接,格式与 dsh-lamp 兼容):
<DSH_HOME>/dsh-paint/paint-progress.json
<DSH_HOME>/dsh-paint/paint-control.json
安装与启用¶
资料中没有 dsh plugin add github:owner/repo 一类一键命令;官方写法是本地链接进 DSH。
方式一:在 DSH 里装
- 打开 设置 → 插件 → 安装本地插件
- 选择本仓库所在目录
方式二:改 profile
在 profiles/<你的 profile>/package.json 的 dependencies 中增加本地链接,并确保条目出现在同文件的 dsh.profile.bundles 数组中:
{
"dependencies": {
"dsh-paint": "link:<这个仓库的本地路径>"
}
}
依赖说明(来自 README):
- DSH 自带 Python 运行时,需具备
numpy与Pillow - vtracer 已打包在
vendor/,不需要单独 pip 安装
安装前建议自行浏览仓库源码与 LICENSE;插件在当前 DSH 进程权限下运行,能访问的路径与本地 Python 能力均受该环境影响。
典型用法¶
装好后,用自然语言即可触发,例如:
把
D:\图片\xxx.png重画成矢量,要 4K
显式调用工具时,参数示例:
{
"src": "D:\\图片\\xxx.png",
"size": 4096
}
默认产物落在设置中的画库目录;也可用 out、svg 指定路径。
硬件与质量预期¶
不需要显卡,全程 CPU。README 在 i7 + 32 GB 机器上给出参考耗时(形状数、内存为估算,实际可能略高):
| 档位 | 输出尺寸 | 形状数 | 耗时 | 最低内存(建议) |
|---|---|---|---|---|
| 1K | 1024 × 576 | 2,623 | 1.1 s | 4 GB |
| 2K | 2048 × 1152 | 6,844 | 4.8 s | 4 GB |
| 4K(推荐) | 4096 × 2303 | 44,636 | 18.6 s | 8 GB |
| 8K | 8192 × 4606 | 102,224 | 78 s | 16 GB |
日常可优先 4K;8K 形状数接近平方级增长,SVG 体积也会变大(4K 档 SVG 约 17.6 MB,见 README 表)。
已知限制(使用前心里有数):
trace低于输出size时会明显发糊- 平涂色阶是矢量本质,柔和渐变会被切成色块(插件侧用
precision 8、layer-diff 2等方式缓解,见 README) - 复杂插画形状数可达数万,SVG 较大
关于图片权利:工具只做格式转换;公开发布前请确认你对源图有使用权(README 声明)。
适用场景与注意¶
更适合:需要忠实于原图的矢量/SVG、放大不糊的 PNG、在对话里一条指令完成本地转换 的 DSH 用户;智能体开发者想把「矢量化」固定成可复现工具而非每次写脚本。
不太适合:指望模型「创作」新画面、或要求照片级柔和渐变完全保留的场景。
DSH 生态强调「一切皆插件」;SkillHub 插件目录 是社区站点,与 DeepSeek / 幻方无官方从属关系。本插件在 GitHub 上目前约 2 stars,归类 趣味换装,适合作为本地图像管线的一环试用与扩展(新能力可按 README 中的模块接口 { id, label, desc, enabled, progressFile, controlFile, tools } 接入)。
结尾¶
dsh-paint 把 vtracer 描摹与自写渲染器收进 DSH:离线、CPU、输出 SVG + PNG,参数与进度对智能体友好。若要查看说明与源码: