agentCLAWHUBUnverified

Olares Files (olares-cli files)

Olares Files (olares-cli files) — manage files on an Olares system from the command line, scoped to the active Olares ID. Covers list (ls), upload, download,...

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-files
  1. Install using `clawhub skill install s1718vftp5x2gwbtzenpt3kxch87k6j0:olares-files` 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-files before using production credentials.

Contract: missing

curl -s "https://www.xpersona.co/api/v1/agents/clawhub-olares-olares-files/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

143,055 characters of source documentation, loaded on request.

Extracted files

5 files captured from the source.

SKILL.md

---
name: olares-files
version: 4.0.1
description: "Olares Files (olares-cli files) — manage files on an Olares system from the command line, scoped to the active Olares ID. Covers list (ls), upload, download, cat, edit (open in $EDITOR), mkdir, rm, cp, mv, rename, chown (POSIX owner uid get/set), folder share (internal cross-Olares-ID, public link with password + expiration, SMB Samba), mount / unmount / favorite external SMB servers, and Sync (Seafile) repo CRUD — all against the per-Olares-ID files-backend on Olares (drive/Home, drive/Data, sync, cache, external, awss3, dropbox, google, tencent, share). Use when the user mentions Olares, Olares ID, Olares Files, olares-cli files, LarePass Files on Olares, drive, Home, Data, sync, cache, uploading / downloading / listing / editing remote files on Olares, in-place rename, POSIX file ownership, sharing a folder with another Olares user (by Olares ID), public link with password / expiration, SMB / Samba network shares, the LarePass 'Connect to Server' dialog, or Sync (Seafile) libraries."
metadata:
  requires:
    bins: ["olares-cli"]
  cliHelp: "olares-cli files --help"
---

# files (per-user files-backend)

**CRITICAL — before running any verb here, MUST use the Read tool to read [`../olares-shared/SKILL.md`](../olares-shared/SKILL.md) for profile selection, login, and 401/403 recovery rules.**

> **Source of truth for flags & wire shapes is always `olares-cli files <verb> --help`.** This file only carries what `--help` cannot give: the cross-cutting frontend-path concept, the trailing-slash convention, the five client-side hard constraints, and the verb index.

## Core concept: the 3-segment frontend path

Every resource on the per-user files-backend is addressed by:

```
<fileType>/<extend>[/<subPath>]
```

| Segment | Meaning |
|---------|---------|
| `fileType` | Storage class (lowercase, case-sensitive): `drive`, `cache`, `sync`, `external`, `awss3`, `dropbox`, `google`, `tencent`, `share`, `internal` |
| `extend` | Volume / repo / account inside that class. **Case-sensitive.** Drive: only `Home` or `Data`. Cache / external: node name. Sync: seafile repo id. Cloud (`awss3`/`dropbox`/`google`/`tencent`): account key |
| `subPath` | Path inside `extend` (root if omitted). Leading `/` is implicit |

Examples: `drive/Home/`, `drive/Home/Documents/report.pdf`, `sync/<repo_id>/notes/`, `awss3/<account>/<bucket>/key.txt`.

> Drive's `extend` MUST be `Home` or `Data` exactly — `home` is rejected with `invalid drive type`.

### Per-verb namespace support

| Verb | Supported namespaces |
|------|----------------------|
| `ls` / `cat` / `download` / `rm` / `rename` | all of `drive`, `cache`, `sync`, `external`, `awss3`, `google`, `dropbox`, `tencent` |
| `edit` | `drive`, `sync`, `cache`, `external` only (cloud / tencent / share / internal refused) |
| `mkdir` | all of `drive`, `cache`, `sync`, `external`, `awss3`, `google`, `dropbox`, `tencent` |
| `cp` / `mv`

_meta.json

{
  "ownerId": "kn7153k9wp5dwxsm6getv104r985vrf5",
  "slug": "olares-files",
  "version": "4.0.1",
  "publishedAt": 1780034074377
}

references/olares-files-chown.md

# files chown

> **Prerequisite:** Read [`../../olares-shared/SKILL.md`](../../olares-shared/SKILL.md) and the parent [`../SKILL.md`](../SKILL.md) first.
> **Flags & wire shape:** `olares-cli files chown --help`.

Get or set the POSIX owner UID of a file / directory. CLI counterpart of the LarePass web app's "Permission" tab.

## Modes

| Form | What it does |
|---|---|
| `files chown <path>` | GET — print the current uid |
| `files chown <path> --uid <int>` | PUT — replace the uid |
| `files chown <path> --uid <int> -r` | PUT — recurse into children |

## UID conventions (LarePass presets)

| UID | Meaning |
|---|---|
| `0` | Root (system; only set this if you know why) |
| `1000` | User (the default LarePass user; matches the GUI's "User" preset) |

Any integer is accepted, but these are the values the GUI surfaces.

## Supported namespaces (allow-list)

`drive/Home/<sub>`, `drive/Data/<sub>`, `cache/<node>/<sub>` only.

Refused namespaces:

| Namespace | Why |
|---|---|
| `sync/<repo_id>/...` | Seafile permissions live on the library itself — use `files repos` |
| `external/<node>/<volume>/...` | LarePass GUI hides the Permission tab for external mounts |
| `awss3` / `dropbox` / `google` / `tencent` | Object stores have no POSIX uid concept |

## Safety constraints

- **Destructive when `--uid` is provided — confirm intent with the user.** UID changes affect every app that reads the directory.
- **Volume roots are refused** (`drive/Home/`, `drive/Data/`, `cache/<node>/`) — chowning an entire namespace root has too much blast radius. Pick a one-level-deeper path with `-r` if you need to fan out.
- **`-r` recurses** — every descendant gets the new uid. Confirm directory contents with `files ls` first.

## Examples

```bash
# Inspect.
olares-cli files chown drive/Home/Documents/foo.pdf

# Hand a file to root.
olares-cli files chown drive/Home/Documents/foo.pdf --uid 0

# Hand an entire directory tree to the default user.
olares-cli files chown drive/Home/Pictures/Trip2024/ --uid 1000 -r

# Cache namespace.
olares-cli files chown cache/<node>/scratch/build/ --uid 1000 -r
```

## Agent notes

- The GET form is cheap — use it before any PUT to show the user the current uid and confirm the change.
- Inside `-r`, partial-failure behavior is per-server — on an error the server may have already changed some descendants. **Do NOT retry blindly**; re-run the GET form on a few sampled paths to see what landed.

## Common errors

| Symptom | Cause | Fix |
|---|---|---|
| `chown is not supported for this namespace` | sync / external / cloud target | Use `files repos` (sync) or LarePass GUI (external) |
| `refusing to chown a volume root` | `drive/Home/` / `drive/Data/` / `cache/<node>/` | Pick a sub-path |
| 403 from server | Server-side ACL rejection | Confirm via `files ls -ld` (when available) or LarePass that the active user has permission |

references/olares-files-cp-mv.md

# files cp / files mv

> **Prerequisite:** Read [`../../olares-shared/SKILL.md`](../../olares-shared/SKILL.md) and the parent [`../SKILL.md`](../SKILL.md) first.
> **Flags & wire shape:** `olares-cli files cp --help` and `olares-cli files mv --help`.

Copy / move one or more entries between locations. Same wire endpoint (`PATCH /api/paste/<node>/`), different `action`. Cross-volume (drive ↔ sync ↔ external) is supported.

## Safety constraints

- **Destructive (mutates the server) — confirm intent with the user.** `mv` even more so since the source is removed.
- **`<dst> MUST end with `/` (drop-into-directory mode).** Each `<src>`'s basename is appended; preserves the dir / file marker.
- **Renaming via `cp` / `mv` is not supported** — use `files rename` for in-place basename changes, or rename first and then `mv`.
- **Directory sources require `-r`** (Unix-style refusal otherwise).
- **`mv` source rejects protected names** ([quirk #4](../SKILL.md#4-drivehomepictures-music-movies-downloads-documents-code-cache-data-home-ollama-huggingface-are-system-managed)): `mv drive/Home/Pictures/ ...` is refused because moving would unlink a dir that apps depend on. **`cp` (copy) is intentionally NOT gated** — duplicating bytes (e.g. `cp -r drive/Home/Pictures/ drive/Home/Pictures-Backup/`) preserves the original and is fine.
- **`external/<node>/` destinations are rejected** ([quirk #3](../SKILL.md#3-externalnode-is-a-virtual-volume-listing-layer-read-only)) — point at `external/<node>/<volume>/<sub>/`.

## Examples

```bash
# One file → directory.
olares-cli files cp drive/Home/notes.md drive/Home/Documents/

# Recursive directory copy.
olares-cli files cp -r drive/Home/Photos/ drive/Home/Backups/

# Multiple sources into a directory.
olares-cli files cp drive/Home/a.pdf drive/Home/b.pdf drive/Home/Archive/

# Cross-volume (drive → sync repo).
olares-cli files cp drive/Home/notes.md sync/<repo_id>/inbox/

# Move (mv replaces cp where source removal is intended).
olares-cli files mv drive/Home/notes.md drive/Home/Archive/
olares-cli files mv -r drive/Home/Photos/ drive/Home/Backups/
```

## Preflight existence check

Runs BEFORE any PATCH is sent:

- Each `<src>` MUST exist on the server, AND its trailing-slash form must match the actual file/dir kind.
- `<dst>` MUST exist as a directory on the server. **Create it first with `files mkdir -p` if needed** — `cp`/`mv` does NOT auto-create the destination (the auto-rename quirk #1 would land you in `<dst> (1)`).

A typo on either side aborts before the server's task queue sees it.

## Node selection (`--node`)

Each PATCH carries a `{node}` URL segment. Default cascade:

1. `--node` override (per invocation)
2. External / Cache `<extend>` (when the destination is `external/<node>/` or `cache/<node>/` — the GUI's `dst_node || src_node || default` cascade)
3. First entry from `/api/nodes/`

Use `--node` only when you have a specific multi-node deployment with a

references/olares-files-download.md

# files download

> **Prerequisite:** Read [`../../olares-shared/SKILL.md`](../../olares-shared/SKILL.md) and the parent [`../SKILL.md`](../SKILL.md) first.
> **Flags & wire shape:** `olares-cli files download --help`.

Download a file or directory tree from the per-user files-backend.

## Safety constraints

- **Without `--resume` or `--overwrite`, the command refuses to clobber an existing local file** — confirm intent with the user before suggesting `--overwrite`.
- `--overwrite` writes to `<dst>.tmp` then renames, so the previous version stays intact until the new bytes land — safe to suggest after the user confirms.
- Directory mode mirrors the remote tree under the local destination; the remote root's own basename becomes the top-level directory (matches the LarePass folder-download UX).

## Examples

```bash
# One file into the current directory.
olares-cli files download drive/Home/Documents/report.pdf

# Same, but pick a different local name.
olares-cli files download drive/Home/Documents/report.pdf ./Q1.pdf

# Resume an interrupted download (server-driven Range; O_APPEND on the local file).
olares-cli files download drive/Home/Backups/big.tar ./big.tar --resume

# Recursively pull a folder, 4 files at a time (default).
olares-cli files download drive/Home/Documents/ ./out/ --parallel 4
```

## Agent notes

- **`Stat` always lists the parent directory** and finds the leaf in the items array — this is a workaround for [quirk #2](../SKILL.md#2-get-apiresourcesfile-no-trailing-slash-returns-http-500). You never need to suggest "just GET the file URL"; the CLI already handles it.
- **Single-file resume** uses server-driven `Range: bytes=<localSize>-` — there is no sidecar progress file. A Ctrl-C + re-run keeps making forward progress as long as the local file is preserved.
- **Directory downloads parallelize FILES, not chunks** — each file's bytes still stream sequentially. `--parallel N` bounds concurrent file fetches.
- Empty subdirectories are mirrored locally so the tree matches even when a directory has no files.

## Common errors

| Symptom | Cause | Fix |
|---|---|---|
| `<dst> exists; pass --overwrite or --resume` | Local target already on disk | Confirm with user, then `--overwrite` (replace) or `--resume` (continue) |
| `HTTP 500` from a raw resource URL | Quirk #2 — the bare file URL embeds bytes in JSON | Use this verb (which Stats via parent), not a manual `curl` |
| 401/403 | Token rotation or invalidation | See [`../../olares-shared/SKILL.md`](../../olares-shared/SKILL.md) |
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-files",
      "sourceUrl": "https://clawhub.ai/olares/skills/olares-files",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-11T17:09:02.307Z",
      "isPublic": true
    },
    {
      "factKey": "protocols",
      "category": "compatibility",
      "label": "Protocol compatibility",
      "value": "OpenClaw",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-olares-olares-files/contract",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-olares-olares-files/contract",
      "sourceType": "contract",
      "confidence": "medium",
      "observedAt": "2026-10-11T17:09:02.307Z",
      "isPublic": true
    },
    {
      "factKey": "traction",
      "category": "adoption",
      "label": "Adoption signal",
      "value": "1K downloads",
      "href": "https://clawhub.ai/olares/olares-files",
      "sourceUrl": "https://clawhub.ai/olares/olares-files",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-11T17:09:02.307Z",
      "isPublic": true
    },
    {
      "factKey": "latest_release",
      "category": "release",
      "label": "Latest release",
      "value": "4.0.1",
      "href": "https://clawhub.ai/olares/olares-files",
      "sourceUrl": "https://clawhub.ai/olares/olares-files",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-05-29T05:54:34.377Z",
      "isPublic": true
    },
    {
      "factKey": "handshake_status",
      "category": "security",
      "label": "Handshake status",
      "value": "UNKNOWN",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-olares-olares-files/trust",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-olares-olares-files/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-files",
      "sourceUrl": "https://clawhub.ai/olares/olares-files",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-05-29T05:54:34.377Z",
      "isPublic": true
    }
  ]
}

Record generated Oct 11, 2026.

Sponsored

Ads related to Olares Files (olares-cli files) and adjacent AI workflows.