olares-market
Olares Market via olares-cli market — install, upgrade, uninstall, clone, stop, resume, restart apps; catalog, status, chart upload/download, --watch. Use for Olares app store, my apps, 我的应用, install app, restart app, upload chart, download an app chart.
How do I install this agent skill?
npx skills add https://github.com/beclab/olares --skill olares-marketIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill provides instructions for managing applications on the Olares platform using the olares-cli market command. It is safe for its intended use, but because it processes user-provided data to execute system commands, it has a standard surface for indirect prompt injection.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
market (App-store v2)
Shared front door: load
../olares-shared/SKILL.mdfor suite routing, active-profile selection, platform entry points, and the auth proceed/stop gate. Load its auth reference only when login, profile switching, token storage, or auth recovery is actually needed.
Use olares-cli market <verb> --help for authoritative syntax.
When to use
- Browse the catalog or inspect "my apps".
- Install, upgrade, uninstall, clone, stop, resume, restart, or cancel an app.
- Inspect lifecycle status or manage uploaded charts.
Mental model:
marketis lifecycle and inventory at the app-store level (install / upgrade / chart push). For runtime K8s objects, settings, or metrics, route to a sibling.
A model application is installed here like any other — install for a pinned model, clone for an engine base whose model is chosen on the form. What is different is what happens next: olares-router notices the application and creates the gateway provider that routes to it, then owns the model's own download, engine state and card.
Fast paths
| Task | Read | First command |
|---|---|---|
| Install a catalog app and know when it started | watch and diagnosis routing | olares-cli market install <app> --watch --watch-timeout 1m -o json, then read .status |
| See what this user has installed | this file | olares-cli market list --mine -o json |
| Follow one app's lifecycle | this file | olares-cli market status <app> |
| Take an app off, pause it, or stop one mid-flight | uninstall, stop, resume, cancel | olares-cli market status <app> -o json to see whether it has settled |
| Put a chart you built on this Olares | publishing a chart | olares-cli market upload ./chart.tgz then olares-cli market install <name> -s upload |
--watch polls, so a timeout means "not terminal yet" rather than failure, and running means every entrance answers TCP rather than that the app works. An install that goes wrong usually lands on downloadFailed, not installFailed — the common faults (an image tag that does not exist, an unreachable registry) fail during the pull, before the install starts — and that difference decides what can clear it: downloadFailed accepts only a fresh install, while installFailed accepts an uninstall.
.statusjudges the command,.finalStatenames the app's landing state, and only the first is verb-independent. Under--watch,.statusissuccessonce the row settles the way this verb intended, so that plus the exit code is what a script tests..finalStateis worth reading when the state itself matters — butrunningis the settling state only forinstall,upgradeandrestart; a successfulstoplands onstoppedand a successfuluninstallonuninstalled, so arunningcheck copied from an install example reports both as failures. Without--watchthere is no.finalStateand.statusisaccepted, meaning the server took the request, not that the app is up.
Verb index
| Family | Verbs | Read when triggered |
|---|---|---|
| catalog + inventory | list, get, categories, status | list, --mine, and status |
| lifecycle — putting an app on | install, upgrade, clone | All three take -s and --compute-mode, and clone's new name is .targetApp — install, upgrade, clone |
| lifecycle — taking one off or pausing it | uninstall, stop, resume, cancel | None take -s; uninstall cancels first when the app is mid-flight, and cancelling resuming / upgrading needs Olares 1.12.7+ — uninstall, stop, resume, cancel |
| restart | restart | restart, compute binding, and baseline watch |
| charts | upload, delete | Both pin the bucket to upload; a published version's bytes are immutable — publishing a chart |
| charts | download | The read side, and the only one of the three that takes -s — pulling a chart back out |
| watching / stuck operations | lifecycle --watch, status --watch | watch and diagnosis routing |
Source resolution (cross-cutting)
market.olaresis the public catalog and the default for browse and source-aware lifecycle verbs.uploadis the Local Sources bucket.uploadanddeletealways use it;downloaddefaults to it.cliandstudioare legacy/development sources used for read-only inventory.--all-sourcesis read-only.uninstall,stop,resume, andrestartresolve the user's state row rather than accepting a source.- Pass
cancel --sourceonly when the state row is gone or unreadable and the user explicitly knows the source.
App lifecycle / state machine
Load the shared application-state model when interpreting states, transitions, fail TTLs, serialized downloads, or running.
State and OpType are separate. After a mutation, an old terminal-looking state can remain visible before OpType changes. Mutating watchers therefore require the requested operation to be observed before accepting success; uninstall may also succeed when the row disappears. status and cancel are intentionally operation-agnostic.
Inventory decisions
- "My apps" →
market list --mine; this includes useful transitional and failure rows, not only completed installs. - One app's lifecycle →
market status <app>. - Running apps →
market status --all-sources, then filterSTATE=running. - Catalog discovery →
market list.
Safety and escalation
- Treat the user's named lifecycle request as task-scope authorisation. Within an authorised deploy/debug loop, install, upgrade, restart, uninstall and clean reinstall do not need repeated confirmation.
- Ask again when the app/source is ambiguous, deletion expands to user data, or the action is outside the authorised task.
- Compute bindings come from
settings compute list; do not invent node/device identifiers. - A stuck lifecycle operation is a cross-command diagnosis: inspect status, then use
olares-doctorfor pods, events, logs, images, and resources. - Stop when credentials, required environment values, compute choices, or the target app/source are ambiguous. Follow the shared auth gate for authentication failures.
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/beclab/olares/olares-market">View olares-market on skillZs</a>