Skip to main content

Справочник можливостей

Можливості — гэта атамныя дзеянні, якія Gratis AI Agent можа выклікаць у вашай усталяванай WordPress-устаноўцы. Кожна моцблага (ability) з'яўляецца зарэгістраванаю PHP класам, якая прадастаўляе JSON-схэму — агент чытае гэтую схэму пачатак выконлення для разумення, якія параметры патрабуюцца і што давайце моцблага.

Гэтая старонка дакументуе ўсе моцблегавыя функцыі, якія пастаўляюцца з Gratis AI Agent v1.9.0.


Кастомныя тыпы пастаяння (Custom Post Types)

Айчынці адпавядаюць кастомным тыпам пастаяння (CPT), зарэгістраваным праз агента. Рэгістрацыі пастаянна пахіліваюцца ў табліцу наладкаў WordPress, так што яны застаюцца далей дэактивацыі і пераадкавання плагіна.

register_post_type

Зарэгістраваецца новы кастомны тип пастаяння.

Параметры

ПараметрТыпПатрабаваныАпісанне
slugstringТакКлюч тыпу пастаяння (макс. 20 абук, без вялікіх лістар, без пробілаў)
singular_labelstringТакЛюдзі-апісанне адзіночнага імейнага назвы, напрыклад: Portfolio Item
plural_labelstringТакЛюдзі-апісанне множнага імейнага назвы, напрыклад: Portfolio Items
publicbooleanНе такЦі публічна доступны тип пастаяння. Паслядоўна true
supportsarrayНе такАсновы для падтрымкі: title, editor, thumbnail, excerpt, comments, revisions, custom-fields. Паслядоўна ["title","editor"]
has_archivebooleanНе такЦі увімкнута арчаўная старонка тыпу пастаяння. Паслядоўна false
menu_iconstringНе такКласс Dashicons або URL для іконкі меню адміна. Паслядоўна "dashicons-admin-post"
rewrite_slugstringНе такURL-слаг для тыпу пастаяння. Паслядоўна slug

Приклад

{
"slug": "portfolio",
"singular_label": "Portfolio Item",
"plural_label": "Portfolio Items",
"public": true,
"supports": ["title", "editor", "thumbnail"],
"has_archive": true,
"menu_icon": "dashicons-portfolio"
}

Паверненне { "success": true, "slug": "portfolio" }


list_post_types

Паказ усіх кастомных тыпаў пастаяння, зарэгістраваных агэнтам.

Параметры — не частавыя

Паверненне

{
"post_types": [
{
"slug": "portfolio",
"singular_label": "Portfolio Item",
"plural_label": "Portfolio Items",
"public": true
}
]
}

delete_post_type

Дэактывавае кастомны тип пастаяння, які быў раней зарэгістраваны агэнтам. Існуючыя пастаяння гэтага тыпу застаюцца ў базе даных, але больш не даступныя праз цей тип пастаяння.

Параметры

ПараметрТыпПатрабаваныАпісанне
slugstringТакКлюч тыпу пастаяння для выдалення

Паверненне { "success": true, "slug": "portfolio" }


Кастомныя таксанамікі (Custom Taxonomies)

Айчынці адпавядаюць кастомным таксанамікам. Як і CPTs, рэгістрацыі таксанамік пастаянна пахіліваюцца.

register_taxonomy

Зарэгістраваецца новы кастомны таксанамік.

Параметры

ПараметрТыпПатрабаваныАпісанне
slugstringТакКлюч таксанамікі (макс. 32 абукі)
singular_labelstringТакЛюдзі-апісанне адзіночнага імейнага назвы, напрыклад: Project Category
plural_labelstringТакЛюдзі-апісанне множнага імейнага назвы, напрыклад: Project Categories
post_typesarrayТакСслаг тыпу пастаяння, да якій прывязан цей таксанамік
hierarchicalbooleanНе такtrue для катэгорыя-стайла, false для тэга-стайла. Паслядоўна true
publicbooleanНе такЦі публічна даступныя тэрмы. Паслядоўна true
rewrite_slugstringНе такURL-слаг для таксанамікі. Паслядоўна slug

