frappectl CLI
Командная строка Frappe для агентов: читает документы и отчеты ERP, выполняет SQL на чтение и держит профили без права записи
- 70 ★ репозитория
- Последний коммит
- MIT
Широкий доступ
Почему такой уровень
- Профили с правом записи создают, изменяют и удаляют документы ERP и вызывают методы сайта, а `query` читает данные через консоль системы
- Ключ API и секрет открывают доступ к бухгалтерским и клиентским данным сайта
Установка
- Работает в
В терминале, через 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.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыОдин бинарник Go подключается к SQL-базе и отдает ее как REST API с ролями и как MCP-сервер для Claude Code, Cursor и VS Code
Мгновенный REST и MCP поверх PostgreSQL: агент читает данные существующей базы через MCP-эндпоинт без написания бэкенда
CLI проверяет архитектуру Python-сервиса по документированным правилам, а скиллы учат агента писать код в этих рамках.
Терминальный REST-клиент с коллекциями в YAML рядом с кодом и скиллом, по которому агент сам пишет и гоняет запросы
Скилл FastAPI
FastAPI skill
Официальный скилл FastAPI, который поставляется вместе с пакетом и учит агента писать код под установленную версию
MCP-сервер и плагин для агентов генерируют веб-API из спецификаций OpenAPI, AsyncAPI, GraphQL, gRPC и SQL на ядре Rust.
Коротко о README
README начинается с примеров команд и пометки для агентов про `frappectl guide`. Затем идут установка, три способа авторизации, профили только для чтения, правила вывода и скриптования, таблица команд и сведения о запуске ассистента.