CLI для Beget API с полным покрытием hosting API из KB (RU+EN) и всех 69 операций Beget Cloud VPS API v1.8.1.
Покрытие namespace: account, domains, dns, ftp, mail, mysql,
backup, cron, sites, stats, vps.
cd /Users/mini/.openclaw/workspace/projects/beget-cli
npm install
npm link # опционально, чтобы вызывать как `beget`
beget --helpbeget auth add main
beget auth use main
beget account info --jsonNon-interactive:
BEGET_API_PASSWORD='***' beget auth add main --login mylogin --no-inputauth add проверяет данные безопасным read-only вызовом user/getAccountInfo
до записи профиля. Нужен именно пароль Beget API, а доступ к API должен быть
разрешён в панели управления. Для подготовки профиля без сети можно явно
пропустить проверку флагом --no-verify.
Cloud API использует отдельный JWT. CLI получает его по паролю аккаунта и хранит только JWT в выбранном профиле:
beget auth cloud-login main --login mylogin
beget auth use main
beget vps regions --json
beget vps configurations --json
beget vps list --json
beget vps get VPS_ID --jsonСоздание и сложные изменения принимают тело из актуальной OpenAPI-схемы:
beget vps create --body-file create-vps.json --dry-run --json
beget vps create --body-file create-vps.json --json
beget vps stop VPS_ID --dry-run --json
beget vps remove VPS_ID --body-json '{"ip_action":"DELETE"}' --dry-run --json
beget vps remove VPS_ID --body-json '{"ip_action":"DELETE"}' --yes --jsonПолное дерево из 69 операций, JWT-поток и правила безопасных мутаций описаны в docs/CLOUD_VPS.md.
- Секреты не передавать через positional args.
- Для mutate-команд есть
--dry-run. - Для рискованных операций (delete/drop/restore) в non-interactive обязателен
--yes. - Cloud-пароль не сохраняется; JWT никогда не печатается.
- Cloud read-запросы могут повторяться при временном сбое, mutate-запросы отправляются ровно один раз.
user/getAccountInfo→beget account infouser/toggleSsh→beget account toggle-ssh
domain/getList→beget domains listdomain/getZoneList→beget domains zone-listdomain/addVirtual→beget domains add-virtualdomain/delete→beget domains deletedomain/getSubdomainList→beget domains subdomain-listdomain/addSubdomainVirtual→beget domains add-subdomain-virtualdomain/deleteSubdomain→beget domains delete-subdomaindomain/checkDomainToRegister→beget domains check-to-registerdomain/getPhpVersion→beget domains php-version-getdomain/changePhpVersion→beget domains php-version-changedomain/getDirectives→beget domains directives-getdomain/addDirectives→beget domains directives-adddomain/removeDirectives→beget domains directives-remove
dns/getData→beget dns list(и shortcutbeget dns ns-get)dns/changeRecords→beget dns change-records(и shortcutbeget dns ns-set)
ftp/getList→beget ftp listftp/add→beget ftp addftp/changePassword→beget ftp change-passwordftp/delete→beget ftp delete
mail/getMailboxList→beget mail mailbox-listmail/changeMailboxPassword→beget mail mailbox-password-changemail/createMailbox→beget mail mailbox-createmail/dropMailbox→beget mail mailbox-dropmail/changeMailboxSettings→beget mail mailbox-settings-changemail/forwardListAddMailbox→beget mail forward-addmail/forwardListDeleteMailbox→beget mail forward-deletemail/forwardListShow→beget mail forward-showmail/setDomainMail→beget mail domain-mail-setmail/clearDomainMail→beget mail domain-mail-clear
mysql/getList→beget mysql listmysql/addDb→beget mysql db-addmysql/addAccess→beget mysql access-addmysql/dropDb→beget mysql db-dropmysql/dropAccess→beget mysql access-dropmysql/changeAccessPassword→beget mysql access-password-change
backup/getFileBackupList→beget backup file-backup-listbackup/getMysqlBackupList→beget backup mysql-backup-listbackup/getFileList→beget backup file-listbackup/getMysqlList→beget backup mysql-listbackup/restoreFile→beget backup restore-filebackup/restoreMysql→beget backup restore-mysqlbackup/downloadFile→beget backup download-filebackup/downloadMysql→beget backup download-mysqlbackup/getLog→beget backup log
cron/getList→beget cron listcron/add→beget cron addcron/edit→beget cron editcron/delete→beget cron deletecron/changeHiddenState→beget cron change-hidden-statecron/getEmail→beget cron email-getcron/setEmail→beget cron email-set
site/getList→beget sites listsite/add→beget sites addsite/delete→beget sites deletesite/linkDomain→beget sites link-domainsite/unlinkDomain→beget sites unlink-domainsite/freeze→beget sites freezesite/unfreeze→beget sites unfreezesite/isSiteFrozen→beget sites is-frozen
stat/getSitesListLoad→beget stats sites-list-loadstat/getSiteLoad→beget stats site-loadstat/getDbListLoad→beget stats db-list-loadstat/getDbLoad→beget stats db-load
0успех1непредвиденная ошибка2usage/validation3auth/credentials4API error5config error6network/timeout/http
npm run self-check