Install
openclaw skills install @kuihuar/3d-guard3D模型审计技能,用于检查STL、OBJ、3MF等3D模型文件的合规性。使用时需要:(1)验证文件完整性和格式有效性,(2)检测潜在的版权侵权内容(知名IP角色、品牌等),(3)识别政治敏感或不当内容,(4)检查模型尺寸是否超出目标3D打印机的打印范围。适用于任何3D模型文件审计场景。
openclaw skills install @kuihuar/3d-guard本技能用于系统化地审计3D模型文件,确保其在使用前符合版权、内容安全、技术规格等要求。支持常见3D模型格式(STL、OBJ、3MF等),并可通过多模态视觉模型和文本分析进行综合检查。
基本审计流程:
1. 文件完整性检查 → 2. 元数据快速分析 → 3. 尺寸验证 → 4. 深度检查(如需要) → 5. 生成审计报告
优化策略:优先元数据分析
目标: 验证3D模型文件的完整性和格式有效性
检查项:
工具:
scripts/validate_3d_model.py 进行自动验证常见问题:
目标: 确保模型尺寸适合目标3D打印机
检查流程:
常见打印机规格参考:
| 打印机类型 | 构建体积 (mm) | 备注 |
|---|---|---|
| 桌面级FDM | 200×200×200 | 标准入门级 |
| 桌面级SLA | 120×68×160 | 小体积高精度 |
| 中级FDM | 300×300×400 | 中等尺寸 |
| 工业级 | 500×500×500+ | 大尺寸打印 |
超出范围处理:
目标: 识别模型是否包含可能侵犯版权的内容
检测范围:
检测方法(优先级从高到低):
第一优先级:元数据快速分析 ⚡️
# 检查模型元数据中的文本信息
# Title、Description、Author、License等字段
检查内容:
判断规则:
合规性验证(重要):
必须满足的条件:
✅ Title字段不为空
✅ Description字段不为空
✅ License字段不为空
如果不满足以上条件:
🔴 直接判定为“元数据不完整-不合规”
停止进一步分析,拒绝使用
第二优先级:文件名和路径分析 🔍
第三优先级:文档和描述检查 📄
第四优先级:视觉分析(多模态模型) 🖼️ (仅在需要时)
# 对模型渲染图或截图进行视觉分析
# 仅在元数据模糊不清时使用
使用场景:
重点关注的视觉特征:
潮玩品牌识别特征(以POP MART为例):
风险等级评估:
目标: 识别模型是否包含政治敏感、暴力或不当内容
检查类别:
检测方法(优先级从高到低):
第一优先级:元数据快速分析 ⚡️
# 检查模型元数据中的文本信息
# Title、Description、Author、DesignRegion等字段
检查内容:
判断规则:
第二优先级:文件名和路径分析 🔍
第三优先级:视觉分析 🖼️ (仅在需要时)
# 对模型渲染图或截图进行视觉分析
# 仅在元数据模糊不清时使用
使用场景:
第四优先级:上下文评估 📊
合理例外:
报告结构(优化版):
# 3D模型审计报告
## 基本信息
- 模型文件:[文件名]
- 文件格式:[STL/OBJ/3MF]
- 文件大小:[大小]
- 审计时间:[时间戳]
## 审计结果
### 1. 文件完整性 ✅/❌
[结果详情]
### 2. 元数据分析 ⚡️ 快速检查
**首先验证元数据合规性:**
- **Title状态:** [存在/缺失]
- **Description状态:** [存在/缺失]
- **License状态:** [存在/缺失]
- **合规性:** [合规/不合规-元数据缺失]
**如果不合规(元数据缺失):**
- **风险等级:** 🔴 高风险
- **结论:** 直接拒绝使用,无需进一步分析
- **理由:** 缺少必须的元数据字段
- **建议:** 要求模型提供者补充完整的元数据,或拒绝使用
**如果合规:继续分析**
- **Title:** [元数据内容]
- **Description:** [元数据内容]
- **License:** [许可证信息]
- **判断:** [明确/模糊/原创]
### 3. 尺寸验证 ✅/❌
- 模型尺寸:[X×Y×Z mm]
- 目标打印机:[打印机型号]
- 构建体积:[体积]
- 结论:[是否符合]
### 4. 元数据合规性检查 🔴
- **Title状态:** [存在/缺失]
- **Description状态:** [存在/缺失]
- **License状态:** [存在/缺失]
- **合规性:** [合规/不合规-元数据缺失]
**如果不合规(元数据缺失):**
- **风险等级:** 🔴 高风险
- **理由:** 缺少必须的元数据(Title、Description、License)
- **建议:** 要求模型提供者补充完整的元数据,或拒绝使用
### 5. 版权检测 ⚠️
- 风险等级:[高/中/低]
- 检测到的内容:[具体描述]
- 检测依据:[元数据/视觉分析/两者结合]
- 建议:[使用建议]
### 6. 政治敏感性 ✅/⚠️
- 检测结果:[内容描述]
- 风险评估:[低/中/高]
- 检测依据:[元数据/视觉分析/两者结合]
## 总体建议
[综合建议和使用限制]
何时需要进行完整审计?
何时可以简化审计?
用户:"检查这个3D模型的合规性"
→ 运行元数据验证:validate_metadata.py
→ 发现:缺少Title、Description、License
→ 结论:元数据不合规,直接拒绝
→ 建议:要求补充元数据或拒绝使用
→ 无需进行后续的版权/政治敏感性分析
用户:"我刚设计了一个3D模型,想在社区分享,帮我检查一下"
→ 运行完整审计流程
→ 首先验证元数据合规性
→ 通过后检查版权和政治敏感性
→ 生成详细报告供用户参考
用户:"这个STL文件能用我的Ender 3打印吗?"
→ 简化审计:重点检查尺寸
→ 与220×220×250mm构建体积对比
→ 直接给出是否可打印的结论
用户:"这个模型看起来有点像任天堂的角色,能用吗?"
→ 优先检查元数据(Title、Description)
→ 如果元数据模糊 → 使用多模态模型分析视觉相似度
→ 提供风险等级和法律建议
用户:"检查这个模型的合规性"
→ 发现元数据 Title: "米老鼠米奇"
→ 结论:明确版权侵权,无需进一步分析
→ 直接给出风险评级和建议
用户:"这个卡通模型有问题吗?"
→ 元数据 Title: "有趣的卡通角色"
→ 元数据不够明确,需要视觉分析
→ 使用多模态模型判断是否是知名IP
→ 综合评估风险
validate_metadata.py - 元数据合规性验证脚本 ⭐ 新增
使用方法:
python3 scripts/validate_metadata.py /path/to/model.3mf
输出:
{
"format": "3MF",
"metadata": {
"title": "模型名称",
"description": "模型描述",
"license": "许可证类型",
"author": "作者"
},
"compliance": {
"is_compliant": true/false,
"required_fields": {
"title": {"exists": true/false, "value": "..."},
"description": {"exists": true/false, "value": "..."},
"license": {"exists": true/false, "value": "..."}
},
"missing_fields": ["Title", "Description", "License"],
"reason": "缺少必须的元数据字段"
}
}
合规性规则:
validate_3d_model.py - 3D模型验证脚本
使用方法:
python3 scripts/validate_3d_model.py /path/to/model.stl
输出:
{
"valid": true,
"format": "STL",
"size": {"x": 150.5, "y": 120.3, "z": 80.2},
"vertices": 12580,
"faces": 25160
}
printer-specs.md - 常见3D打印机规格参考
copyright-guidelines.md - 版权检查指南
sensitive-content.md - 敏感内容识别参考
为什么优先元数据分析?
元数据合规性验证(新增):
什么时候跳过元数据检查?
元数据不可靠的情况: