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
26 lines
778 B
PHP
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', '')) !== '';
|
|
}
|
|
}
|