abcli
Original:🇺🇸 English
Translated
Interact with AstroBox through the command-line interface. Use this skill whenever the user wants to control AstroBox, manage devices, browse providers, download resources, install files, or check connection status. If the task involves AstroBox operations, ALWAYS use abcli via npx instead of trying to manipulate AstroBox internals directly. Trigger on mentions of AstroBox, device connection, authkey, provider browsing, resource download, watchface/app installation, or anything related to managing the AstroBox desktop app.
2installs
Added on
NPX Install
npx skill4agent add astralsightstudios/astroboxskills abcliTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →abcli — AstroBox CLI
abcli is the official command-line interface for AstroBox. Any task that involves controlling or querying AstroBox should go through abcli rather than direct file manipulation or API calls.
Installation
abcli is distributed on npm as . Always run it via npx — no global installation needed:
astrobox-clibash
npx astrobox-cli <command> [options]If the user has it installed locally in the project, use the local binary:
bash
pnpm cli <command> # if in AstroBoxCli repoRequires Node.js >= 20 and the AstroBox desktop app to be running.
When to use
Use abcli for any AstroBox-related task:
- Launching AstroBox ()
open - Checking if AstroBox is running / listing connected devices ()
status - Managing saved devices: list, show details, connect new ones ()
device - Browsing resource providers: list providers, check state, categories, refresh ()
provider - Searching/filtering resources by page, keyword, category, sort ()
provider page - Getting resource details and download links (,
provider item)provider download - Installing local resource files ()
install
Do not use abcli when:
- AstroBox is not installed or not running (API at will be unreachable)
127.0.0.1:10721 - The user explicitly asks to edit AstroBox source code or config files directly
Quick reference
| Task | Command |
|---|---|
| Launch AstroBox | |
| Check status | |
| List devices | |
| Show device details | |
| Connect device | |
| List providers | |
| Provider state | |
| Categories | |
| Refresh provider | |
| Total items | |
| Browse page | |
| Search by keyword | |
| Item detail | |
| Download link | |
| Install local file | |
Core workflows
Workflow: Connect a new device
bash
npx astrobox-cli device list # see existing devices
npx astrobox-cli device connect \
--name "Xiaomi Smart Band 9 Pro C692" \
--addr "3C:AF:B7:ED:C6:92" \
--authkey "your-authkey" # user must tap confirm on device
npx astrobox-cli device show 3C:AF:B7:ED:C6:92 # verifyWorkflow: Find and download a resource
bash
npx astrobox-cli provider list # pick provider
npx astrobox-cli provider refresh OfficialV2 # refresh cache before search
npx astrobox-cli provider page OfficialV2 \
--keyword "search-term" --limit 20 # search by keyword
npx astrobox-cli provider item OfficialV2 <id> # inspect details, get device key
npx astrobox-cli provider download OfficialV2 \
--id <id> --device <key> # get download URLWorkflow: Full install (search → download → install)
bash
# 1. Check AstroBox and list devices
npx astrobox-cli status
npx astrobox-cli device list
# 2. If device is disconnected, get authkey from saved device and reconnect
npx astrobox-cli device show <addr> # extracts authkey
npx astrobox-cli device connect \
--name "<name>" --addr "<addr>" --authkey "<key>"
# 3. Search, download, and install the resource
npx astrobox-cli provider refresh OfficialV2
npx astrobox-cli provider page OfficialV2 --keyword "<name>" --limit 20
npx astrobox-cli provider item OfficialV2 <id> # note the device key from Downloads
npx astrobox-cli provider download OfficialV2 \
--id <id> --device <key>
# 4. Download the file (url may need URL-encoding for spaces)
curl -L -o "resource.bin" "<download-url>"
# 5. Install through AstroBox
npx astrobox-cli install "./resource.bin"Workflow: Check AstroBox health
bash
npx astrobox-cli status # should show "AstroBox: connected"If it shows , tell the user to launch AstroBox first.
unavailableParsing output
abcli outputs plain text, not JSON. Read for field extraction patterns.
references/output-parsing.mdKey patterns:
- Device lines:
- <name> (<addr>) [<status>] - Page items:
[<restype>] <name>\n id: <id> - Provider download:
<field>: <value>
Important notes
- Always refresh before searching: before using
provider refresh <name>, especially for OfficialV2. Provider caches can be stale.--keyword - Use for name searches: Do NOT pipe
--keywordthroughprovider page. Use the built-ingrepflag.--keyword - Get authkey from : If a device is already saved but disconnected,
device showreveals its authkey. No need to ask the user.device show <addr> - Device key comes from : The
provider itemsection lists device keys likeDownloads:,xmb9p,xmb10. Use the correct one inxmrw5.provider download --device <key> - Install returns "queued": outputs
npx astrobox-cli install. The actual transfer happens asynchronously. Check the device screen for progress.{"ok": true, "message": "queued"} - npx concurrency: Running multiple commands simultaneously can cause npm cache conflicts (
npx astrobox-cli). If this happens, clearENOTEMPTYand retry.~/.npm/_npx/*
Error handling
| Error | Meaning | Action |
|---|---|---|
| Desktop app not running | Ask user to launch AstroBox |
| Invalid install path | Verify path |
| Address not in list | Run |
| Wrong type | Only |
See for the full error catalog.
references/errors.mdCommand details
For per-command usage, arguments, options, and output examples, read .
references/commands.mdReference index
- — Full command reference
references/commands.md - — Output format parsing guide
references/output-parsing.md - — Error catalog and recovery steps
references/errors.md