Pular para o conteúdo principal

Referência de Abilities

Abilities são as ações atómicas que Gratis AI Agent pode invocar na sua instalação WordPress. Cada ability é uma classe PHP registada que expõe um esquema JSON — o agente lê este esquema em tempo de execução para compreender que parâmetros são necessários e o que a ability devolve.

Esta página documenta todas as abilities incluídas com Gratis AI Agent v1.9.0.


Tipos de publicação personalizados

Estas abilities gerem tipos de publicação personalizados (CPTs) registados através do agente. Os registos são persistidos na tabela de opções do WordPress para que sobrevivam à desativação e reativação do plugin.

register_post_type

Regista um novo tipo de publicação personalizado.

Parâmetros

ParâmetroTipoObrigatórioDescrição
slugstringSimA chave do tipo de publicação (máx. 20 caracteres, sem maiúsculas, sem espaços)
singular_labelstringSimNome singular legível por humanos, por exemplo Portfolio Item
plural_labelstringSimNome plural legível por humanos, por exemplo Portfolio Items
publicbooleanNãoSe o tipo de publicação é acessível publicamente. Predefinição true
supportsarrayNãoFuncionalidades a suportar: title, editor, thumbnail, excerpt, comments, revisions, custom-fields. Predefinição ["title","editor"]
has_archivebooleanNãoSe uma página de arquivo do tipo de publicação está ativada. Predefinição false
menu_iconstringNãoClasse Dashicons ou URL para o ícone do menu de administração. Predefinição "dashicons-admin-post"
rewrite_slugstringNãoslug de URL para o tipo de publicação. Por predefinição, usa slug

Exemplo

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

Devolve { "success": true, "slug": "portfolio" }


list_post_types

Devolve todos os tipos de publicação personalizados registados pelo agente.

Parâmetros — nenhum

Devolve

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

delete_post_type

Anula o registo de um tipo de publicação personalizado previamente registado pelo agente. As publicações existentes desse tipo permanecem na base de dados, mas deixam de estar acessíveis através do tipo de publicação.

Parâmetros

ParâmetroTipoObrigatórioDescrição
slugstringSimA chave do tipo de publicação a remover

Devolve { "success": true, "slug": "portfolio" }


Taxonomias personalizadas

Estas abilities gerem taxonomias personalizadas. Tal como os CPTs, os registos de taxonomias são persistidos.

register_taxonomy

Regista uma nova taxonomia personalizada.

Parâmetros

ParâmetroTipoObrigatórioDescrição
slugstringSimA chave da taxonomia (máx. 32 caracteres)
singular_labelstringSimNome singular legível por humanos, por exemplo Project Category
plural_labelstringSimNome plural legível por humanos, por exemplo Project Categories
post_typesarraySimslugs dos tipos de publicação aos quais esta taxonomia deve ser associada
hierarchicalbooleanNãotrue para estilo de categoria, false para estilo de etiqueta. Predefinição true
publicbooleanNãoSe os termos são acessíveis publicamente. Predefinição true
rewrite_slugstringNãoslug de URL para a taxonomia. Por predefinição, usa slug

Exemplo

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

Devolve { "success": true, "slug": "project-category" }


list_taxonomies

Devolve todas as taxonomias personalizadas registadas pelo agente.

Parâmetros — nenhum

Devolve

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

delete_taxonomy

Anula o registo de uma taxonomia personalizada previamente registada pelo agente.

Parâmetros

ParâmetroTipoObrigatórioDescrição
slugstringSimA chave da taxonomia a remover

Devolve { "success": true, "slug": "project-category" }


Sistema de design

As abilities do sistema de design modificam a apresentação visual do site WordPress — desde CSS personalizado a padrões de blocos e ao logótipo do site.

inject_custom_css

Acrescenta CSS ao <head> do site através de wp_add_inline_style. O CSS é armazenado na opção gratis_ai_agent_custom_css e removido da fila de forma limpa quando a ability é reposta.

Parâmetros

ParâmetroTipoObrigatórioDescrição
cssstringSimCSS válido a injetar
labelstringNãoEtiqueta legível por humanos para este bloco de CSS, usada em registos de depuração. Predefinição "agent-injected"
replacebooleanNãoSe true, substitui todo o CSS previamente injetado. Predefinição false (acrescenta)

Exemplo

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

Devolve { "success": true, "bytes": 96 }


add_block_pattern

Regista um padrão de blocos reutilizável na biblioteca de padrões do WordPress.

Parâmetros

