agentCLAWHUBUnverified

Olares Market (olares-cli market)

Olares Market (olares-cli market) — install, upgrade, and manage Olares apps on Olares from the command line. Per-Olares-ID Market app-store v2 mirror of the...

OpenClaw

Rank

62

Safety

84

Downloads

1.0k

Updated

Oct 11, 2026

Version

4.0.1

Source

CLAWHUB

About

What it does, and when to use it.

Capability contract not published. No trust telemetry is available yet. 1K downloads reported by the source. Last updated 10/11/2026.

Avoid when

  • Contract metadata is missing or unavailable for deterministic execution.

Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing

Public facts

Every fact links back to the source it came from.

Vendor
Clawhubvendor · observed Oct 11, 2026
Protocol compatibility
OpenClawcompatibility · observed Oct 11, 2026
Adoption signal
1K downloadsadoption · observed Oct 11, 2026
Latest release
4.0.1release · observed May 29, 2026
Handshake status
UNKNOWNsecurity

Install and run

Setup complexity: low.

clawhub skill install s1718vftp5x2gwbtzenpt3kxch87k6j0:olares-market
  1. Install using `clawhub skill install s1718vftp5x2gwbtzenpt3kxch87k6j0:olares-market` in an isolated environment before connecting it to live workloads.
  2. No published capability contract is available yet, so validate auth and request/response behavior manually.
  3. Review the upstream CLAWHUB listing at https://clawhub.ai/olares/olares-market before using production credentials.

Contract: missing

curl -s "https://www.xpersona.co/api/v1/agents/clawhub-olares-olares-market/snapshot"

Run-check

$0.02 USD

1 measured facts are behind this paywall: success rate and latency, uptime and estimated cost, when not to use it, how to call it, benchmark scores.

Agents pay $0.02 in USDC. A card payment is $0.50, the smallest a card allows.

Documentation

CLAWHUB

141,855 characters of source documentation, loaded on request.

Extracted files

5 files captured from the source.

SKILL.md

---
name: olares-market
version: 4.0.1
description: "Olares Market (olares-cli market) — install, upgrade, and manage Olares apps on Olares from the command line. Per-Olares-ID Market app-store v2 mirror of the Olares Market UI, scoped to the active Olares ID. Covers catalog browsing (list, get, categories), the full Olares app lifecycle (install, uninstall, upgrade, clone, cancel, stop, resume), runtime status, --mine view of the active Olares ID's apps (same set the Market UI's My Terminus tab shows, including in-flight installs / upgrades / failures), upload / delete for local Helm chart packages, and --watch flags that block until the app reaches a terminal state. Use when the user mentions Olares, Olares ID, Olares Market, olares-cli market, Olares app store, installing / upgrading / uninstalling / cloning / stopping / resuming / cancelling an Olares app, 'my Olares apps', '我的应用', upload chart, --watch, or asks 'is <app> installed yet on my Olares' / 'show me my Olares apps'."
metadata:
  requires:
    bins: ["olares-cli"]
  cliHelp: "olares-cli market --help"
---

# market (App-store v2)

**CRITICAL — before doing anything, MUST use the Read tool to read [`../olares-shared/SKILL.md`](../olares-shared/SKILL.md) for profile selection, login, automatic token refresh, and the auth-error recovery table.**

> **Source of truth for flags is always `olares-cli market <verb> --help`.** This file only carries what `--help` cannot give: source resolution, the lifecycle state machine, OpType-vs-State race safety, the verb index, the `-s`/`-a` matrix, and the "what apps do I have" routing.

## Routing

| User intent | Use this skill? |
|---|---|
| "Install / upgrade / uninstall an Olares app" | ✅ yes |
| "What apps do I have?" / "我的应用" | ✅ yes — `market list --mine` |
| "Is `<app>` installed yet?" / "Wait for `<app>` to be running" | ✅ yes — `market status <app> --watch` |
| "Upload my custom helm chart" | ✅ yes — `market upload` |
| "What pods is `<app>` running?" | use [`olares-cluster`](../olares-cluster/SKILL.md) (`cluster application status <ns>`) |
| "Edit my app's entrance / domain / env / ACL" | use [`olares-settings`](../olares-settings/SKILL.md) (`settings apps`) |
| "What's eating CPU on my cluster?" | use [`olares-dashboard`](../olares-dashboard/SKILL.md) (`dashboard overview ranking`) |

