Token导航 LogoToken导航

Agent Skill · 效率

kujiale-3d-model-upload(酷家乐 3d 模型上传)

kujiale-3d-model-upload 用于补充效率相关能力,适合在 OpenClaw 中需要让 Agent 承接效率相关任务时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

kujiale-3d-model-upload 是效率类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为接触敏感数据;许可证为 MIT-0,第三方扫描已通过,按安装量在效率类的 21,003 个 Skill 里排第 14,887。

总安装 3,259周安装 140GitHub Stars 1下载 1,142核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
1.0.0

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:kujiale-3d-model-upload(酷家乐 3d 模型上传)
来源仓库:https://github.com/violalulu/kujiale-3d-model-upload
安装命令:
openclaw skills install kujiale-3d-model-upload
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install kujiale-3d-model-upload

这个 Skill 是做什么的

效率类 Skill 把重复的整理、汇总、转换工作交给助手完成,减少手工复制粘贴。

酷家乐3D模型上传全流程自动化工具,涵盖STS凭证、OSS上传与解析状态轮询。适用于建筑可视化、室内设计等项目中批量处理模型文件。自动校验文件格式、大小限制与解析进度,减少人工干预。需提前申请酷家乐开发者权限并配置OSS Bucket策略。上传前建议压缩模型体积,避免因超限导致任务失败。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install kujiale-3d-model-upload;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

kujiale-3d-model-upload 怎么安装?

在终端执行 openclaw skills install kujiale-3d-model-upload。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

kujiale-3d-model-upload 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

kujiale-3d-model-upload 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

kujiale-3d-model-upload 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

kujiale-3d-model-upload 用的人多吗?

公开数据是累计安装 3,259 次,近一周安装 140 次,下载 1,142 次,GitHub 1 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

kujiale-3d-model-upload 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理效率类任务、又不想每次都手写提示词的人。
  • 需要许可证清楚、并且有第三方扫描结果的团队项目。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要厂商级技术支持和 SLA 的生产系统。

效率类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
github

GitHub 代码协作 · OpenClaw

7,632,918545需要联网MIT-0通过
nano-pdf

Nano PDF 文档 · OpenClaw

4,249,476231需要联网MIT-0通过
auto-updater

自动更新程序 · OpenClaw

2,964,063386操作浏览器MIT-0通过
video-frames

视频帧 · OpenClaw

2,621,304112需要联网MIT-0通过
gemini

Gemini 助手 · OpenClaw

2,547,39648需要联网MIT-0有提醒
kujiale-3d-model-upload

酷家乐 3d 模型上传 · 本页

3,2591接触敏感数据MIT-0通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

name
kujiale-3D-model-upload
description
>
compatibility
python
>=3.7
dependencies

What is this skill

This skill wraps kujiale_upload.py — a self-contained Python script that validates the complete Kujiale OpenAPI 3D model upload pipeline in exactly 5 steps. The script uses Python requests / oss2 only, and explicitly disables environment-derived proxy / certificate overrides (trust_env=False) because those settings can cause TLS handshake failures in some Windows environments:

StepMethodEndpointDescription
1GET/v2/commodity/upload/stsObtain OSS STS credentials + uploadTaskId
2PUTAlibaba OSS (oss2)Upload ZIP bytes to OSS
3POST/v2/commodity/upload/createTrigger server-side model parsing
4GET/v2/commodity/upload/statusPoll parse status until status == 3
5POST/v2/commodity/upload/submitSubmit parsed model → returns brandGoodId

Authentication: md5(appSecret + appKey + timestamp_ms)

API Key: Apply at Manycore OpenAPI Console


Quick Start

# 1. Install dependencies
pip install requests oss2

# 2. Copy the example env file and fill in YOUR credentials
cp .env.example .env
# Windows PowerShell:
# Copy-Item .env.example .env

# 3. Set env vars for the current shell session
export KUJIALE_APP_KEY=your_app_key_here
export KUJIALE_APP_SECRET=your_app_secret_here
# Windows PowerShell:
# $env:KUJIALE_APP_KEY="your_app_key_here"
# $env:KUJIALE_APP_SECRET="your_app_secret_here"

# 4. Run a safe local smoke test first
python kujiale_upload.py --dry-run

# 5. Run the real flow
python kujiale_upload.py

Prerequisites and Scope

This skill is intended for users who already have:

  • A valid Kujiale OpenAPI appKey / appSecret — Apply at Manycore OpenAPI Console
  • Permission to call the commodity model upload APIs in their Kujiale tenant
  • A .zip package that matches Kujiale's 3D model import requirements
  • Network access to openapi.kujiale.com and the OSS endpoint returned by Step 1