ParâmetroTipoObrigatórioDescrição
slugstringSimIdentificador do padrão, por exemplo gratis/hero-dark
titlestringSimNome do padrão legível por humanos mostrado no editor
contentstringSimMarcação de blocos serializada (HTML) para o padrão
categoriesarrayNãoslugs de categorias de padrões, por exemplo ["featured", "hero"]
descriptionstringNãoDescrição curta mostrada no seletor de padrões
keywordsarrayNãoPalavras-chave de pesquisa

Devolve { "success": true, "slug": "gratis/hero-dark" }


list_block_patterns

Lista todos os padrões de blocos registados pelo agente.

Parâmetros — nenhum

Devolve

{
"patterns": [
{
"slug": "gratis/hero-dark",
"title": "Dark Hero",
"categories": ["hero"]
}
]
}

Define o logótipo do site WordPress para um ID de anexo fornecido ou um URL de imagem remoto. Quando é fornecido um URL, a imagem é transferida e importada para a Biblioteca de Media.

Parâmetros

ParâmetroTipoObrigatórioDescrição
attachment_idintegerNãoID de um anexo existente da Biblioteca de Media
urlstringNãoURL de imagem remoto a importar e definir como logótipo

Um de attachment_id ou url deve ser fornecido.

Devolve { "success": true, "attachment_id": 42 }


apply_theme_json_preset

Aplica uma predefinição nomeada de cor/tipografia ao theme.json (ou global-styles) do tema ativo. As predefinições são conjuntos selecionados mantidos pela equipa Gratis AI Agent.

Parâmetros

ParâmetroTipoObrigatórioDescrição
presetstringSimNome da predefinição, por exemplo minimal-dark, warm-editorial, corporate-blue
mergebooleanNãoSe true, junta com os valores existentes em vez de substituir. Predefinição false

Predefinições disponíveis

PredefiniçãoDescrição
minimal-darkFundo quase preto, texto branco, uma única cor de destaque
warm-editorialFundo branco quente, títulos com serifa, cores de destaque terrosas
corporate-bluePaleta azul-marinho e branca com tipografia profissional
vibrant-startupGradientes vivos, cantos arredondados, tipo sans-serif moderno
classic-blogCinzentos neutros, altura de linha confortável, espaçamento de layout tradicional

Devolve { "success": true, "preset": "minimal-dark" }


Estilos globais

As capacidades de Estilos globais leem e escrevem valores de theme.json através da API de Estilos globais do WordPress, afetando todos os blocos e templates em todo o site.

get_global_styles

Devolve a configuração atual dos estilos globais.

Parâmetros

ParâmetroTipoObrigatórioDescrição
pathstringNãoPonteiro JSON para um valor específico, por exemplo /color/palette ou /typography/fontSizes. Devolve o objeto inteiro se omitido.

Devolve o objeto completo de estilos globais ou o valor em path.


set_global_styles

Atualiza um ou mais valores na configuração de estilos globais.

Parâmetros

ParâmetroTipoObrigatórioDescrição
pathstringSimPonteiro JSON para o valor a definir, por exemplo /color/palette
valueanySimO novo valor

Exemplo — adicionar uma cor à paleta

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

Devolve { "success": true, "path": "/color/palette" }


reset_global_styles

Repõe todas as alterações de estilos globais aplicadas pelo agente, restaurando as predefinições do tema.

Parâmetros — nenhum

Devolve { "success": true }


As capacidades de Menu de navegação criam e gerem menus de navegação WordPress e os respetivos itens.

create_menu

Cria um novo menu de navegação WordPress.

Parâmetros

ParâmetroTipoObrigatórioDescrição
namestringSimNome do menu, por exemplo Primary Navigation
locationstringNãoLocalização do tema a atribuir a este menu, por exemplo primary

Devolve { "success": true, "menu_id": 7 }


update_menu

Renomeia um menu ou reatribui-o a uma localização do tema.

Parâmetros

ParâmetroTipoObrigatórioDescrição
menu_idintegerSimID do menu a atualizar
namestringNãoNovo nome do menu
locationstringNãoLocalização do tema a atribuir ou reatribuir

Devolve { "success": true, "menu_id": 7 }


add_menu_item

Adiciona um item a um menu de navegação existente.

Parâmetros

ParâmetroTipoObrigatórioDescrição
menu_idintegerSimID do menu de destino
typestringSimTipo de item: custom, post_type ou taxonomy
titlestringNãoRótulo para o item de menu (obrigatório para o tipo custom)
urlstringNãoURL para itens custom
object_idintegerNãoID de publicação ou ID de termo para itens post_type/taxonomy
parent_idintegerNãoID do item de menu sob o qual aninhar este item
positionintegerNãoPosição de base zero no menu

