dsh-makerworld:把 MakerWorld 出貨流水線裝進 DeepSeek Harness

前言

把一個 3D 打印件從「設計」送到「上架」,中間要經歷設計、校覈、文案、渲染、發佈模型、加打印配置這幾個環節。在 MakerWorld 平臺上,這六個環節容易出現互不相同的失敗模式:打不出來、看不出問題、文案不合規、登錄掉線、靜默未發佈、3MF 傳成 0 字節。每個失敗點都需要單獨排查和修復。

DeepSeek Harness(DSH)的理念是「一切皆插件」。現有的 DSH skill 插件可以擴展 agent 的能力,但針對 MakerWorld 這條流水線,並沒有現成的組合。開發者需要自己拼裝多個 skill,還要處理各種邊緣情況。

dsh-makerworld 是一個 bundled skill pack,把 MakerWorld 的完整出貨流水線內置進 DSH:1 個編排 skill + 5 個原子 skill。裝完即出現在 agent 的技能目錄裏,不需要往 ~/.agents/skills 拷貝任何文件。

這是什麼

dsh-makerworld 是一個面向 DeepSeek Harness 的 DSH 插件,維護者爲 439436269-ctrl。它通過內置 skill provider 向 ctx.skills 註冊一個 rank 600 的 provider,把 6 個 skill 暴露給 agent。

插件解決的核心問題是:把 MakerWorld 的 3D 打印件上架流水線標準化、可測試化,把 6 個互不相同的失敗模式拆解成獨立的原子 skill,讓每個環節都能單獨測、單獨修,編排層只負責順序、確認門和失敗即停。

包裏有什麼

skill 幹什麼 進出
mw-ship 編排:設計 → 校覈 → 渲染 → 文案 → 發佈模型 → 加配置,含 4 道確認門 project.json → 報告
blender-part 參數化建模骨架(圖元/布爾/倒角/導出 + 五條硬規矩) .py → STL + blend
print-part-check 判「能不能打」:非流形邊、洞、越牀、體積與耗材 STL → check.json
mw-listing-check 判「文案過不過」:標題長度、實拍張數、標籤、許可、Markdown project.json → lint.json
makerworld-session 登錄態:固定 profile + 有頭瀏覽器,一次登錄之後免短信 會話狀態
makerworld-publish 平臺手冊:填表、上傳、封面裁剪、發打印配置,以及全部踩過的坑 瀏覽器操作

mw-ship 是編排層,按順序調用其他 skill,並在關鍵節點設置確認門,一旦某個原子 skill 失敗即停,並輸出報告。

blender-part 負責參數化建模骨架,包括圖元、布爾、倒角、導出等操作,並執行五條硬規矩。它輸出 STL 和 blend 文件。

print-part-check 判斷模型能否打印,檢查非流形邊、洞、越牀、體積與耗材等。

mw-listing-check 判斷文案是否合規,包括標題長度、實拍張數、標籤、許可、Markdown 格式等。

makerworld-session 維護 MakerWorld 的登錄態,使用固定 profile 加載有頭瀏覽器,一次登錄之後免短信驗證。

makerworld-publish 封裝了 MakerWorld 的發佈流程,包括填表、上傳、封面裁剪、發打印配置等,並記錄了全部踩過的坑。

安裝與啓用

從 GitHub 安裝(推薦;npm 尚未發佈):

dsh plugin --profile web add github:439436269-ctrl/dsh-makerworld

本地開發:

dsh plugin --profile web add "link:D:\codes\.dsh-plugins\src\dsh-makerworld"

卸載:

dsh plugin --profile web remove dsh-makerworld

默認會放出全部 6 個 skill。如果只想啓用部分,可以在 profile 的 cordis.patch.yml 裏按 id 覆寫:

- id: dsh-makerworld
  config:
    enabledSkills: [mw-ship, print-part-check]

驗證裝沒裝好:

node test/provider.test.mjs

裝進 profile 後,讓 agent 說「列一下你的 skill,有沒有 mw-ship」,能報出來即生效。

典型用法

安裝完成後,mw-ship skill 會出現在 agent 的技能目錄裏。agent 可以直接調用 mw-ship 來執行完整的 MakerWorld 出貨流水線:設計 → 校覈 → 渲染 → 文案 → 發佈模型 → 加打印配置。

編排層會在關鍵節點設置確認門,需要人工確認後再繼續下一步。如果某個原子 skill 失敗,編排層會立即停止並輸出報告,方便定位問題。

可選:多子代理形態(DSH agent 模式)

agent-mode/ 下是同一個流程的多子代理形態:主代理只做確認門與驗收,四個階段各派一個子代理(subagent_design / subagent_listing / subagent_render / subagent_publish),階段交接契約在 agent-mode/stages.md。

它是獨立的 bundle,不隨本包自動註冊(改 profile 有把應用弄掛的風險,註冊四步寫在 agent-mode/README.md 裏)。要點:

  • subagents 服務與 spawn backend 由 profile 提供,preset 裏不要再掛 —— 掛了會 service "subagents" has been registered,整個模式加載失敗。
  • 委派組要帶 isolate: { workflowEngine: true }(照抄標準預設的 delegation 組)。
  • agent-mode/bundle/check.mjs 是不變量檢查:階段名唯一、全部 spawn + maxDepth 1 + persona 非空、包可解析、禁止在 preset 裏重複掛服務。改完必跑。

爲什麼這些判據可信

  • 兩套實現互證:blender-part 自報的體積/包圍盒,與 print-part-check 獨立解析同一 STL 的結果對得上(模板件 47.1 cm³ vs 47.11 cm³;真實件 98.53 cm³ / 113 g,與 Blender bmesh 逐項一致)。
  • 反例必須能抓住:mw-listing-check 注入 5 類違規(標題 72 字、非法許可、重複標籤、**加粗**、只留 2 張實拍)時全部報錯、退出碼 1;正例全綠。
  • 「加載失敗」這類問題只能靠日誌:結構對、組合通過都不代表運行時能加載 —— 部署後要看啓動日誌。

適用場景與注意

這個插件適合已經在使用 MakerWorld 發佈 3D 打印件,希望把流水線標準化、自動化、可測試化的開發者。如果你只是偶爾上傳模型,不需要這套完整的流水線。

插件以當前 dsh 進程的權限運行。安裝前應檢查源碼與許可證(MIT)。部署後要看啓動日誌,因爲「加載失敗」這類問題只能靠日誌排查。

結尾

dsh-makerworld 把 MakerWorld 的出貨流水線內置進 DeepSeek Harness,通過編排層 + 5 個原子 skill 的方式,把 6 個互不相同的失敗模式拆解成獨立的可測單元。裝完即出現在 agent 的技能目錄裏,不需要手動拷貝文件。

  • 插件目錄頁:https://www.skillhub.cn/plugins/439436269-ctrl/dsh-makerworld
  • GitHub:https://github.com/439436269-ctrl/dsh-makerworld
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