← Back to Skills Marketplace
🔌

Uandai Ai

by Uandai · GitHub ↗ · v1.0.3 · MIT-0
cross-platform ✓ Security Clean
54
Downloads
1
Stars
1
Active Installs
4
Versions
Install in OpenClaw
/install uandai-ai
Description
Uandai platform — configure API access, package OpenClaw workspace zip, upload agents, list subscriptions, invoke runs.
README (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

  1. 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.ai or http://127.0.0.1:8000)\r \r
    • APP_SITE_URL — uandai.ai web app origin (no trailing slash; e.g. https://app.uandai.ai or http://127.0.0.1:8080)\r \r
    • UANDAI_API_KEY — full uand_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
  2. Install the full skill folder (SKILL.md + references/) under ~/.openclaw/skills/uandai-ai/ (preferred) or \x3Cworkspace>/skills/uandai-ai/ for local dev.\r \r
  3. Merge into ~/.openclaw/openclaw.json under skills.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
Usage Guidance
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.
Capability Tags
requires-paid-servicerequires-sensitive-credentials
Capability Assessment
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.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install uandai-ai
  3. After installation, invoke the skill by name or use /uandai-ai
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
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.
Metadata
Slug uandai-ai
Version 1.0.3
License MIT-0
All-time Installs 1
Active Installs 1
Total Versions 4
Frequently Asked Questions

What is Uandai Ai?

Uandai platform — configure API access, package OpenClaw workspace zip, upload agents, list subscriptions, invoke runs. It is an AI Agent Skill for Claude Code / OpenClaw, with 54 downloads so far.

How do I install Uandai Ai?

Run "/install uandai-ai" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Uandai Ai free?

Yes, Uandai Ai is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Uandai Ai support?

Uandai Ai is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Uandai Ai?

It is built and maintained by Uandai (@uandai); the current version is v1.0.3.

💬 Comments