> **Mental model:** `market` is **lifecycle and inventory** at the app-store level (install / upgrade / chart push). For runtime K8s objects, settings, or metrics, route to a sibling.

## Verb families

| Family | Verbs | Mutating? |
|---|---|---|
| **catalog** | `list`, `get`, `categories` | no |
| **runtime** | `status` | no |
| **lifecycle** | `install`, `upgrade`, `uninstall`, `clone`, `stop`, `resume`, `cancel` | yes |
| **charts** | `upload`, `delete` | yes |

For verb-specific behavior, **always start with `olares-cli market <verb> --help`**. Then drill into a reference if listed:

| Family | Reference |
|---

_meta.json

{
  "ownerId": "kn7153k9wp5dwxsm6getv104r985vrf5",
  "slug": "olares-market",
  "version": "4.0.1",
  "publishedAt": 1780034080654
}

references/olares-market-charts.md

# market upload / delete (local chart management)

> **Prerequisite:** Read [`../../olares-shared/SKILL.md`](../../olares-shared/SKILL.md) and the parent [`../SKILL.md`](../SKILL.md) first.
> **Flags & examples:** `olares-cli market upload --help`, `olares-cli market delete --help`.

Manage helm chart packages in the SPA's "Local Sources → Upload" bucket.

## Hard-coded source (`upload`)

Both verbs **hard-code the target source to `upload`** — the same bucket the SPA's "Local Sources → Upload" tab writes to. **`-s / --source` is intentionally NOT exposed.**

The history: an earlier revision exposed `-s` on these verbs, and users pushed charts to `cli` or `studio` that were then invisible to the SPA's Local Sources tab (different buckets, same backend). Pinning the source eliminates that footgun. To install/delete from a different bucket, use `market install -s <id>` separately.

## `upload`

```bash
olares-cli market upload ./mychart.tgz                 # single file
olares-cli market upload ./charts/                     # every chart in a directory (no recursion)
olares-cli market upload ./a.tgz ./b.tar.gz            # multiple files
olares-cli market upload ./charts/ -o json             # structured per-file report
olares-cli market upload ./mychart.tgz -q              # exit code only
```

- Accepts `.tgz` or `.tar.gz` files.
- Directory mode uploads every `.tgz` / `.tar.gz` directly under the directory. **Subdirectories are NOT recursed.**
- **Per-file results are summarized at the end.** `-o json` emits a structured report with one entry per file (`status` / `message`).
- **Exit code is the OR of per-file results** — any single failure flips the overall exit non-zero.
- Multipart upload through a dedicated `uploadClient` with no timeout (chart pushes can be slow over large WAN links). The same `refreshingTransport` is shared with the JSON client, so a token refresh on one is immediately visible on the other.

### After upload

Match the chart with an install / delete:

```bash
# Install (must pass -s upload):
olares-cli market install mychart -s upload --version 1.0.0

# Browse what's in the upload bucket:
olares-cli market list -s upload

# Detail of one uploaded chart:
olares-cli market get mychart -s upload -o json
```

## `delete`

```bash
olares-cli market delete mychart                       # every uploaded version
olares-cli market delete mychart --version 1.0.0       # one version
olares-cli market delete mychart -o json
olares-cli market delete mychart -q
```

- **Does NOT uninstall the app if it is running.** Use `market uninstall <app>` first, then `market delete` to also remove the chart from local sources.
- `--version` omitted → every uploaded version of the chart in the `upload` bucket is removed.

> The "delete the chart" and "uninstall the running app" are deliberately separate verbs. A chart can be uploaded without ever being installed; an installed app can keep runn

references/olares-market-lifecycle.md

# market lifecycle (install / upgrade / uninstall / clone / stop / resume / cancel)

> **Prerequisite:** Read [`../../olares-shared/SKILL.md`](../../olares-shared/SKILL.md) and the parent [`../SKILL.md`](../SKILL.md) (especially "App lifecycle / state machine", "OpType vs State", and "`--watch` semantics") first.
> **Flags & examples:** `olares-cli market <verb> --help` for each verb.

The mutating verb family. Every verb here returns an `OperationResult` JSON shape on `-o json`:

```json
{
  "name": "firefox",
  "op": "install",
  "accepted": true,
  "finalState": "running",
  "finalOpType": "",
  "message": "",
  "watched": true,
  "cloneTarget": ""          // only set for `clone`
}
```

## Source-aware vs source-implicit verbs

| Verb | `-s / --source` | Why |
|---|---|---|
| `install`, `upgrade`, `clone` | accepts; defaults to auto-selected source | The chart can live in different sources |
| `uninstall`, `stop`, `resume`, `cancel` | **NOT exposed** | Acts on whichever per-user state row matches the app name, regardless of source |

## `install`

```bash
olares-cli market install firefox                      # auto-selected source, latest version
olares-cli market install firefox --version 1.2.3      # pin version (strict semver)
olares-cli market install firefox -s upload            # install a locally-uploaded chart
olares-cli market install gitea --env GITEA_TOKEN=...  # required envs
olares-cli market install firefox --watch              # block until terminal
olares-cli market install firefox --watch -o json
```

- `--version` defaults to the latest catalog version. Strict semver validated client-side before send.
- `--env KEY=VALUE` (repeatable) for required env vars. Missing required envs surface as `missing required env var(s): KEY1, KEY2 ...` (server returns HTTP 422 / `type=appenv`).
- **To install a locally-uploaded chart, pass `-s upload`** (the bucket `market upload` writes to).

## `upgrade`

```bash
olares-cli market upgrade firefox                      # latest catalog
olares-cli market upgrade firefox --version 1.5.0
olares-cli market upgrade firefox --watch
```

### Pre-flight gates (run BEFORE the PUT request)

Mirrors the SPA's `canUpgrade()`. Bails locally with a self-contained error (formatted via `failOp`, so `-o json` carries it in `.message` and `-q` still surfaces the exit code):

1. **Row exists** — state row found via `Name` or `RawName` (clones included)
2. **State is upgradable** — `running` / `stopped` / `stopFailed` / `upgradeFailed` / `applyEnvFailed`
3. **Newer chart available** — `targetVersion > installedVersion` (semver compare)
4. **App labels don't forbid upgrade** — `disabled-upgrade`, `suspend`, `remove` labels

## `uninstall`

```bash
olares-cli market uninstall firefox                    # implicit source
olares-cli market uninstall firefox --cascade=true     # tear down shared sub-charts (C/S v2 multi-chart)
olares-cli market uninstall

references/olares-market-list.md

# market list / categories / get / status (catalog + runtime)

> **Prerequisite:** Read [`../../olares-shared/SKILL.md`](../../olares-shared/SKILL.md) and the parent [`../SKILL.md`](../SKILL.md) (especially "What apps do I have? routing" and the `-s` / `-a` matrix) first.
> **Flags & examples:** `olares-cli market <verb> --help` for each verb below.

The read-only family — catalog browsing, runtime status, and the `--mine` inventory view.

## `list` — catalog OR inventory

Two modes, selected by `--mine` / `-m`:

| Mode | Without `--mine` | With `--mine` / `-m` |
|---|---|---|
| Endpoint | `/market/data` | `/market/state` |
| Scope | Catalog | Active profile's apps |
| Default source scope | Auto-selected single source (usually `market.olares`) | **All sources** (matches Market UI "My Terminus" tab) |
| Columns | `NAME / TITLE / VERSION / CATEGORIES` | `NAME / TITLE / VERSION / STATE / SOURCE / CATEGORIES` |

```bash
olares-cli market list                          # catalog (auto-selected source)
olares-cli market list -s market.olares         # pin to a source
olares-cli market list -s cli                   # browse a local source
olares-cli market list -c AI                    # filter by category
olares-cli market list -a                       # every source the user has
olares-cli market list --mine                   # what apps does this user have (all sources)
olares-cli market list -m -s cli                # mine, narrowed to one source
olares-cli market list --no-headers             # table without column headers
olares-cli market list -q                       # exit code only
```

### `--mine` filter (matches SPA "My Terminus" exactly)

Hides only **6 SPA-hidden states** (`pendingCanceled`, `downloadingCanceled`, `downloadFailed`, `installFailed`, `installingCanceled`, `uninstalled`). Everything else stays visible — including in-flight installs, transitional states (`upgrading` / `stopping` / `resuming` / `applyingEnv` / `uninstalling`), and post-install failures (`upgradeFailed` / `stopFailed` / `resumeFailed` / `applyEnvFailed` / `uninstallFailed`).

> **"My apps" is intentionally broader than "completed installs only"** because the SPA's My Terminus tab is too. The user clicked something and wants to monitor / retry / cancel the row.

### Version on `--mine` rows

The version column reflects the **chart the user picked for this row**, NOT the catalog latest. If the user installed 1.0.10 and the marketplace catalog has since moved to 1.2.3, this listing surfaces 1.0.10. During an in-flight upgrade, the row may show the target version while `STATE=upgrading`. **Both are intentional — don't "correct" to the catalog version.**

Clones look up the catalog by `rawAppName`, not their per-instance `name` (e.g. `windowsefe992` → catalog row `windows`), so clones still surface the source app's title and categories.

## `categories`

```bash
olares-cli market categories                    # per-source
Github ReposUpdated 2d agoRank 70