This repository does not include:

  • Any built-in credentials
  • Any guarantee that the generated placeholder ZIP is a production-valid 3D model package
  • Any tenant-specific category mapping beyond the sample defaults in kujiale_upload.py

The auto-generated ZIP is only for API connectivity and workflow smoke testing.

Configuration

Required credentials

You must supply your own Kujiale OpenAPI credentials. There are no built-in defaults.

MethodHow to set
Environment variable (recommended)export KUJIALE_APP_KEY=xxx / export KUJIALE_APP_SECRET=xxx
CLI flag--app-key xxx --app-secret xxx
Programmatic dictrun_skill({"app_key": "xxx", "app_secret": "xxx"})

Priority: explicit CLI/dict value > environment variable

If credentials are missing, you will see:

FAILED: Missing required credentials: app_key (env: KUJIALE_APP_KEY), app_secret (env: KUJIALE_APP_SECRET).
Set environment variables or pass via --app-key / --app-secret.
See .env.example for reference.

All configuration parameters

ParameterEnv var / dict keyDefaultDescription
app_keyKUJIALE_APP_KEY*(required)*Kujiale OpenAPI appKey
app_secretKUJIALE_APP_SECRET*(required)*Kujiale OpenAPI appSecret
zip_path—*(auto-generated test ZIP)*Path to the ZIP file to upload
poll_interval—5.0Seconds between status polls
poll_timeout—300.0Max seconds to wait for parse completion
dry_run—FalseIf True, skip all network calls and return mock data

Transport behavior

  • Default path: API calls use requests; OSS upload uses oss2
  • The script creates dedicated sessions with trust_env=False
  • This prevents inherited proxy / CA bundle environment settings from breaking TLS handshakes
  • If you run this skill inside an agent or IDE that sandboxes outbound network access, the real upload path requires unrestricted network access to openapi.kujiale.com and the returned OSS endpoint. The script now reports this case explicitly and tells you to rerun with network permissions enabled.

Built-in Step 5 defaults

kujiale_upload.py currently submits with these sample defaults:

  • location = 1
  • brandCats = ["3FO4K6E984C7"]

These values are not universal. They appear to be business defaults from the original implementation and may be wrong for another tenant or another catalog tree. If your account requires different category metadata, update the script before using the real submit step.


Usage

CLI

# Install dependencies
pip install requests oss2

# Run with credentials from environment variables (recommended)
python kujiale_upload.py

# Run with explicit credentials
python kujiale_upload.py \
  --app-key YOUR_APP_KEY \
  --app-secret YOUR_APP_SECRET

# Run with a specific ZIP file
python kujiale_upload.py \
  --app-key YOUR_APP_KEY \
  --app-secret YOUR_APP_SECRET \
  --zip /path/to/your/model.zip

# Dry run — no network calls, no credentials needed
python kujiale_upload.py --dry-run

# Custom polling parameters
python kujiale_upload.py \
  --app-key YOUR_APP_KEY \
  --app-secret YOUR_APP_SECRET \
  --poll-interval 3 \
  --poll-timeout 120

Programmatic (Python)

Import and call run_skill(params) directly:

from kujiale_upload import run_skill

# Credentials from environment variables KUJIALE_APP_KEY / KUJIALE_APP_SECRET
summary = run_skill({})
print(summary)
# {
#   "uploadTaskId": "...",
#   "filePath": "...",
#   "previewImg": "...",
#   "brandGoodId": "..."
# }

# Or pass credentials explicitly
summary = run_skill({
  "app_key": "YOUR_APP_KEY",
  "app_secret": "YOUR_APP_SECRET",
})

# With a specific zip and overridden polling
summary = run_skill({
  "app_key": "YOUR_APP_KEY",
  "app_secret": "YOUR_APP_SECRET",
  "zip_path": "/path/to/model.zip",
  "poll_interval": 3.0,
  "poll_timeout": 120.0,
})

# Dry run — no network calls, no credentials needed
mock = run_skill({"dry_run": True})
print(mock)
# {
#   "uploadTaskId": "DRY_RUN_TASK_ID",
#   "filePath": "dry_run/path/test_model_for_api_test.zip",
#   "previewImg": "",
#   "brandGoodId": "DRY_RUN_BRAND_GOOD_ID",
#   "dry_run": True
# }

Test / Run

What to expect on a successful run

