Uno Cli

v1.0.0

Uno CLI — Agent Tool Gateway via command line. 2000+ real-world tools accessible with two commands: search → call. Features Device Code OAuth (via ClawdChat...

0· 77·0 current·0 all-time
byAgentrix@lxyd-ai

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for lxyd-ai/uno-cli.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Uno Cli" (lxyd-ai/uno-cli) from ClawHub.
Skill page: https://clawhub.ai/lxyd-ai/uno-cli
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install uno-cli

ClawHub CLI

Package manager switcher

npx clawhub@latest install uno-cli
Security Scan
Capability signals
Requires OAuth token
These labels describe what authority the skill may exercise. They are separate from suspicious or malicious moderation verdicts.
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The name/description (Uno CLI tool gateway) matches the included code and SKILL.md: the CLI communicates with https://clawdtools.uno, implements device-code and API-key auth, searches and calls tools, and stores credentials. Minor inconsistency: registry metadata lists no required env vars, but the SKILL.md and code reference optional env vars (UNO_API_KEY, UNO_API_URL). This is reasonable (they are optional overrides) but worth noting.
Instruction Scope
SKILL.md instructions are narrowly scoped to running the bundled bin/uno.py CLI and performing login/search/call workflows. The instructions explicitly describe where credentials are stored (~/.uno/credentials.json) and how to perform device-code auth; they do not instruct the agent to read unrelated files or exfiltrate data.
Install Mechanism
There is no external install step; the skill is instruction-only with the CLI script included in the package. No downloads, package registry installs, or extraction from untrusted URLs are present in the manifest.
Credentials
The skill does not require any environment variables in the registry metadata, but the code honors an optional UNO_API_KEY and UNO_API_URL. It will accept an API key (via env or login) and store credentials in ~/.uno/credentials.json. That access is proportional for a gateway client, but users should be aware any API key they provide will be sent to and stored for use with the external service.
Persistence & Privilege
The CLI persists credentials under ~/.uno/credentials.json (the code creates the dir and sets 0o700/0o600 permissions). always:false (no forced global inclusion) and autonomous invocation is allowed by default. Persisting a credential file is expected for a CLI client, but it does mean the skill will maintain local state (API keys) between runs.
Assessment
This package appears to be a straightforward CLI client for clawdtools.uno and behaves consistently with its description. Before installing or using it: 1) Confirm you trust https://clawdtools.uno — the CLI will send requests and any API key you provide to that service. 2) If you provide an API key, be aware it will be stored at ~/.uno/credentials.json (file created with restrictive permissions by the script). 3) Do not reuse high-privilege secrets; use a scoped key. 4) If you want extra safety, inspect the full bin/uno.py file locally (it uses only stdlib networking and file I/O) or run the CLI in an isolated environment. 5) After use, you can remove stored credentials with the provided logout/logout --all or by deleting ~/.uno. If you need more assurance, request the full unobfuscated source or a package signed by a known publisher.

Like a lobster shell, security has layers — review code before you run it.

latestvk97ew7q2knr6bhzd747am1z9g184vyg5
77downloads
0stars
1versions
Updated 2w ago
v1.0.0
MIT-0

Uno CLI

Access 2000+ real-world tools via command line. Zero install (Python 3.8+ stdlib only).

Prerequisites

  • Python 3.8+ (pre-installed on most systems)
  • CLI script included: bin/uno.py — no extra install needed

CLI path (relative to this file): bin/uno.py

Authentication

Login once before first use. Credentials are stored in ~/.uno/credentials.json.

# Option A: Two-step login (recommended for agents — non-blocking)
python bin/uno.py login --start
# → Returns JSON: {"status": "pending", "verification_uri_complete": "https://...", "device_code": "xxx", ...}
# Show the URL to the user. After they authorize in a browser:
python bin/uno.py login --poll <device_code>
# → {"success": true, "name": "...", "email": "..."}

# Option B: One-shot interactive (for terminal users — blocks until authorized)
python bin/uno.py login

# Option C: Direct API Key
python bin/uno.py login --key uno_xxxxx

# Switch accounts (multi-account)
python bin/uno.py use                  # list all accounts
python bin/uno.py use <name_or_email>  # switch to specified account

# Logout
python bin/uno.py logout
python bin/uno.py logout --all         # remove all accounts

Env var UNO_API_KEY takes priority over file config (useful for CI).

Auth Flow Details

Uno uses Device Code Flow with ClawdChat SSO:

  1. login --start requests a device code from Uno server
  2. The returned verification_uri_complete URL opens a page where the user logs in via ClawdChat
  3. After authorization, login --poll retrieves an API key
  4. Works perfectly for mobile scenarios (e.g., user on phone with OpenClaw)

Command Reference

All commands output pretty-printed JSON by default. Add --compact for single-line JSON (easier for programmatic parsing).

Status

python bin/uno.py whoami               # current user info (credits, plan, keys)
python bin/uno.py health               # server health check

Search Tools

python bin/uno.py search "weather" [--limit 10] [--mode hybrid|keyword|semantic] [--category dev] [--server weather-free]

Returns tools with input_schema (JSON Schema) — use it to construct correct arguments.

Tool Details

python bin/uno.py tool get <tool_slug>
# e.g. python bin/uno.py tool get amap-maps.maps_weather

Call a Tool

python bin/uno.py call <tool_slug> --args '{"city":"Beijing"}'

Response:

{"success": true, "data": {...}, "meta": {"latency_ms": 234, "credits_used": 1.0}}

Rate a Tool

python bin/uno.py rate <tool_slug> <0-5> [--comment "great tool"]

Browse Servers

python bin/uno.py servers [--query "weather"] [--category search] [--limit 50]

Disconnect Third-party Authorization

python bin/uno.py disconnect <server_slug>
# e.g. python bin/uno.py disconnect github

Revokes the stored OAuth token or API key for a server. After disconnect, the next call will return auth_required again.

API Key Management

python bin/uno.py keys list            # list active API keys
python bin/uno.py keys create          # create a new API key
python bin/uno.py keys delete <key_id> # delete an API key

Agent Workflow

  1. Search first — never guess tool slugs or parameters
  2. Read input_schema from search results to construct correct arguments
  3. Search by capability ("weather", "search", "translate"), not user intent
  4. Use --compact to reduce output size (fewer tokens)
  5. If desc is truncated (ends with ), run tool get <slug> for full description
  6. Check credits with whoami before heavy usage — free plan has 100 daily credits
  7. Handle errors:
    • auth_required with auth_type: "api_key" → tell user to provide an API Key (show get_key_url and fields from response)
    • auth_required with auth_url → show auth_url to user to open in browser for OAuth authorization; after they complete, retry the same call
    • tool_not_found → search again with different keywords
    • insufficient_credits → inform user, show recharge_url
    • Connection errors (timeout, cancelled) → retry once, then inform user
  8. Rate tools after successful calls to improve search quality
  9. When multiple servers offer the same capability (e.g., github vs github-api), prefer the one with higher calls_7d or rating in stats

Output Format

  • Call success: {"success": true, "data": {...}, "meta": {"latency_ms": N, "credits_used": N}}
  • Other success: {"success": true, "data": {...}}
  • Error: {"error": "description", "hint": "...", ...}, non-zero exit code

Detailed Help

python bin/uno.py --help
python bin/uno.py search --help
python bin/uno.py call --help

API Base URL

Default: https://clawdtools.uno. Override with --base-url or env var UNO_API_URL.

Comments

Loading comments...