AionUi

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

MCPOPENCLAW
Github ReposUpdated 6mo agoRank 70

activepieces

AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents

OPENCLAW
Github ReposUpdated 6mo agoRank 70

cherry-studio

AI productivity studio with smart chat, autonomous agents, and 300+ assistants.

MCPOPENCLAW
Github ReposUpdated 7mo agoRank 70

CopilotKit

The Frontend for Agents & Generative UI. React + Angular

OPENCLAW

Machine-readable data

The same record, as JSON, for agents and crawlers.

{
  "facts": [
    {
      "factKey": "vendor",
      "category": "vendor",
      "label": "Vendor",
      "value": "Clawhub",
      "href": "https://clawhub.ai/olares/skills/olares-market",
      "sourceUrl": "https://clawhub.ai/olares/skills/olares-market",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-11T19:40:26.598Z",
      "isPublic": true
    },
    {
      "factKey": "protocols",
      "category": "compatibility",
      "label": "Protocol compatibility",
      "value": "OpenClaw",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-olares-olares-market/contract",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-olares-olares-market/contract",
      "sourceType": "contract",
      "confidence": "medium",
      "observedAt": "2026-10-11T19:40:26.598Z",
      "isPublic": true
    },
    {
      "factKey": "traction",
      "category": "adoption",
      "label": "Adoption signal",
      "value": "1K downloads",
      "href": "https://clawhub.ai/olares/olares-market",
      "sourceUrl": "https://clawhub.ai/olares/olares-market",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-11T19:40:26.598Z",
      "isPublic": true
    },
    {
      "factKey": "latest_release",
      "category": "release",
      "label": "Latest release",
      "value": "4.0.1",
      "href": "https://clawhub.ai/olares/olares-market",
      "sourceUrl": "https://clawhub.ai/olares/olares-market",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-05-29T05:54:40.654Z",
      "isPublic": true
    },
    {
      "factKey": "handshake_status",
      "category": "security",
      "label": "Handshake status",
      "value": "UNKNOWN",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-olares-olares-market/trust",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-olares-olares-market/trust",
      "sourceType": "trust",
      "confidence": "medium",
      "observedAt": null,
      "isPublic": true
    }
  ],
  "events": [
    {
      "eventType": "release",
      "title": "Release 4.0.1",
      "description": "Migrate ownership from @pengpeng to @olares (no content change vs 4.0.0)",
      "href": "https://clawhub.ai/olares/olares-market",
      "sourceUrl": "https://clawhub.ai/olares/olares-market",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-05-29T05:54:40.654Z",
      "isPublic": true
    }
  ]
}

Record generated Oct 11, 2026.

For crawlers

This page is free to read. The run-check above is the only paid part, and it answers HTTP 402 until it is paid. Everything else here is public.

  • One record, as JSON: card, facts, snapshot, contract, trust.
  • Every agent, one feed: /.well-known/ai-catalog.json
  • What this site sells, and the price: /.well-known/x402
  • Paid run-check: /api/v1/agents/clawhub-olares-olares-market/run-check

Sponsored

Ads related to Olares Market (olares-cli market) and adjacent AI workflows.