Devolve { "success": true, "item_id": 12 }


remove_menu_item

Remove um item de um menu de navegação.

Parâmetros

ParâmetroTipoObrigatórioDescrição
item_idintegerSimID do item de menu a remover

Devolve { "success": true, "item_id": 12 }


list_menus

Lista todos os menus de navegação WordPress, incluindo as respetivas localizações de tema atribuídas.

Parâmetros — nenhum

Devolve

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

Gestão de opções

As capacidades de opções leem e escrevem opções WordPress via get_option / update_option. Uma lista de bloqueio de segurança integrada impede a modificação acidental de definições críticas.

get_option

Lê uma opção WordPress.

Parâmetros

ParâmetroTipoObrigatórioDescrição
option_namestringSimA chave da opção, por exemplo blogname

Devolve { "option_name": "blogname", "value": "My Site" }

Devolve um erro se option_name estiver na lista de bloqueio de segurança.


set_option

Escreve uma opção WordPress.

Parâmetros

ParâmetroTipoObrigatórioDescrição
option_namestringSimA chave da opção
valueanySimO novo valor (serializado automaticamente para arrays/objetos)
autoloadstringNão"yes" ou "no". A predefinição preserva a definição de autoload existente

Devolve um erro se option_name estiver na lista de bloqueio de segurança.

Devolve { "success": true, "option_name": "blogname" }


delete_option

Elimina uma opção do WordPress.

Parâmetros

ParâmetroTipoObrigatórioDescrição
option_namestringSimA chave da opção a eliminar

Devolve um erro se option_name estiver na lista de bloqueio de segurança.

Devolve { "success": true, "option_name": "my_custom_option" }


list_options

Lista opções do WordPress que correspondem a um padrão.

Parâmetros

ParâmetroTipoObrigatórioDescrição
patternstringNãoPadrão SQL LIKE para filtrar nomes de opções, por exemplo gratis_%. Devolve todas as opções se omitido (use com cautela em bases de dados grandes).
limitintegerNãoNúmero máximo de resultados. Predefinição 50, máximo 500

Devolve

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

Gestão de Conteúdo

As capacidades de Gestão de Conteúdo criam e editam publicações e páginas do WordPress. Os IDs das publicações são devolvidos para que passos subsequentes em planos com múltiplas capacidades possam referenciar o conteúdo criado.

create_post

Cria uma nova publicação, página ou entrada de tipo de publicação personalizado do WordPress.

Parâmetros

ParâmetroTipoObrigatórioDescrição
titlestringSimTítulo da publicação
contentstringNãoCorpo da publicação — aceita texto simples, HTML ou marcação de blocos serializada
statusstringNãodraft, publish, pending, private. Predefinição draft
post_typestringNãoSlug do tipo de publicação, por exemplo post, page ou qualquer CPT registado. Predefinição post
excerptstringNãoResumo curto mostrado em arquivos e resultados de pesquisa
categoriesarrayNãoArray de nomes ou IDs de categorias a atribuir
tagsarrayNãoArray de nomes ou IDs de etiquetas a atribuir
authorintegerNãoID de utilizador do WordPress a definir como autor da publicação. Por predefinição, usa o utilizador atual
datestringNãoData de publicação em formato ISO 8601, por exemplo 2026-05-01T09:00:00
page_templatestringNãoFicheiro de modelo a atribuir a esta publicação ou página, por exemplo page-full-width.php. Só é relevante quando post_type é page ou um CPT que suporte modelos de página.

Exemplo

{
"title": "Welcome to Our New Site",
"content": "<!-- wp:paragraph --><p>Hello world!</p><!-- /wp:paragraph -->",
"status": "publish",
"post_type": "page",
"page_template": "page-full-width.php"
}

Devolve { "success": true, "post_id": 42, "permalink": "https://example.com/welcome/" }


update_post

Atualiza uma publicação ou página existente do WordPress.

Parâmetros

ParâmetroTipoObrigatórioDescrição
post_idintegerSimID da publicação a atualizar
titlestringNãoNovo título da publicação
contentstringNãoNovo corpo da publicação
statusstringNãoNovo estado: draft, publish, pending, private
excerptstringNãoNovo excerto
categoriesarrayNãoSubstituir a lista completa de categorias por este array de nomes ou IDs
tagsarrayNãoSubstituir a lista completa de etiquetas por este array de nomes ou IDs
page_templatestringNãoNovo ficheiro de modelo a atribuir a esta publicação ou página, por exemplo page-full-width.php. Passe uma string vazia para remover a atribuição de modelo e reverter para a predefinição do tema.

