前言¶
在 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,參數與進度對智能體友好。若要查看說明與源碼: