← 返回 Skills 市场
54
总下载
1
收藏
1
当前安装
4
版本数
在 OpenClaw 中安装
/install uandai-ai
功能描述
Uandai platform — configure API access, package OpenClaw workspace zip, upload agents, list subscriptions, invoke runs.
使用说明 (SKILL.md)
\r \r
Uandai (packaging + programmatic API)\r
\r Bundled docs version: 2026.06.14\r \r Use this skill for all Uandai automation: first-time setup, workspace packaging, upload, subscriptions, and invocation.\r \r
First-time setup (chat → persist)\r
\r When the user sends a configure Uandai message with settings, or env vars are missing:\r \r
- Parse from the user message (setup-only; do not repeat key in later work prompts):\r
\r
UANDAI_API_ORIGIN— API host without/api(e.g.https://api.uandai.aiorhttp://127.0.0.1:8000)\r \rAPP_SITE_URL— uandai.ai web app origin (no trailing slash; e.g.https://app.uandai.aiorhttp://127.0.0.1:8080)\r \rUANDAI_API_KEY— fulluand_live_…from uandai.ai app → Settings → API Keys\r \r API base URL (derived — do not store separately):{UANDAI_API_ORIGIN}/api(e.g.https://api.uandai.ai/api). Use this prefix for all programmatic paths (/v1/…).\r \r
- Install the full skill folder (
SKILL.md+references/) under~/.openclaw/skills/uandai-ai/(preferred) or\x3Cworkspace>/skills/uandai-ai/for local dev.\r \r - Merge into
~/.openclaw/openclaw.jsonunderskills.entries.uandai-ai:\r \r
{\r
skills: {\r
entries: {\r
"uandai-ai": {\r
enabled: true,\r
apiKey: "uand_live_…",\r
env: {\r
UANDAI_API_KEY: "uand_live_…",\r
UANDAI_API_ORIGIN: "https://api.uandai.ai",\r
APP_SITE_URL: "https://app.uandai.ai",\r
},\r
},\r
},\r
},\r
}\r
```\r
\r
4. Do **not** echo the full API key back. Tell the user to run `/new` or restart the gateway.\r
\r
5. Optional smoke test: exchange → `GET /v1/auth/me`.\r
\r
**Security:** Prefer a private OpenClaw session for setup messages that contain the key. After setup, operational prompts need no key and no doc URLs.\r
\r
## Before any Uandai action\r
\r
**Read bundled reference files in this skill directory first.** Do not rely on `web_fetch` unless the user explicitly pastes a Uandai doc URL in the current message.\r
\r
| Task | Read |\r
|------|------|\r
| Package workspace zip | `references/agent-packaging.md` |\r
| Exchange, upload, invoke | `references/programmatic-api.md` |\r
\r
Optional live refresh: if the user pastes `{UANDAI_API_ORIGIN}/docs/agent-packaging` or `/docs/programmatic-api` in chat, you may `web_fetch` that URL and prefer it for that session.\r
\r
Default prod origins: API `https://api.uandai.ai` (base `{ORIGIN}/api`); app `https://app.uandai.ai`\r
\r
## Required inputs before API calls\r
\r
Do **not** call Uandai business endpoints until all required inputs for that endpoint are known.\r
\r
| Source | Examples |\r
|--------|----------|\r
| Env / config (setup once) | `UANDAI_API_ORIGIN`, `APP_SITE_URL`, `UANDAI_API_KEY`, exchanged `access_token`; API base = `{UANDAI_API_ORIGIN}/api` |\r
| User message (minimal ZIP upload) | **`agent_name`**, **`description`**, packaged zip |\r
| User message (full ZIP upload) | `agent_name`, `description`, `subscription_price`, `default_model_identifier`, provider test values |\r
| User message (invoke) | `configs`, confirm `agent_id` / `revision_no` |\r
| Prior API response | `agent.id`, `revision_no` from upload `201` body (`{ "agent": { "id", "revision_no", … } }`); activations list for invoke |\r
\r
If any **user-sourced** field is missing or ambiguous:\r
\r
1. Ask the user in one concise message listing only missing fields.\r
2. **Do not** call the endpoint with placeholders, defaults, or guesses.\r
3. Confirm values briefly (never echo secrets).\r
\r
Per-endpoint prerequisite tables and checklists: `references/programmatic-api.md`.\r
\r
## Packaging (OpenClaw workspace → zip)\r
\r
Stable rules (full steps in `references/agent-packaging.md`):\r
\r
1. **Never** zip the live workspace root directly\r
2. **Staging:** copy to `output/\x3Cagent>-workspace/` with exclusions → validate → zip **staging contents only**\r
3. **Output:** `output/\x3Cagent-name>-workspace.zip`\r
4. **Uandai zip layout:**\r
\r
- Personality files (`SOUL.md`, `IDENTITY.md`, …) at **zip root**\r
- No extra parent wrapper folder in the archive\r
- `SKILL.md` only at `skills/\x3Cid>/SKILL.md`, `workspace/skills/\x3Cid>/SKILL.md`, or zip root\r
- Exclude `node_modules/`, `.env`, `logs/`, `memory/`, `.openclaw/`, `output/`, **`uandai-ai/`** — max **50MB**\r
\r
5. **Do not include this skill in the upload zip.** Install on the trainer machine at `~/.openclaw/skills/uandai-ai/` (full folder with `references/`). A copy under `\x3Cworkspace>/skills/uandai-ai/` is for local dev only — exclude it when packaging.\r
\r
6. Report: `📍 Path: MEDIA:\x3Cpath-to-zip>`\r
\r
Common failures: personality only under `workspace/`; nested wrapper folder; misplaced `skill/SKILL.md`; **`uandai-ai/` in zip** (`openclaw_bundle_platform_skill`).\r
\r
## API authentication (exchange required)\r
\r
Raw API keys work **only** on exchange:\r
\r
```http\r
POST /v1/auth/token\r
Authorization: Bearer $UANDAI_API_KEY\r
```\r
\r
Alternative on exchange only: send the raw key in header `X-Uandai-Api-Key` or JSON `{ "api_key": "…" }`.\r
\r
Response: `{ "access_token", "refresh_token", "user" }` — cache in session memory.\r
\r
**All other calls:** `Authorization: Bearer \x3Caccess_token>`\r
\r
On access expiry: `POST /v1/auth/refresh`. On refresh `401`: re-exchange if key still active; else user creates a new key in Settings.\r
\r
Do **not** send `$UANDAI_API_KEY` on upload, invoke, or list endpoints.\r
\r
## After upload (trainer)\r
\r
Upload `201` response shape: `{ "agent": { "id", "revision_no", "name", … } }`.\r
\r
Always return to the user:\r
\r
1. **`agent.id`** — numeric agent id from the response\r
2. **`revision_no`** — current revision from the same response (needed for proposal updates and invoke)\r
3. **Manage link** — `{APP_SITE_URL}/training-center/agents/manage/{agent.id}` where they set subscription price, invokable duration, provider LLM credentials, default model, and remaining marketplace fields\r
\r
Use `APP_SITE_URL` from skill env (setup above). Do not guess the app origin.\r
\r
## Workflows\r
\r
**Trainer — publish end-to-end (minimal ZIP):** setup → read `references/agent-packaging.md` → package zip → collect **`agent_name`** + **`description`** from user → exchange → `POST {UANDAI_API_ORIGIN}/api/v1/agents/upload` with `bundle` → return **`agent.id`** and **`revision_no`** from the upload response → share manage link `{APP_SITE_URL}/training-center/agents/manage/{agent.id}` (pricing, duration, provider LLM, model, invocation settings) → user completes there or via `POST /agents/{id}/proposals` → `PATCH …/proposals/{id}` `status=submitted` when ready\r
\r
**Trainer — full ZIP upload:** collect all ZIP prerequisites from user → exchange → `POST /v1/agents/upload` with `bundle` + `agent_name` + `description` + `subscription_price` + `default_model_identifier` + provider `config_data_type_json` / `test_values_json` (Ollama: `OLLAMA_KEY` + `OLLAMA_URL`) → return **`agent.id`**, **`revision_no`**, and the same manage link\r
\r
**Trainer — minimal ZIP only:** collect **`agent_name`** + **`description`** + packaged zip → exchange → `POST /v1/agents/upload` with `bundle` — do **not** block on price/model at upload time; do **not** use multipart `files` for the minimal path\r
\r
**Subscriber — discover:** exchange → `GET /v1/me/subscriptions` → `GET /v1/me/activations?invokable_only=true`\r
\r
**Subscriber — invoke:** exchange → `GET /v1/me/activations?invokable_only=true` → **collect `configs` from user** (and confirm `agent_id` / `revision_no`) → `POST /v1/executions` → poll `GET /v1/executions/{run_id}` until terminal\r
\r
## Safety\r
\r
- Never log or echo the full API key\r
- On `401`: refresh → re-exchange → key may be revoked\r
- On `402`: user needs credits\r
- API keys cannot create/revoke other keys (Settings / password JWT only)\r
安全使用建议
Install only if you intend to use Uandai automation. Treat UANDAI_API_KEY as a sensitive credential because setup stores it in OpenClaw config, and review generated zip contents before uploading to confirm no private project files are included.
能力标签
能力评估
Purpose & Capability
The documented capabilities match the stated purpose: configure Uandai access, package a workspace zip, upload agents, list subscriptions, and invoke runs.
Instruction Scope
The instructions require user-supplied fields before uploads or invocations, tell the agent not to guess missing values, and avoid echoing secrets.
Install Mechanism
The skill asks to install its full folder globally under ~/.openclaw/skills/uandai-ai or locally for development, which is disclosed and coherent with platform integration use.
Credentials
Packaging scans and copies the workspace into staging, but it is bounded to the current workspace and includes explicit exclusions for secrets, logs, memory, .openclaw, and the platform skill itself.
Persistence & Privilege
Setup persists UANDAI_API_KEY and related settings in ~/.openclaw/openclaw.json; this is sensitive but disclosed, purpose-aligned, and accompanied by guidance not to echo or log the key.
如何使用
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install uandai-ai - 安装完成后,直接呼叫该 Skill 的名称或使用
/uandai-ai触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.3
Sync local uandai-ai docs updates
v1.0.2
Sync local uandai-ai docs updates
v1.0.1
Rebrand: uandai-ai skill id, UANDAI_API_* env vars, uand_live_ API key prefix, X-Uandai-Api-Key exchange header.
v1.0.0
Rebrand from hydra-uandai: uandai-ai skill id, UANDAI_API_* env vars, uand_live_ API key prefix.
元数据
常见问题
Uandai Ai 是什么?
Uandai platform — configure API access, package OpenClaw workspace zip, upload agents, list subscriptions, invoke runs. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 54 次。
如何安装 Uandai Ai?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install uandai-ai」即可一键安装,无需额外配置。
Uandai Ai 是免费的吗?
是的,Uandai Ai 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Uandai Ai 支持哪些平台?
Uandai Ai 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Uandai Ai?
由 Uandai(@uandai)开发并维护,当前版本 v1.0.3。
推荐 Skills