· 12 мин · Практикум Bobcli

Установка bobcli и первый запуск TUI

bobcli — внутренний CLI Bober AI на том же стеке, что и bober: Go и Charm Bubble Tea. Каждый сервис Яндекса — отдельный brick. Это не официальный инструмент Яндекса, а практикум по работе с API из нашего репозитория.

bobcli CLI TUI установка
Установка bobcli и первый запуск TUI

Если вы уже клонировали bober-ai, рядом с сайтом лежит каталог cli/bobcli. Там же — install.sh, Go-бинарник и bricks, которые дергают скрипты из scripts/*.mjs. Ниже — рабочий путь от нуля до осмысленного TUI, без выдуманных флагов.

Зачем отдельный CLI

Вебмастер, Метрика, Cloud, Диск, Wordstat, Direct и GPT живут в разных консолях и OAuth-потоках. В bobcli они собраны как bricks в bricks.go (allBricks()): у каждого свой ID, видимость public | owner и функция Run. Профили прячут private-функции, чтобы на общей машине не светить Direct/GPT/Wordstat.

Сервис = brick. Профиль = что видно. Credentials = что реально открывает API.

Требования

  • Go 1.22+ — сборка бинаря и go run через лаунчер.
  • Клон репозитория с корнем, где есть package.json и скрипт bobcli:install.
  • ~/bin (или каталог из BOBCLI_BIN_DIR) в PATH, чтобы команда bobcli находилась из любой директории.

Внешние бинари вроде yc или yandex-disk нужны только для соответствующих bricks. Их отсутствие не мешает установить сам bobcli — doctor просто покажет пробелы.

Установка

В корне репозитория:

npm run bobcli:install

Скрипт cli/bobcli/install.sh делает три вещи: собирает Go-бинарник в cli/bobcli/bobcli, делает исполняемым cli/bobcli/run и создаёт симлинк $BOBCLI_BIN_DIR/bobcli → …/run (по умолчанию ~/bin/bobcli). Лаунчер run выставляет BOBCLI_REPO на корень репозитория и либо запускает собранный бинарь, либо падает в go run ..

После установки скрипт печатает версию и короткий список bricks. Ожидайте что-то вроде:

installed: /Users/…/bin/bobcli → …/cli/bobcli/run (Go + Bubble Tea)
bobcli 0.2.0 (go+tui)
ok — bobcli  |  bobcli help  |  bobcli profile public

Первый запуск: TUI

Без аргументов открывается dashboard на Bubble Tea:

bobcli

Вкладки:

  • 1 Bricks — список klocek, Enter запускает default-команду brick.
  • 2 Creds — ввод секретов и ссылки на UI Яндекса (Enter — значение, o — открыть UI, d — удалить).
  • 3 Doctor — токены и внешние binaries.
  • 4 Output — результат последнего запуска.
  • 5 Help — краткая справка.

Навигация: Tab / стрелки, Enter, q — выход. Это удобно, когда ещё не помните подкоманды наизусть.

Doctor и список bricks

bobcli doctor
bobcli bricks
bobcli help

doctor сводит наличие ключей из ~/.config/bobcli/credentials.env и бинарей вроде yc. bricks показывает, какие klocek видны при текущем профиле ( / ). help печатает profile, путь config и список видимых bricks с описаниями.

Профиль public на чужой машине

Если нужно отдать терминал коллеге без owner-bricks:

bobcli profile public

Останутся public-bricks (webmaster, metrika, cloud, disk и т.д.). Direct, Wordstat, GPT и прочие owner-элементы скроются. Конфиг пишется в ~/.config/bobcli/config.json; образец — cli/bobcli/config.example.json.

Типичные сбои

  • command not found: bobcli~/bin нет в PATH, либо install не запускали.
  • Go слишком старый — обновите toolchain до 1.22+.
  • Brick «не видит» репозиторий — лаунчер должен стартовать из установленного run, чтобы BOBCLI_REPO указывал на корень с scripts/.
  • Пустой doctor — нормально до OAuth; сначала поставьте ClientID/secret и сделайте обмен (см. статью про OAuth).

Что дальше

Следующий логичный шаг — получить access token для Вебмастера: ClientID и secret сами по себе API не открывают. Затем имеет смысл прогнать bobcli webmaster status и SEO-чеклист. Если делите машину — сразу зафиксируйте profile public.

Шпаргалка команд

npm run bobcli:install
bobcli
bobcli version
bobcli doctor
bobcli bricks
bobcli help
bobcli profile public

bash · bobcli

Не официальная программа Яндекса — внутренний практикум Bober AI Systems по фактам из cli/bobcli.
Telegram Позвонить