frappectl CLI

Командная строка Frappe для агентов: читает документы и отчеты ERP, выполняет SQL на чтение и держит профили без права записи

  • 70 ★ репозитория
  • Последний коммит
  • MIT
CLIОфициальный

Широкий доступ

Почему такой уровень

  • Профили с правом записи создают, изменяют и удаляют документы ERP и вызывают методы сайта, а `query` читает данные через консоль системы
  • Ключ API и секрет открывают доступ к бухгалтерским и клиентским данным сайта
Все причины и проверки

frappe/frappectl

Установка

Работает в

В терминале, через SkillFoxx CLI

npx skillfoxx add cli/frappectl

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Профили с правом записи создают, изменяют и удаляют документы ERP и вызывают методы сайта, а `query` читает данные через консоль системы
  • Ключ API и секрет открывают доступ к бухгалтерским и клиентским данным сайта

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

frappectl — клиент командной строки для REST API v2 системы Frappe версии 16 и новее, сделанный для людей и для ИИ-агентов. Он ставится как `uv tool install frappectl` или `pip install frappectl` и дает две команды: `frappectl` и короткий псевдоним `fr`. Агенту первым делом советуют `frappectl guide`: на одном экране там выбор сайта, основные глаголы, фильтры и запасной путь к сырому API. Команды покрывают документы (`doc list`, `get`, `create`, `update`, `delete`, `submit`, `cancel`, `amend`), типы документов (`doctype list` и `show` показывают схему), отчеты (`report run`), чтение SQL через System Console (`query`, нужна роль System Manager или Administrator), белые списки методов (`method search`, `list`, `show`, `call`), загрузку файлов и произвольные вызовы `frappectl api method/<путь>`. Команда `frappectl assistant` запускает кодинг-агента, настроенного как помощник Frappe. Авторизация идет тремя путями: переменные `FRAPPE_SITE`, `FRAPPE_API_KEY` и `FRAPPE_API_SECRET`, сохраненные профили с секретом в связке ключей системы или OAuth через браузер. Новый профиль по умолчанию только для чтения и отвергает небезопасные методы HTTP до отправки запроса. Вывод в терминале оформлен таблицами, а при канале или флаге `--json` выдается чистый JSON, логи и ошибки идут в stderr.

Для кого. Администраторам и разработчикам Frappe и ERPNext, которые хотят работать с документами сайта из терминала и поручать агенту безопасное чтение данных.

Подходит, если

  • Агенту нужно получить просроченные счета с фильтром по сумме и вывести только имя, клиента и сумму в JSON
  • Перед правкой документа надо посмотреть схему типа командой `frappectl doctype show`
  • На рабочем сайте нужен профиль, который физически не умеет менять данные
  • Отчет Accounts Receivable должен выполняться из скрипта с теми же фильтрами, что у `doc list`
  • Нужно скачать или загрузить файл к документу с флагом `--private`

Не подходит, если

  • Сайт работает на Frappe 15 или старше: клиент рассчитан на REST API v2 версии 16 и новее
  • Нужен интерактивный подтверждающий диалог: сам CLI вопросов не задает, подтверждение остается за вызывающим
  • На машине нет связки ключей и нет возможности задать переменные окружения
  • Нужен интерфейс для конечного пользователя ERP: это инструмент для администраторов и агентов

Пример запроса к агенту

Покажи через frappectl просроченные Sales Invoice на сумму больше 1000: имя, клиента и сумму в JSON

Ограничения

  • Нужен Frappe версии 16 или новее. Для OAuth сайтам без динамической регистрации клиента нужен заранее созданный публичный `--client-id`, а в Frappe 15 и новее она включена по умолчанию.
  • Секрет хранится только в связке ключей ОС, текстового запасного варианта нет: без связки используйте переменные окружения.
  • Сам CLI мутации не подтверждает: защиту дает профиль только для чтения или подтверждение на стороне агента.
  • Команда `query` требует роль System Manager или Administrator, а OAuth нужен терминал и локальный браузер, для безголового запуска он не подходит.

Как отключить. Профиль закрывают командой `frappectl auth configure <имя> --read-only` или удаляют, секрет при этом убирают из связки ключей. Пакет удаляет `uv tool uninstall frappectl` или `pip uninstall frappectl`, а конфигурация лежит в `~/.config/frappe/config.json`.

Частые вопросы

Как установить frappectl?

Выполните `uv tool install frappectl` или `pip install frappectl`. Ставятся две команды: `frappectl` и короткая `fr`. Версию из репозитория ставит `uv tool install git+https://github.com/frappe/frappectl`.

Как сделать подключение безопасным для агента?

Заведите профиль только для чтения: он отвергает небезопасные методы HTTP до отправки запроса. Для переменных окружения задайте `FRAPPE_READ_ONLY=1`.

Что показывает frappectl guide?

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

Какой формат вывода у frappectl?

В терминале это таблицы с цветом, при канале или флаге `--json` чистый JSON. Логи и ошибки идут в stderr, коды выхода: 0 успех, 1 сбой, 2 ошибка вызова.

Как выполнить SQL?

Командой `frappectl query "select count(*) from tabUser"`: запрос идет на чтение через System Console. Нужна роль System Manager или Administrator.

Обсуждение

Вопросов и отзывов пока нет.

Один бинарник Go подключается к SQL-базе и отдает ее как REST API с ролями и как MCP-сервер для Claude Code, Cursor и VS Code

MCP-серверШирокий доступ173Звезды репозитория
Официальный

Мгновенный REST и MCP поверх PostgreSQL: агент читает данные существующей базы через MCP-эндпоинт без написания бэкенда

MCP-серверРасширенный доступ4,6 тыс.Звезды репозитория

CLI проверяет архитектуру Python-сервиса по документированным правилам, а скиллы учат агента писать код в этих рамках.

CLIМинимальный доступ199Звезды репозитория

Терминальный REST-клиент с коллекциями в YAML рядом с кодом и скиллом, по которому агент сам пишет и гоняет запросы

CLIРасширенный доступ402Звезды репозитория

Скилл FastAPI

FastAPI skill

Выбор редакции

Официальный скилл FastAPI, который поставляется вместе с пакетом и учит агента писать код под установленную версию

СкиллМинимальный доступ104,7 тыс.Звезды репозитория

MCP-сервер и плагин для агентов генерируют веб-API из спецификаций OpenAPI, AsyncAPI, GraphQL, gRPC и SQL на ядре Rust.

MCP-серверРасширенный доступ123Звезды репозитория

Коротко о README

README начинается с примеров команд и пометки для агентов про `frappectl guide`. Затем идут установка, три способа авторизации, профили только для чтения, правила вывода и скриптования, таблица команд и сведения о запуске ассистента.

Бейдж для README

Сообщить о проблеме