Files
gustavoo-me/wp-content/plugins/automatic-ai-posts/src/Modules/Ai/Providers/CustomProvider.php
T
Gustavo 0ea3651fb5 Automatic AI Posts, setup automatizado e seeder de permalinks/avatar
Plugin automatic-ai-posts (v2.0.0)
- Pipeline completo: coleta de feeds RSS/Atom, filtro por IA, reescrita,
  categoria, imagem de capa e agendamento
- Página de configuração com teste real do provedor de IA
- Editor: botão para refazer imagem de capa e metadados, textos em PT-BR
- Ajuda com botão Pix (copia-e-cola + QR) e sem nota de avaliação
- Cache-busting por mtime nos assets do admin

Tema gustavoo-portfolio
- Marca do cabeçalho reduzida a "Gustavo"
- Suporte a título próprio da marca

Setup (docker/wp-init.sh, compose.yaml)
- Plugins de terceiros (Post Views Counter, Rank Math, Site Kit)
  instalados do WordPress.org em vez de versionados
- Falha explícita ao final se algum plugin obrigatório não instalar
- WPCLI_UID/WPCLI_GID configuráveis

Seeder do tema
- Links permanentes "Dia e nome" e avatar "Iniciais" aplicados
  apenas em instalação nova, com regravação do .htaccess
2026-11-02 13:33:30 -03:00

26 lines
778 B
PHP

<?php
namespace AAP\Modules\Ai\Providers;
use AAP\Core\Options;
defined('ABSPATH') || exit;
/**
* Any endpoint that implements the OpenAI /chat/completions contract.
*/
final class CustomProvider extends OpenAiCompatible {
public function id(): string { return 'custom'; }
public function label(): string { return 'Custom (OpenAI compatible)'; }
public function default_model(): string { return 'gpt-4o-mini'; }
protected function base_url(): string {
$base = trim((string) Options::get('aap_custom_base_url', ''));
return $base !== '' ? $base : 'https://api.openai.com/v1';
}
public function is_configured(): bool {
return parent::is_configured() && trim((string) Options::get('aap_custom_base_url', '')) !== '';
}
}