Zorox из терминала

Тот же продукт без браузера: загрузить документ, прочитать оформление образца, показать отклонения, дать агенту задачу. Полезно, когда работа повторяется или когда нужно увидеть, что лежит в файле на самом деле.

Установка

Нужен Node 20 или новее. Пакет ставится глобально — дальше команда zorox доступна в любом каталоге.

npm i -g zorox
zorox login [email protected]
zorox --help

Дальше в примерах команды пишутся коротко — whoami вместо npm run cli -- whoami.

Вход

Сессия сохраняется в ~/.config/zorox-cli/session.json и переживает перезапуск терминала. Пароля нет — только код из письма. В сборке и в кроне письмо получать некому: там задайте ключ ZOROX_API_KEY=zx_… из настроек продукта, раздел «Разработчику». Ключ отзывается по одному, не трогая остальные ваши доступы.

  • login

    Войти по коду из письма.

  • key

    Ключи для сборки и крона: `key list`, `key new "для чего"`, `key revoke <id>`. Выпущенный ключ показывается один раз: в базе хранится только его отпечаток.

    zx_9Kd3…  сборка              не использовался
  • whoami

    Чей это терминал, какой тариф и сколько осталось.

    [email protected] · тариф free · баланс 25381 μUSD

Документы

  • docs

    Список документов с идентификаторами и размерами.

  • new

    Завести документ по форме из каталога и сразу заполнить его: `new --template raspiska "Иванов занял у Петрова 50 000 до 1 марта"`. Без рассказа создаётся пустой бланк.

    ✓ 6f2c…  Расписка 02.09.2026.docx
  • upload

    Загрузить .docx в облако.

  • download

    Скачать документ в файл.

  • delete

    Удалить документ.

Что внутри файла

Разбор идёт по распакованному DOCX, а не по тому, как файл выглядит в редакторе: видно то, что увидит нормоконтроль.

  • inspect

    Абзацы, шрифты, поля страницы, таблицы, картинки. И сразу скажет, если файл вообще не DOCX.

    абзацев:            19
    таблиц:             0
    картинок:           0
    колонтитулы:        0 верх / 0 низ
    поля (см):          верх 2.54, низ 2.54, лево 2.54, право 2.54
    красная строка:     нет
    интервал:           не задан
    ориентация:         книжная
    жирных прогонов:    6
  • style

    Прочитать оформление образца: что распозналось и что распознать не удалось. С флагом `--save "Название"` оформление остаётся у вас и дальше применяется по слагу. Сохранённое приватно: образец чужой, публиковать его молча нельзя.

    распознано: шрифт, кегль, выравнивание
    
    {
      "paragraph": {
        "font": "Arial",
        "size": 11,
        "align": "left"
      }
    }
  • check

    Показать отклонения, ничего не меняя. Проверяется только то, что образец действительно задаёт.

    сверка с образцом: 8 абз. основного текста
    сверялось: шрифт, кегль, выравнивание
    отклонений нет
  • templates

    Состояние каталога шаблонов: формат по сигнатуре, число полей, замечания.

    не открывается: 13 · с полями: 1 · требуют внимания: 29

Агент

Ход агента идёт по-настоящему: он читает документ, предлагает правки и применяет их тем же кодом, что и браузер. Ход стоит денег с баланса.

  • chat

    Один ход агента с применением правок.

    применено: 1 · не легло: 0 · подтверждений: 1
    ✓ сохранён в облако
  • apply

    Применить готовые команды без агента — бесплатно.

  • matrix

    Прогон сценариев: маленький документ, живой ход агента, проверка по распакованному DOCX — не по ответу агента. С --repeat N считает, как часто один и тот же запрос даёт разное.

  • replay

    Прогон применения по записанным ходам: без сети и без модели.

  • fixtures

    Собрать маленькие документы — по одной возможности на файл.

Флаги хода агента

--model free | pro | max
Слот модели. По умолчанию Быстрая; тариф может не пустить. Прежние имена (haiku/sonnet/opus) тоже принимаются.
--no-save
Не сохранять в облако. По умолчанию сохраняет.
--out <файл>
Записать результат ещё и на диск.
--diff
Показать, что именно изменилось в файле.
--reject
Отклонять карточки подтверждения — сухой прогон.
--thread <id>
Продолжить существующий разговор.

Коды возврата

Их читают скрипты, поэтому это часть договора, а не деталь вывода.

0
сделано
1
не получилось: нет сессии, файл не читается, сеть
2
команда отработала, но ничего не изменилось — агент не применил ни одной правки или проверка нашла отклонения

Если что-то пошло не так

Всё перечисленное встречено вживую, а не придумано для полноты.

unknown compression type 3332
старый .doc под именем .docx. С 24.08 CLI говорит это словами, но чужие инструменты — нет: число это байты заголовка OLE2.
403 model_not_in_plan
слот не входит в тариф: pro требует Pro, max — Max.
401 на любой команде
сессия истекла — войдите заново. Токен лежит в ~/.config/zorox-cli/session.json без имени куки: если вписать его руками вместе с zorox_auth=, получится двойной префикс и снова 401.
правки исчезли после прогона
документ был открыт в браузере: его автосохранение выкладывает свою копию поверх. Закройте вкладку перед работой из терминала.

Посещения мы считаем обезличенно — это часть работы сервиса. Расширенная аналитика дополнительно записывает сеанс: что вы видели на странице и что набирали в переписке с агентом. Текст документа в запись не попадает. Подробно — в .