============================================================
Kujiale OpenAPI Full Flow
appKey=<your_key> zip=test_model_for_api_test.zip
============================================================
[INFO] Created test zip: test_model_for_api_test.zip
[Step 1] GET https://openapi.kujiale.com/v2/commodity/upload/sts file_name=test_model_for_api_test.zip
[Step 1] OK uploadTaskId=1234567890 filePath=kujiale-models/xxx/test_model_for_api_test.zip
[Step 2] OSS PUT endpoint=https://oss-cn-hangzhou.aliyuncs.com bucket=xxx key=... size=212
[Step 2] OK status=200 etag="..."
[Step 3] POST https://openapi.kujiale.com/v2/commodity/upload/create upload_task_id=1234567890
[Step 3] OK m=
[Step 4] Polling status for uploadTaskId=1234567890 (timeout=300.0s)
[Step 4] Attempt 1 status=1
[Step 4] Attempt 2 status=3
[Step 4] OK status=3 (zip parse success, ready to submit) previewImg=https://...
[Step 5] POST https://openapi.kujiale.com/v2/commodity/upload/submit name=test_model_for_api_test uploadTaskId=1234567890
[Step 5] OK brandGoodId=ABCxyz123 successFlag=True

============================================================
ALL STEPS PASSED
{
  "uploadTaskId": "1234567890",
  "filePath": "kujiale-models/xxx/test_model_for_api_test.zip",
  "previewImg": "https://...",
  "brandGoodId": "ABCxyz123"
}
============================================================

Parse status codes (Step 4)

StatusMeaning
0Generating
1Parsing ZIP
2ZIP parse failed → raises RuntimeError
3ZIP parse success, ready to submit → proceed to Step 5
4Submit success
5Submit task exception → raises RuntimeError

Common failure modes

ErrorCauseFix
FAILED: Missing required credentialsNo credentials configuredSet KUJIALE_APP_KEY / KUJIALE_APP_SECRET env vars, or pass via --app-key / --app-secret
Step 1 error: c=10001Invalid appKey/appSecretCheck credentials on Kujiale open platform
FAILED: ZIP file not found: ...Invalid --zip pathPass an existing local .zip file
FAILED: ZIP file must end with .zip: ...Wrong file typePackage the model as .zip before upload
Step 4 poll timeout after 300sParse taking too longIncrease --poll-timeout
Step 4 FAILED: status=2Invalid ZIP formatEnsure ZIP contains valid model files
Step 1 request failed: ... / Step 5 request failed: ...Network/API connectivity or a local environment overrideCheck firewall, VPN, DNS, and whether your shell injects custom proxy / CA env vars
outbound network access appears to be blocked by the current runtime or sandboxThe tool is running in a restricted sandbox/agent sessionRe-run the same command with unrestricted network access, or allow the agent/tool to escalate network permissions
Step 2 OSS PUT failed: ...OSS connectivity or STS issueCheck returned OSS region/bucket and network reachability

Dependencies

requests>=2.20.0
oss2>=2.14.0

Install:

pip install requests oss2

Publishing Checklist

Before publishing externally, verify:

  • [ ] No real credentials in any tracked file — run:
  grep -rn "app_key\|app_secret" . --include="*.py" --include="*.json" --include="*.md" | grep -v ".env.example" | grep -v "YOUR_APP"

Confirm only placeholder / env-var references remain.

  • [ ] .env is not committed (keep it local only)
  • [ ] .env.example is committed with placeholder values only
  • [ ] Add .env to .gitignore in the repo that vendors this skill
  • [ ] README / SKILL.md directs users to set KUJIALE_APP_KEY / KUJIALE_APP_SECRET
  • [ ] python kujiale_upload.py --dry-run succeeds on a clean machine
  • [ ] python kujiale_upload.py without credentials fails with a single-line FAILED: message, not a traceback

Security Notes

  • Credentials are never logged. The script logs appKey (for traceability) but never logs appSecret or the computed sign.
  • appSecret flows only through the in-memory _sign() function and is never serialised to disk or printed.
  • STS tokens returned by Step 1 are temporary (short TTL) and scoped to a single upload — no long-lived secrets are stored.
  • If you suspect your appKey/appSecret have been exposed, rotate them immediately on the Manycore OpenAPI Console.

File Tree

kujiale-3D-model-upload/
├── SKILL.md           # This file
├── .env.example       # Credential template — copy to .env and fill in your keys
└── kujiale_upload.py  # Main script (CLI + run_skill entrypoint)

平台分布

OpenClaw

82.34%
按下载量换算940

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills