Files
shsf-cli/OpenclawSkill.md
T

4.9 KiB

name, description
name description
shsf Interact with the users shsf instance to manage serverless functions, namespaces, triggers, schedules, and more via the CLI.

SHSF - Selfhostable Serverless Functions; THE CLI

The shsf CLI tool allows you to interact with your shsf instance to manage serverless functions, namespaces, triggers, schedules, and more. Below are the available commands and their descriptions.

Setup

To get started, you need to set up the shsf CLI tool. Follow the instructions below to install and configure it.

  1. Run this
shsf health

this will check the health, and if not setup, it will prompt you to set up the CLI.

Commands

  • shsf count functions: Count your functions. Add --full to list them.

  • shsf count namespaces: Count your namespaces. Add --full to list them.

  • shsf count storages: Count your storages. Add --full to list them.

  • shsf count triggers: Count your triggers. Add --full to list them.

  • shsf create function: Create a new function. (use shsf create function -h first)

  • shsf create namespace: Create a new namespace. (use shsf create namespace -h first)

  • shsf create trigger: Create a new trigger. (use shsf create trigger -h first)

  • shsf delete function <id>: Deletes a specific serverless function by its ID.

  • shsf delete namespace <id>: Deletes a namespace and all its functions by ID.

  • shsf delete trigger <functionId> <triggerId>: Deletes a specific trigger from a function.

  • shsf get function <id>: Get details of a specific function by its ID.

  • shsf get namespace <id>: Get details of a specific namespace by its ID

  • shsf get trigger <functionId> <triggerId>: Get details of a specific trigger from a function.

  • shsf storage create --name <name> --purpose <purpose>: Create a new storage.

  • shsf storage delete --name <name>: Delete a storage.

  • shsf storage list: List all storages.

  • shsf storage get-items --name <name>: List all items in a storage.

  • shsf storage set-item --name <name> --key <key> --value <value> [--expires <expires>]: Set a storage item (value can be JSON).

  • shsf storage delete-item --name <name> --key <key>: Delete a storage item.

  • shsf storage clear-items --name <name>: Clear all items from a storage.

  • shsf update function <id>: Update a specific serverless function by its ID. (use shsf update function -h first)

  • shsf update namespace <id>: Update a specific namespace by its ID. (use shsf update namespace -h first)

  • shsf update trigger <functionId> <triggerId>: Update a specific trigger from a function. (use shsf update trigger -h first)

  • shsf file create: Create a file in a storage. (use shsf file create -h first)

  • shsf file overwrite: Overwrite an existing file in a storage. (use shsf file overwrite -h first)

  • shsf file delete: Delete a file from a storage. (use shsf file delete -h first)

  • shsf file list: List files in a storage. (use shsf file list -h first)

Instructions

Use these commands for when you need to interact with shsf from the command line. Its faster than using the ui for almost all ops.

Get the ui url with:

shsf uiurl

Available UI Routes

Below are the main routes you can use in the SHSF web UI. These are not clickable links, but you can navigate to them in your browser.

General

  • /: Home Page

Documentation

  • /docs: Documentation

Account

  • /account: Account Settings
  • /login: Login
  • /register: Register

Functions

  • /functions: Shows your functions, grouped by their respective namespaces (requires auth).
  • /functions/:id: View details for a specific function (requires auth).

Other

  • /admin: Admin dashboard (admin only, requires authentication)
  • /storage: Storage management (requires auth)
  • /cron-jobs: Cron job management (requires auth)
  • /access-tokens: Access token management (requires auth)
  • /guest-users: Guest user management (requires auth)
  • /guest-access: Guest access portal

Example

After creating a function and receiving an ID (for example, 81), you can share the following URL with your human so they can view the function in the UI:

[UI_URL]/functions/[ID]

Update

Update with your package manager of choice. Preferably pnpm:

pnpm add -g shsf-cli

Note that new features are often released and a user might tell you to do things that are only in the latest version. So its a good idea to always keep it updated.

It is also good practice to update this skill every now and then, as it might get new features that are not documented here yet. Download the latest version with:

curl https://raw.githubusercontent.com/Space-Banane/shsf-cli/refs/heads/main/OpenclawSkill.md > /tmp/OpenclawSkill.md

and then replace the old one with the new one using mv.

Missing a feature?

Features might be not documented yet, as this skill document rarely updates. Use the shsf -h command to see options and features.