Приклад

{
"slug": "project-category",
"singular_label": "Project Category",
"plural_label": "Project Categories",
"post_types": ["portfolio"],
"hierarchical": true
}

Паверненне { "success": true, "slug": "project-category" }


list_taxonomies

Паказ усіх кастомных таксанамік, зарэгістраваных агэнтам.

Параметры — не частавыя

Паверненне

{
"taxonomies": [
{
"slug": "project-category",
"singular_label": "Project Category",
"post_types": ["portfolio"],
"hierarchical": true
}
]
}

delete_taxonomy

Дэактывавае кастомны таксанамік, які быў раней зарэгістраваны агэнтам.

Параметры

ПараметрТыпПатрабаваныАпісанне
slugstringТакКлюч таксанамікі для выдалення

Паверненне { "success": true, "slug": "project-category" }


Дызайн-сістэма (Design System)

Моцблегавыя функцыі дызайну-сістэмы павядаляюць візуальнае прадстаўленне сайту WordPress — ад кастомнага CSS да паттернів блокаў і логотипа сайта.

inject_custom_css

Дадае CSS у <head> сайту праз wp_add_inline_style. CSS патрабуецца ў табліцы наладкаў gratis_ai_agent_custom_css і чысціцца пры перазапуску моцблага.

Параметры

ПараметрТыпПатрабаваныАпісанне
cssstringТакВалідацыйны CSS для дадавання
labelstringНе такЛюдзі-апісанне для гэтага блоку CSS, выкарыстоўваецца ў логах дэбагу. Паслядоўна "agent-injected"
replacebooleanНе такКалі true, замена ўсіх раней даданых CSS. Паслядоўна false (дадае)

Приклад

{
"css": ":root { --primary: #1a1a2e; --accent: #e94560; } body { font-family: 'Inter', sans-serif; }",
"label": "brand-colours",
"replace": false
}

Паверненне { "success": true, "bytes": 96 }


add_block_pattern

Зарэгістраваецца перапрацоўвальны паттерн блоку ў бібліятцы паттернів WordPress.

Параметры

ПараметрТыпПатрабаваныАпісанне
slugstringТакІдентифікатар паттерна, напрыклад: gratis/hero-dark
titlestringТакЛюдзі-апісанне назвы паттерна, якое паказваецца ў рэдактары
contentstringТакСярылізаваны маркупрайт блоку (HTML) для паттерна
categoriesarrayНе такСслагі катэгорый паттерна, напрыклад: ["featured", "hero"]
descriptionstringНе такКороткі апісанне, якое паказваецца ў выбіральніку паттернів
keywordsarrayНе такКлючавыя словы для пошуку

Паверненне { "success": true, "slug": "gratis/hero-dark" }


list_block_patterns

Паказ усіх паттернів блокаў, зарэгістраваных агэнтам.

Параметры — не частавыя

Параметры

ПараметрТипНеобязательноОписание
attachment_idintegerНетID существующего в Media Library прикрепления
urlstringНетУдаленный URL изображения для импорта и установки в качестве логотипа

Необходимо предоставить либо attachment_id, либо url.

Возвращаемое значение { "success": true, "attachment_id": 42 }


apply_theme_json_preset

Застосовує именований пресет кольору/типографіки до файлу theme.json (або global-styles) активної теми. Пресеты — це набори, підготовлені командою Gratis AI Agent.

Параметры

ПараметрТипОбязательноОписание
presetstringДаНазва пресета, наприклад, minimal-dark, warm-editorial, corporate-blue
mergebooleanНетЕсли true, змішувати з існуючими значеннями замість перезапису. За замовчуванням false

Доступні пресети

ПресетОпис
minimal-darkТемний фон майже чорний, білий текст, один акцентний колір
warm-editorialТеплий білий фон, шрифти з засечками (serif), землисті акцентні кольори
corporate-blueПалітра темно-синього та білого кольорів із професійною типографікою
vibrant-startupЯскраві градієнти, закруглені кути, сучасний шрифт без засечек (sans-serif)
classic-blogНейтральні сірі тони, комфортна лінія тексту, традиційне відступ між елементами макета

Возвращаемое значение { "success": true, "preset": "minimal-dark" }


Global Styles (Глобальні стилі)

Функції Global Styles здатні читати та записувати значення theme.json через API WordPress Global Styles, що впливає на всі блоки та шаблони сайту в цілому.

get_global_styles

Повертає поточну конфігурацію глобальних стилів.

Параметры

ПараметрТипНеобязательноОписание
pathstringНетJSON-вказівник на конкретне значення, наприклад, /color/palette або /typography/fontSizes. Повертає весь об'єкт, якщо пропустити.

Возвращаемое значение повний об'єкт глобальних стилів або значення по path.


set_global_styles

Оновлює одне або кілька значень у конфігурації глобальних стилів.

Параметры

ПараметрТипОбязательноОписание
pathstringДаJSON-вказівник на значення, яке потрібно встановити, наприклад, /color/palette
valueanyДаНове значення

Приклад — додавання кольору до палітри

{
"path": "/color/palette",
"value": [
{ "slug": "primary", "color": "#1a1a2e", "name": "Primary" },
{ "slug": "accent", "color": "#e94560", "name": "Accent" }
]
}

Возвращаемое значение { "success": true, "path": "/color/palette" }


reset_global_styles

Скидає всі зміни глобальних стилів, застосованих агентом, відновлюючи налаштування теми за замовчуванням.

Параметры — none

Возвращаемое значение { "success": true }


Функції Navigation Menu створюють та керують меню WordPress і їхніми елементами.

create_menu

Створює нове меню навігації WordPress.

Параметры

ПараметрТипОбязательноОписание
namestringДаНазва меню, наприклад, Primary Navigation
locationstringНетМісце в темі для призначення цього меню, наприклад, primary

Возвращаемое значение { "success": true, "menu_id": 7 }


update_menu

Змінює назву меню або перепризначає його до місця в темі.

Параметры

ПараметрТипОбязательноОписание
menu_idintegerДаID меню для оновлення
namestringНетНова назва меню
locationstringНетМісце в темі для призначення або перепризначення

Возвращаемое значение { "success": true, "menu_id": 7 }


add_menu_item

Додає елемент до існуючого меню навігації.

Параметры

ПараметрТипОбязательноОписание
menu_idintegerДаID цільового меню
typestringДаТип елемента: custom, post_type або taxonomy
titlestringНетМітка для елемента меню (обов'язково для типу custom)
urlstringНетURL для елементів custom
object_idintegerНетID допису або терміну для елементів post_type/taxonomy
parent_idintegerНетID елемента меню, під яким розмістити цей елемент
positionintegerНетПозиція від нуля у меню

Возвращаемое значение { "success": true, "item_id": 12 }


remove_menu_item

Видаляє елемент з меню навігації.

Параметры

ПараметрТипОбязательноОписание
item_idintegerДаID елемента меню для видалення

Возвращаемое значение { "success": true, "item_id": 12 }


list_menus

Перелічує всі меню навігації WordPress, включаючи їх призначені місця в темі.

Параметры — none

Возвращаемое значение

{
"menus": [
{
"menu_id": 7,
"name": "Primary Navigation",
"location": "primary",
"item_count": 5
}
]
}

Options Management (Управління опціями)

Функції Options здатні читати та записувати налаштування WordPress через get_option / update_option. Вбудований блок безпеки запобігає випадковій зміні критичних налаштувань.

get_option

Читає опцію WordPress.

Параметры

ПараметрТипОбязательноОписание
option_namestringДаКлюч опції, наприклад, blogname

Возвращаемое значение { "option_name": "blogname", "value": "My Site" }

Повертає помилку, якщо option_name знаходиться у списку блоку безпеки.


set_option

Записує опцію WordPress.

Параметры

ПараметрТипОбязательноОписание
option_namestringДаКлюч опції
valueanyДаНове значення (автоматично серіалізується для масивів/об'єктів)
autoloadstringНет"yes" або "no". За замовчуванням зберігає налаштування autoload

Возвращает ошибку, если option_name находится в черном списке безопасности.

Возврат { "success": true, "option_name": "blogname" }


delete_option

Удаляет опцию WordPress.

Параметры

ПараметрТипОбязательноОписание
option_namestringДаКлюч опции для удаления

Возвращает ошибку, если option_name находится в черном списке безопасности.

Возврат { "success": true, "option_name": "my_custom_option" }


list_options

Выводит опции WordPress, соответствующие заданному шаблону.

Параметры

ПараметрТипОбязательноОписание
patternstringНетШаблон SQL LIKE для фильтрации имен опций, например, gratis_%. Возвращает все опции, если параметр не указан (используйте с осторожностью на больших базах данных).
limitintegerНетМаксимальное количество результатов. По умолчанию 50, максимум 500

Возврат

{
"options": [
{ "option_name": "gratis_ai_agent_version", "autoload": "yes" }
],
"total": 1
}

Управление контентом (Content Management)

Возможности управления контентом позволяют создавать и редактировать записи WordPress (посты и страницы). Возвращаются ID постов, чтобы последующие шаги в планах с несколькими возможностями могли ссылаться на созданный контент.

create_post

Создает новую запись WordPress: пост, страницу или запись пользовательского типа.

Параметры

ПараметрТипОбязательноОписание
titlestringДаЗаголовок поста
contentstringНетТело поста — принимает обычный текст, HTML или сериализованный маркер блоков
statusstringНетСтатус: draft (черновик), publish (опубликовано), pending (в ожидании), private (приватное). По умолчанию draft
post_typestringНетСлаговый тип поста, например, post, page, или любой зарегистрированный CPT. По умолчанию post
excerptstringНетКраткое описание, которое показывается в архивах и результатах поиска
categoriesarrayНетМассив имен или ID категорий для назначения
tagsarrayНетМассив имен или ID тегов для назначения
authorintegerНетID пользователя WordPress, который будет автором поста. По умолчанию — текущий пользователь
datestringНетДата публикации в формате ISO 8601, например, 2026-05-01T09:00:00
page_templatestringНетФайл шаблона, который будет назначен этой записи или странице, например, page-full-width.php. Имеет смысл только при типе поста page или CPT, поддерживающем шаблоны страниц.

Пример

{
"title": "Добро пожаловать на наш новый сайт",
"content": "<!-- wp:paragraph --><p>Привет, мир!</p><!-- /wp:paragraph -->",
"status": "publish",
"post_type": "page",
"page_template": "page-full-width.php"
}

Возврат { "success": true, "post_id": 42, "permalink": "https://example.com/welcome/" }


update_post

Обновляет существующий пост или страницу WordPress.

Параметры

ПараметрТипОбязательноОписание
post_idintegerДаID поста, который нужно обновить
titlestringНетНовый заголовок поста
contentstringНетНовое тело поста
statusstringНетНовый статус: draft, publish, pending, private
excerptstringНетНовое краткое описание
categoriesarrayНетЗаменить полный список категорий на этот массив имен или ID
tagsarrayНетЗаменить полный список тегов на этот массив имен или ID
page_templatestringНетНовый файл шаблона, который будет назначен этой записи или странице, например, page-full-width.php. Передайте пустую строку, чтобы удалить назначение шаблона и вернуться к настройкам темы по умолчанию.

Пример — изменить шаблон после создания

{
"post_id": 42,
"page_template": "page-full-width.php"
}

Возврат { "success": true, "post_id": 42 }


batch_create_posts

Создает несколько постов одним вызовом возможности, сокращая количество обращений к серверу при построении сайта или массовом импорте контента. Посты создаются последовательно; если один из них не удается, остальные продолжают работу, и об этом сообщается в массиве результатов.

Параметры

ПараметрТипОбязательноОписание
postsarrayДаМассив объектов постов, каждый из которых принимает те же параметры, что и create_post
stop_on_errorbooleanНетЕсли true, прекратить обработку после первой ошибки. По умолчанию false

Пример

{
"posts": [
{
"title": "О нас",
"post_type": "page",
"status": "publish",
"page_template": "page-full-width.php"
},
{
"title": "Услуги",
"post_type": "page",
"status": "publish"
},
{
"title": "Контакты",
"post_type": "page",
"status": "publish"
}
]
}

Возврат

{
"created": 3,
"failed": 0,
"results": [
{ "success": true, "post_id": 42, "title": "О нас" },
{ "success": true, "post_id": 43, "title": "Услуги" },
{ "success": true, "post_id": 44, "title": "Контакты" }
]
}

Назначает изображение-заголовок (миниатюру поста) существующей записи или странице. Принимает ID существующего в Медиатеке или удаленный URL изображения; если указан URL, изображение автоматически загружается и импортируется.

Параметры

ПараметрТипОбязательноОписание
post_idintegerДаID поста или страницы для обновления
attachment_idintegerНетID существующей записи в Медиатеке
urlstringНетУдаленный URL изображения для импорта и установки как изображения-заголовок
alt_textstringНетАльт-текст, который будет применен к записи, если она импортируется из URL

Необходимо предоставить либо attachment_id, либо url.

Возврат { "success": true, "post_id": 42, "attachment_id": 17 }


create_contact_form

Создает контактную форму с использованием активного плагина для форм (Contact Form 7, WPForms, Fluent Forms или Gravity Forms в зависимости от того, какой установлен). Возвращается шорткод, который можно вставить в любой пост или страницу.

Можны для візуального огляду

Здатність до візуального огляду дозволяє агенту робити скріншоти живих сторінок і аналізувати їх, що дає можливість самостійного дизайну перевірки, порівняння "до" та "після", а також виявлення візуальних регресій без необхідності встановлювати розширення для браузера.

capture_screenshot

Зробить скріншот сторінки WordPress за заданою URL-адресою за допомогою серверного безголового браузера. Зображення буде збережено у Media Library, і повертається CDN URL.

Параметри

ПараметрТипОбов'язковийОпис
urlstringТакПовна URL-адреса сторінки для скріншоту, наприклад: https://example.com/about/
widthintegerНіШирина вікна перегляду в пікселях. За замовчуванням 1280
heightintegerНіВисота вікна перегляду в пікселях. За замовчуванням 800
full_pagebooleanНіСхопити повну прокручувану сторінку замість лише області перегляду. За замовчуванням false
delay_msintegerНіМілісекунди очікування після завантаження сторінки перед знімком, корисно для анімованого контенту. За замовчуванням 500
labelstringНіЗрозуміла назва, яка зберігається з прикріпленням у Media Library

Повернення

{
"success": true,
"attachment_id": 88,
"url": "https://example.com/wp-content/uploads/2026/04/screenshot-about.png",
"width": 1280,
"height": 800
}

compare_screenshots

Візьме два скріншоти і поверне показник візуальної різниці плюс зображення з виділенням змінених областей. Корисно для підтвердження того, що зміна дизайну дала очікуваний результат або для виявлення небажаних регресій.

Параметри

ПараметрТипОбов'язковийОпис
before_urlstringТакURL-адреса сторінки, яку потрібно захопити як стан "до"
after_urlstringТакURL-адреса сторінки, яку потрібно захопити як стан "після". Може бути однакова URL, якщо порівнюється через час
widthintegerНіШирина вікна перегляду для обох знімків. За замовчуванням 1280
thresholdfloatНіПорогове значення різниці в пікселях (від 0.0 до 1.0). Пікселі в межах цієї толерантності вважаються незмінними. За замовчуванням 0.1

Повернення

{
"success": true,
"diff_score": 0.04,
"changed_pixels": 2340,
"total_pixels": 1024000,
"diff_attachment_id": 91,
"diff_url": "https://example.com/wp-content/uploads/2026/04/diff-about.png"
}

diff_score дорівнює 0.0, якщо видимих змін немає; 1.0 означає, що змінилося кожен піксель.


review_page_design

Зробить скріншот сторінки і надішле його мовній моделі для візуального аналізу. Поверне структувану оцінку, яка охоплює макет, типографіку, використання кольорів та питання доступності.

Параметри

ПараметрТипОбов'язковийОпис
urlstringТакПовна URL-адреса сторінки для перегляду
focusstringНіСписок областей для акцентування уваги під час огляду, розділений комами: layout, typography, colour, accessibility, mobile. За замовчуванням: усі області
widthintegerНіШирина вікна перегляду. За замовчуванням 1280

Повернення

{
"success": true,
"screenshot_url": "https://example.com/wp-content/uploads/2026/04/review-about.png",
"assessment": {
"overall": "Структура сторінки чиста та читабельна. Виявлено дві проблеми з доступністю.",
"layout": "Добре візуальна ієрархія. Геросекція помітна.",
"typography": "Текст основного тексту 15px — розгляньте збільшення до 16px для кращої читабельності.",
"colour": "Контрастність на кнопці CTA (#fff на #4a90e2) становить 3.1:1 — нижче порогу WCAG AA, який становить 4.5:1.",
"accessibility": ["Низький контраст на кнопці CTA", "Відсутній alt-текст для зображення героя"],
"suggestions": ["Зробити кнопку CTA темнішою до #1a5cb0, щоб відповідати WCAG AA", "Додати описовий alt-текст до зображення героя"]
}
}

Встановлювані можливості

Реєстр встановлюваних можливостей дозволяє розширити агента додатковими пакетами функціоналу, які поширюються як плагіни WordPress. Кожен пакет реєструє одну або більше можливостей за допомогою стандартного ability API.

list_available_abilities

Повертає каталог пакетів можливостей, доступних для встановлення з реєстру.

Параметри

ПараметрТипОбязательноОписание
categorystringНетФильтрация по категориям: ecommerce, seo, media, social, developer

Возвращаемое значение

{
"packs": [
{
"slug": "gratis-ai-agent-woocommerce",
"name": "WooCommerce Abilities",
"category": "ecommerce",
"version": "1.0.0",
"abilities": ["create_product", "update_pricing", "manage_inventory"],
"installed": false
}
]
}

install_ability

Загружает и активирует пакет возможностей из реестра.

Параметры

ПараметрТипОбязательноОписание
slugstringДаСлаг плагина с пакетом возможностей

Возвращаемое значение { "success": true, "slug": "gratis-ai-agent-woocommerce", "abilities_added": 3 }


recommend_plugin

Запрашивает реестр возможностей, чтобы найти лучший плагин для описанного сценария использования и, опционально, устанавливает его.

Параметры

ПараметрТипОбязательноОписание
descriptionstringДаЕстественное описание желаемой функциональности на естественном языке
installbooleanНетЕсли установлено в true, рекомендуемый плагин устанавливается немедленно. По умолчанию false

Пример

{
"description": "Мне нужна контактная форма с поддержкой загрузки файлов и защитой от спама",
"install": false
}

Возвращаемое значение

{
"recommendation": {
"slug": "contact-form-7",
"name": "Contact Form 7",
"reason": "Широко используется, поддерживает загрузку файлов и интегрируется с Akismet для фильтрации спама.",
"alternatives": ["wpforms-lite", "fluent-forms"]
}
}