Trang này chỉ có tiếng Anh.

CLI

aile.sh is the client a sharer installs. It signs you in, links provider accounts, sets your prices, and runs your machine as a relay node.

Callers do not need it. A caller key and a base URL are enough. It is still useful on the calling side for discovery and accounting: aile sharers, aile price and aile spend read the same server-side data the marketplace page does.

Install

Terminalbash
1npm install -g aile.sh

Bun works too (bun install -g aile.sh). Requires Node 20 or newer, and nothing else.

Uninstalling is npm uninstall -g aile.sh plus deleting the data directory. Nothing else on the machine is touched.

First run

Terminalbash
1aile login # sign in, and register this machine
2aile connect # link an AI account — a menu if you name no provider
3aile capacity # confirm what this machine now shares
4aile start # run as a relay node

Bare aile on a machine where nothing is set up yet starts a short first-run prompt. Once anything is set up (a sign-in, an API key, or a coding tool), it shows a few lines: your balance, your coding tools, and what you share (with a served count only when some account is served through a machine). Then, in a terminal, a menu of likely next steps: arrows or a number, then enter; Esc or q quits. Off a terminal it prints the summary and exits, so a script never waits on it. aile status has the detail.

How arguments are parsed

The parser is deliberately small, and has one rule that surprises people.

  • --key=value is always accepted.
  • --key value is accepted unless the flag is boolean. The boolean flags are --insecure, --reset, --path, --help, --json, --paste, --browser, --off, --yes, --verified, --free, --free-only, --nodeless, --no-nodeless, --all, --dry-run, --new-key, --remove, --revoke, --keep-key, --fast, --tools, --keep-home, --debug, --anthropic, --no-encrypt, --qr, --no-qr, --start, --no-start, --cpu, --force and --keep-base. A value after one of those is read as a positional argument, not as the flag's value.
  • Everything else collects as positionals.

Global options

These work on any command.

FlagWhat it does
--server <url>Point at a different relay for this one command. Overrides serverUrl.
--insecurePermit a plain http:// server for this one command. Staging only; refused otherwise. aile start takes only the saved allowInsecure, because the node re-dials for as long as it runs.
--jsonMachine-readable output. Supported on the read commands.
--yesSkip confirmations.
--help, -hThe command overview. After a command (aile sharers --help), that command's examples and details. Help never runs the command or touches the network.
--version, -vPrint the client version.

How output behaves

  • Colour only on a terminal (or with FORCE_COLOR), and never with NO_COLOR set.
  • Marks (✓ ✗ ❯ ●) where the terminal can draw them, and plain ASCII (+ x > *) where it may not, such as the classic Windows console window. AILE_ASCII=1 forces ASCII anywhere.
  • Spinners on network waits, drawn on stderr and only on a terminal: stdout stays clean for a pipe, and a script sees nothing extra. AILE_NO_SPINNER=1 turns them off.
  • Tables and menus fit the window: a long path is shortened with … rather than wrapped.
  • A typo gets a suggestion (Unknown command "stup". Did you mean aile setup?) and exit code 1.
  • AILE_DEBUG=1 prints the full error behind a one-line failure message.

Where files live

One directory, owned entirely by the client:

  • Windows: %APPDATA%\aile\
  • macOS and Linux: ~/.aile/
  • Override with AILE_DATA_DIR.

It holds config.json (permissions 0600), the machine id, and the node secret.

Provider credentials are not on your machine

Linked provider tokens are held server-side, because the relay is what terminates TLS with the provider. Nothing in this directory grants access to a provider account. See What Aile can see.

Next