Skip to content

Latest commit

 

History

History
235 lines (185 loc) · 9.61 KB

README.md

File metadata and controls

235 lines (185 loc) · 9.61 KB

Command Line Interface

computing-provider [global-flags] <command> [command-flags] [arguments]

--help works on every command and subcommand, and is authoritative — this page is a map, not a substitute.

Global flags

Flag Description
--repo <path> Provider repository directory (default ~/.swan/computing)
--version Print version information
--help, -h Help for any command or subcommand

Environment variables

Variable Effect
CP_PATH Repository directory; same as --repo
INFERENCE_API_KEY Provider API key, overriding config.toml
INFERENCE_WS_URL WebSocket URL, useful for local development

Secrets belong in $CP_PATH/.env rather than config.toml — see configuration.md.

Commands

Command Purpose
setup Interactive setup wizard: auth, config, model discovery
run Start the provider
selfcheck Audit this node for the failures that earn nothing
dashboard Web UI for monitoring and settings
inference Status, config, collateral, beneficiary, model selection
models Catalog, weight download, verification, local model files
alerts Test the configured alert transports
cliproxy Inspect and authenticate a local CLIProxyAPI backend
research Hardware and GPU information, benchmarks
init Create a provider repository without the wizard
info, state Provider information and current state
version, update Show the installed build; install a newer release

setup

The recommended path for a new provider. Start your model server first — the wizard discovers what is already running.

computing-provider setup                        # full interactive setup
computing-provider setup --skip-discovery       # skip model discovery
computing-provider setup --api-key=sk-prov-xxx  # use an existing key

computing-provider setup discover               # only discover model servers
computing-provider setup login                  # log into an existing account
computing-provider setup signup                 # create an account

run

computing-provider run
computing-provider run --host 0.0.0.0   # only on a trusted network
computing-provider run --no-auth        # development: no control token

Starts the WebSocket connection to Swan Inference, registers the models in models.json, and serves the local REST API. Shuts down cleanly on SIGTERM/SIGINT.

--no-auth stops the API asking for $CP_PATH/dashboard.token on writes and settings reads, so a developer iterating against a local daemon is not pasting a token into every curl and every fresh browser tab; the dashboard shows Auth off in place of Unlock controls. It is refused unless --host is a loopback address, and it trusts every user on the machine — anyone with a shell there can take models out of service — so keep it off a shared host. The dashboard proxies to that API, so while it is open the dashboard command refuses a non-loopback --host as well.

selfcheck

computing-provider selfcheck
computing-provider selfcheck --json           # machine-readable
computing-provider selfcheck --no-inference   # skip the completion probe
computing-provider selfcheck --min-free-gb 50 # disk threshold

Exits non-zero when a check fails, so it works directly as a cron or monitoring check. The daemon runs the same audit on a timer — see configuration.md.

dashboard

computing-provider dashboard                      # http://localhost:3060
computing-provider dashboard --port 8080
computing-provider dashboard --api http://localhost:8085
computing-provider dashboard --host 0.0.0.0       # trusted networks only

Defaults to 127.0.0.1. Read-only for anyone who can reach the listener; writes and settings need the token at $CP_PATH/dashboard.token, entered through Unlock controls.

inference

computing-provider inference status                 # stage, models, earnings, context windows, wallet addresses
computing-provider inference status --json
computing-provider inference config                 # current config, API key masked
computing-provider inference deposit                # collateral instructions
computing-provider inference deposit --check        # current collateral status
computing-provider inference set-beneficiary 0x...  # set the payout wallet, then read it back
computing-provider inference set-owner 0x...        # set the owner wallet — once, cannot be changed
computing-provider inference recommend-models       # rank catalog models by demand
computing-provider inference recommend-models --vram 24 --top 10 --category llm
computing-provider inference keygen                 # generate a provider API key
computing-provider inference request-approval       # request approval to start earning

status also prints the wallet addresses the platform holds — owner and beneficiary, and worker when set — so they can be read on a headless box without opening the dashboard. They are shown in full rather than abbreviated, because the reason to read them back is to confirm the value is the one you intended and a truncated form hides the middle. set-beneficiary reads the stored value back after updating rather than echoing the argument, and warns if what the platform holds differs from what was sent.

set-owner writes the identity address that collateral is looked up against. The platform accepts it only while it is empty — it cannot be changed once set, and there is no self-service path to correct it afterwards. The command therefore reads the current value first and, if an owner is already stored, says so and stops rather than sending a call the platform will refuse. Because the write cannot be undone it confirms before sending; pass --yes to skip the prompt in a script. set-beneficiary needs no such confirmation, since running it again corrects a mistake.

models

computing-provider models catalog          # supported models and local status
computing-provider models catalog --json
computing-provider models download <id>    # fetch weights from HuggingFace
computing-provider models download <id> --dest /mnt/weights
computing-provider models list             # what is on disk
computing-provider models verify           # re-check SHA256 of local weights
computing-provider models rm <id>          # delete local weights

Gated repositories need HF_TOKEN set. See models.md.

alerts

computing-provider alerts test
computing-provider alerts test --message "hello from my node"

Sends through every configured transport, so you find out the SMTP password is wrong now rather than during an outage.

cliproxy

For providers serving through CLIProxyAPI, which turns a personal ChatGPT/Claude/Gemini subscription into an OpenAI-compatible endpoint.

computing-provider cliproxy status            # credentials: provider, account, plan, expiry
computing-provider cliproxy status --probe    # also send one real completion per model
computing-provider cliproxy status --json

computing-provider cliproxy login                      # codex, browser flow
computing-provider cliproxy login --device             # codex, device code (headless boxes)
computing-provider cliproxy login --provider claude    # also: kimi, xai, antigravity

status reads credential metadata only — no token is read or printed — and exits non-zero when a credential is expired or disabled, so it works as a cron check.

--probe is the one that finds real outages. A credential can be unexpired and enabled and still be rejected upstream, and the proxy answers /v1/models from a static registry either way — so the model looks healthy while every completion fails. Only a real completion tells them apart. Probed models come from the models.json entries pointing at --endpoint (default http://127.0.0.1:8317), using the local_model name and the api_key already configured there; name models as arguments to override.

login runs the CLIProxyAPI binary's own OAuth flow (found on PATH, or pass --bin) and leaves the credential where the proxy watches for it, so no restart is needed.

research

computing-provider research hardware        # CPU, memory, disk, GPUs
computing-provider research gpu-info        # GPU details
computing-provider research gpu-info --json
computing-provider research gpu-benchmark   # run a benchmark
computing-provider research gpu-benchmark --gpu 0 --iterations 5

init, info, state

computing-provider init --node-name my-provider --port 8085
computing-provider info    # provider information
computing-provider state   # current state

setup calls init for you; run it directly only when configuring by hand.

version and update

computing-provider version
computing-provider update --check   # report only, change nothing
sudo computing-provider update      # download, verify, replace the binary
sudo computing-provider update --yes

update verifies the download against the release checksums and replaces the binary atomically. It does not restart a running provider. Details and manual signature verification in installation.md.

Next steps