Exemplo — alterar o modelo após a criação

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

Devolve { "success": true, "post_id": 42 }


batch_create_posts

Cria várias publicações numa única chamada de capacidade, reduzindo idas e voltas durante a criação de sites ou a importação de conteúdo em massa. As publicações são criadas em sequência; se uma falhar, as outras continuam e a falha é reportada no array de resultados.

Parâmetros

ParâmetroTipoObrigatórioDescrição
postsarraySimArray de objetos de publicação, cada um aceitando os mesmos parâmetros que create_post
stop_on_errorbooleanNãoSe true, parar o processamento após a primeira falha. Predefinição false

Exemplo

{
"posts": [
{
"title": "About Us",
"post_type": "page",
"status": "publish",
"page_template": "page-full-width.php"
},
{
"title": "Services",
"post_type": "page",
"status": "publish"
},
{
"title": "Contact",
"post_type": "page",
"status": "publish"
}
]
}

Devolve

{
"created": 3,
"failed": 0,
"results": [
{ "success": true, "post_id": 42, "title": "About Us" },
{ "success": true, "post_id": 43, "title": "Services" },
{ "success": true, "post_id": 44, "title": "Contact" }
]
}

set_featured_image

Atribui uma imagem destacada (miniatura da publicação) a uma publicação ou página existente. Aceita um ID de anexo existente da Biblioteca Multimédia ou um URL de imagem remoto; quando é fornecido um URL, a imagem é descarregada e importada automaticamente.

Parâmetros

ParâmetroTipoObrigatórioDescrição
post_idintegerSimID da publicação ou página a atualizar
attachment_idintegerNãoID de um anexo existente da Biblioteca Multimédia
urlstringNãoURL de imagem remoto a importar e definir como imagem destacada
alt_textstringNãoTexto alternativo a aplicar ao anexo se for importado a partir de um URL

Um de attachment_id ou url deve ser fornecido.

Devolve { "success": true, "post_id": 42, "attachment_id": 17 }


create_contact_form

Cria um formulário de contacto usando o plugin de formulários ativo (Contact Form 7, WPForms, Fluent Forms ou Gravity Forms, dependendo do que estiver instalado). Devolve um shortcode que pode ser incorporado em qualquer publicação ou página.

Parâmetros

ParâmetroTipoObrigatórioDescrição
titlestringSimNome do formulário apresentado no admin do plugin de formulário
fieldsarraySimLista ordenada de campos do formulário (ver objeto de campo abaixo)
recipientstringNãoEndereço de email para receber submissões. Por predefinição, usa o email de admin do WordPress
subjectstringNãoLinha de assunto do email. Suporta os placeholders [your-name] e [your-subject] ao usar Contact Form 7
confirmation_messagestringNãoMensagem apresentada após uma submissão bem-sucedida. Predefinição: "Thank you for your message. We'll be in touch soon."

Objeto de campo

ChaveTipoObrigatórioDescrição
namestringSimNome interno do campo / chave de máquina
labelstringSimRótulo legível por humanos apresentado no formulário
typestringSimtext, email, tel, textarea, select, checkbox, radio, file, date
requiredbooleanNãoSe o campo tem de ser preenchido antes da submissão. Predefinição false
optionsarrayNãoOpções para campos select, checkbox e radio
placeholderstringNãoTexto de placeholder para inputs do tipo texto

Exemplo

{
"title": "Restaurant Booking Enquiry",
"fields": [
{ "name": "your-name", "label": "Name", "type": "text", "required": true },
{ "name": "your-email", "label": "Email", "type": "email", "required": true },
{ "name": "party-size", "label": "Party size", "type": "select", "options": ["1–2", "3–5", "6–10", "10+"] },
{ "name": "your-message", "label": "Special requests", "type": "textarea", "required": false }
],
"recipient": "[email protected]",
"subject": "New booking enquiry from [your-name]"
}

Devolve

{
"success": true,
"form_id": 3,
"shortcode": "[contact-form-7 id=\"3\" title=\"Restaurant Booking Enquiry\"]"
}

Revisão visual

As capacidades de Revisão visual permitem que o agente capture capturas de ecrã de páginas live e as analise, possibilitando revisão de design autónoma, comparações antes/depois e verificações de regressão visual sem exigir qualquer extensão de browser.

capture_screenshot

Captura uma captura de ecrã de uma página WordPress num URL indicado usando um browser headless do lado do servidor. A imagem é guardada na Biblioteca de média e é devolvido um URL de CDN.

Parâmetros

ParâmetroTipoObrigatórioDescrição
urlstringSimURL completo da página para capturar a captura de ecrã, por exemplo https://example.com/about/
widthintegerNãoLargura do viewport em píxeis. Predefinição 1280
heightintegerNãoAltura do viewport em píxeis. Predefinição 800
full_pagebooleanNãoCaptura a página rolável completa em vez de apenas o viewport. Predefinição false
delay_msintegerNãoMilissegundos a aguardar após o carregamento da página antes de capturar, útil para conteúdo animado. Predefinição 500
labelstringNãoRótulo legível por humanos guardado com o anexo na Biblioteca de média

Devolve

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

compare_screenshots

Recebe duas capturas de ecrã e devolve uma pontuação de diferença visual mais uma imagem de diferença que destaca as regiões alteradas. Útil para confirmar que uma alteração de design produziu o resultado esperado ou para detetar regressões não intencionais.

Parâmetros

ParâmetroTipoObrigatórioDescrição
before_urlstringSimURL da página a capturar como o estado "antes"
after_urlstringSimURL da página a capturar como o estado "depois". Pode ser o mesmo URL se comparar ao longo do tempo
widthintegerNãoLargura do viewport para ambas as capturas. Predefinição 1280
thresholdfloatNãoLimiar de diferença de píxeis (0.0–1.0). Píxeis dentro desta tolerância são considerados inalterados. Predefinição 0.1

Devolve

{
"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"
}

Um diff_score de 0.0 significa nenhuma alteração visível; 1.0 significa que todos os píxeis mudaram.


review_page_design

Captura uma captura de ecrã de uma página e envia-a para o modelo de linguagem para análise visual. Devolve uma avaliação estruturada que abrange layout, tipografia, utilização de cor e preocupações de acessibilidade.

Parâmetros

ParâmetroTipoObrigatórioDescrição
urlstringSimURL completo da página a rever
focusstringNãoLista separada por vírgulas de áreas de revisão a enfatizar: layout, typography, colour, accessibility, mobile. Predefinição: todas as áreas
widthintegerNãoLargura do viewport. Predefinição 1280

Devolve

{
"success": true,
"screenshot_url": "https://example.com/wp-content/uploads/2026/04/review-about.png",
"assessment": {
"overall": "The page structure is clean and readable. Two accessibility issues detected.",
"layout": "Good visual hierarchy. Hero section is prominent.",
"typography": "Body text is 15px — consider increasing to 16px for readability.",
"colour": "Contrast ratio on the CTA button (#fff on #4a90e2) is 3.1:1 — below the WCAG AA threshold of 4.5:1.",
"accessibility": ["Low contrast on CTA button", "Missing alt text on hero image"],
"suggestions": ["Darken the CTA button to #1a5cb0 to pass WCAG AA", "Add descriptive alt text to the hero image"]
}
}

Capacidades instaláveis

O Registo de capacidades instaláveis permite-lhe estender o agente com pacotes de capacidades adicionais distribuídos como plugins WordPress. Cada pacote regista uma ou mais capacidades usando a API de capacidades padrão.

list_available_abilities

Devolve o catálogo de pacotes de capacidades disponíveis para instalação a partir do registo.

Parâmetros

ParâmetroTipoObrigatórioDescrição
categorystringNãoFiltrar por categoria: ecommerce, seo, media, social, developer

Devolve

{
"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

Transfere e ativa um pacote de capacidades a partir do registo.

Parâmetros

ParâmetroTipoObrigatórioDescrição
slugstringSimSlug da extensão do pacote de capacidades

Devolve { "success": true, "slug": "gratis-ai-agent-woocommerce", "abilities_added": 3 }


recommend_plugin

Consulta o registo de capacidades para encontrar a melhor extensão para um caso de utilização descrito e, opcionalmente, instala-a.

Parâmetros

ParâmetroTipoObrigatórioDescrição
descriptionstringSimDescrição em linguagem natural da funcionalidade pretendida
installbooleanNãoSe true, instala imediatamente a extensão recomendada. Predefinição false

Exemplo

{
"description": "I need a contact form with file upload support and spam protection",
"install": false
}

Devolve

{
"recommendation": {
"slug": "contact-form-7",
"name": "Contact Form 7",
"reason": "Widely adopted, supports file uploads, and integrates with Akismet for spam filtering.",
"alternatives": ["wpforms-lite", "fluent-forms"]
}
}