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
羽毛球分组比赛记分
小程序二维码

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

小夜