rodrigo@dev: ~/plugins/ai-provider-for-ollama-local — bash
rodrigo@dev:~/plugins/ai-provider-for-ollama-local$ cd ..# back to plugins
rodrigo@dev:~/plugins/ai-provider-for-ollama-local$ cat plugin.json
name: AI Provider for Ollama Localversion: 0.1.0license: GPL-2.0-or-laterprice: FREE
WordPress Plugin — Free & Open Source

Connect WordPress 7.0 AI to your own Ollama server

rodrigo@dev:~/plugins/ai-provider-for-ollama-local$ cat problem.md

O WordPress 7.0 chegou com integração nativa de AI — o novo WordPress AI Client permite usar modelos de linguagem directamente no editor para escrever, resumir e melhorar conteúdo.

O problema: todos os conectores disponíveis exigem uma API key de um serviço cloud (OpenAI, Anthropic, Google…). Para quem usa Ollama — o runtime que corre modelos como Llama 3, Mistral, Gemma ou Phi localmente, sem custos por token — não existia nenhum conector oficial.

rodrigo@dev:~/plugins/ai-provider-for-ollama-local$ cat solution.md

Desenvolvi este plugin WordPress de raiz para fechar essa lacuna.

Liga o novo AI Client do WordPress 7.0 a qualquer servidor Ollama local ou remoto, usando o endpoint OpenAI-compatível que o Ollama já expõe. Sem registo, sem subscrição, sem dados a sair da máquina.

rodrigo@dev:~/plugins/ai-provider-for-ollama-local$ ./features --list
  • +Zero API key — sem registo nem subscrição
  • +Descoberta automática de todos os modelos instalados no Ollama
  • +Interface no wp-admin (Settings → Connectors) com status em tempo real
  • +Compatível com Ollama local, Docker ou servidor remoto
  • +URL configurável: wp-admin → constante PHP → env var → default
  • +Sem dependências externas — sem Composer, sem node_modules
  • +GPL-2.0-or-later — free e open-source
rodrigo@dev:~/plugins/ai-provider-for-ollama-local$ cat architecture.txt

plugin.php
├─ register_provider()          → regista no WP AI Client registry
├─ register_connector()         → aparece em Settings → Connectors
├─ register_rest_endpoint()     → POST /ai-provider-for-ollama-local/v1/settings
└─ enqueue_connector_card_module()

src/
├─ Provider/OllamaProvider.php
│   └─ extends AbstractApiProvider
├─ Models/OllamaTextGenerationModel.php
│   └─ POST /v1/chat/completions  (OpenAI-compatible)
├─ Metadata/OllamaModelMetadataDirectory.php
│   └─ GET  /v1/models            (model discovery)
└─ Support/OllamaConfig.php
    └─ option → constant → env var → default URL

assets/connector-card.js
    └─ React UI (wp.element) sem build step
rodrigo@dev:~/plugins/ai-provider-for-ollama-local$ cat decisions.md
DecisãoMotivo
Sem ComposerInstalar = upload da pasta. Zero dependências de runtime
Autoloader PSR-4 manualMesma razão — independente do ambiente PHP
esc_url_raw + sanitize_text_fieldBoas práticas de segurança WordPress em todos os inputs
REST endpoint próprioGuardar configuração via fetch sem recarregar a página
Placeholder API keyWP AI Client exige auth configurada; token local evita erros
wp.element sem build stepZero configuração de tooling para contribuidores
rodrigo@dev:~/plugins/ai-provider-for-ollama-local$ ./check --requirements
WordPress7.0+ (AI Client API)
PHP7.4+
Ollamaqualquer versão recente com endpoint /v1
rodrigo@dev:~/plugins/ai-provider-for-ollama-local$ ls --links
rodrigo@dev:~/plugins/ai-provider-for-ollama-local$ cd ~/portfolio