Skip to main content

GMC FreeAI — documentation

GMC FreeAI · Joomla · Documentation

GMC FreeAI — documentation

GMC FreeAI (package pkg_gmcfreeai, component com_gmcfreeai) is a multi-provider AI assistant inside the Joomla administrator: a chat widget on every admin page, a scheduler that drafts articles, an approval workflow that publishes them as real Joomla articles, plus budget governance and an audit log. It is bring-your-own-key — it never proxies your prompts — and can run entirely on free-tier or self-hosted models, hence the name.

What it is

GMC FreeAI is effectively administrator-only: front-end AJAX is rejected with a 403, and the bundled front-end view is an intentional noindex placeholder. The package installs three extensions: the component com_gmcfreeai (UI, logic, tables), the system plugin plg_system_gmcfreeai (injects the widget, encrypts keys on save) and the task plugin plg_task_gmcfreeai (Scheduled Tasks). The component ships eleven admin views:

  • Chatbot — a full-page chat and an in-admin widget, with five built-in expert personalities (Joomla, YOOtheme, Copywriter, NLP, SEO) stored in the database, so you can duplicate, customise or reset them.
  • AI Scheduler — recurring jobs that generate articles, social posts or newsletters daily/weekly/monthly, with per-job locking and retry.
  • Content Review — approve / regenerate / reject, then publish into #__content as a Joomla article with category, tags, language and SEO meta.
  • AI Budget — token and USD caps per global / group / user / provider scope, alerts at 70 / 90 / 100% and a hard block at 100%.
  • Template Library, Dashboard, AI Roles, Chat History, Audit Log, Health Check — 33 bundled templates with JSON import/export; KPIs; per-group permissions; an append-only audit trail with secret redaction; a synchronous health page.

Requirements

RequirementMinimumRecommended
Joomla5.46.x
PHP8.18.3+
DatabaseMySQL 8 / MariaDB 10.6 with utf8mb4same
PHP extensionscurl, mbstring, json, opensslsame

Joomla 5.4+ and 6.x are both supported; sites on 5.0–5.3 are below the floor and are not offered the update. Your site must have a $secret in configuration.php (always set on a normal install); key encryption refuses to run without it.

Install

  • Download pkg_gmcfreeai from your FuerteventuraTV account, then in Joomla open System → Install → Extensions and upload the package ZIP. One install adds all three extensions and creates the tables.
  • The package auto-enables the system plugin, so the widget appears immediately.
  • For private updates, put your licence Download Key in System → Update → Update Sites (edit the GMC FreeAI update site). The same key can be saved in the component’s download_key option.

Do not use “Rebuild Update Sites” — it wipes the Download Key from the update-site row and breaks update delivery. Just edit the existing update site and set the key.

Where it lives and how to use it

After install the component sits at Components → CMS Free AI (storefront name GMC FreeAI; admin menu “CMS Free AI”). First run: open the component Options (top-right), pick your ai_provider, paste its key (or set the Ollama URL), optionally choose a fallback, and fill in site_context. Use the Chatbot or floating widget for ad-hoc work, and AI Scheduler + Content Review for hands-off drafting — then check that Health Check is all green or grey.

Under System → Scheduled Tasks, create tasks from these routines:

Task typeWhat it doesCadence
GMCFreeAi: run due jobsRuns due scheduler jobs; clears stale locks (older than 1800s).every 5–10 min
GMCFreeAi: provider health checkPings each provider and records latency (ok ≤ 8000ms, degraded above, down on error).every 1–6 hours
GMCFreeAi: cleanup old dataRetention sweep of audit, usage, chat and job-run tables.daily

AI providers, models and key setup

GMC FreeAI talks to six providers. You bring your own key for each, and the component calls that provider API directly — traffic is never routed through a GMC/FuerteventuraTV server. Each has its own key field and model picker in Options:

Provider (ai_provider)Key / URL fieldDefault model (ai_model_*)
Claude (Anthropic)api_key_claudeclaude-haiku-4-5-20251001
OpenAIapi_key_openaigpt-4o-mini
Gemini (Google)api_key_geminigemini-1.5-flash
Groqapi_key_groqllama-3.3-70b-versatile
NVIDIA NIMapi_key_nvidiameta/llama-3.1-8b-instruct
Ollama (self-hosted)ollama_urlllama3.3 — or any pulled model

The free angle. “Free AI” is the running cost of the models, not the component (a paid licence). You can run at zero per-token cost on a free tier — Groq’s is 14.4k requests/day, prices apply only over quota — or on a local Ollama server (inference costed at 0). The budget_mode option can force only-free or only-Ollama use.

Configuration

All settings live in the component Options, in fieldsets. The real fields:

FieldsetField(s)Notes
Licencedownload_key, license_keyDownload Key mirrors the update site; licence key encrypted.
Basesite_name, site_contextFree-text context sent with each request.
Chatbotchatbot_enabled, chatbot_mode, chatbot_position, chatbot_history_limitchatbot_mode: floating / sidebar / page / all. History limit defaults to 20.
Providerai_provider, ai_fallback_provider, ai_default_language, the six api_key_* / ollama_url, the six ai_model_*Primary + optional fallback; default language it-IT (also en/de/fr).
Budgetbudget_mode, budget_free_fallback, budget_alert_usersbudget_mode: full / free_only / ollama_only; free-only picks its provider via budget_free_fallback.

AI Roles. Beyond core ACL, the AI Roles view maps eleven capabilities onto user groups so you can delegate without full component admin — can_generate, can_approve, can_manage_jobs, can_view_costs, can_manage_templates, can_manage_budget, can_publish, can_publish_to_joomla, can_manage_personalities, can_view_audit_log and can_manage_roles. Super Users, Administrators and core.admin always bypass them.

Privacy and data handling

  • Keys encrypted at rest. Each api_key_* value is AES-256-GCM encrypted before it is written to #__extensions, with the key derived (HKDF-SHA256) from your Joomla $secret plus a random per-install salt. Plaintext keys migrate to ciphertext on the next Options save.
  • No proxy. Prompts, site context and generated text go straight from your server to the provider; GMC never sees them. Cloud providers process that content under their own terms; use Ollama with budget_mode = ollama_only to keep it all local.
  • HTTPS only, secrets redacted. The AI HTTP layer refuses any http:// endpoint. The append-only audit log redacts secrets by key name and by scanning every value, so a provider that echoes a key back in an error message is scrubbed before anything is persisted.
  • Retention. The cleanup task prunes old rows (defaults: audit/budget alerts 365 days, usage log 180, chat and job runs 90). Set a category to 0 to keep it forever.

At-rest encryption protects database dumps and backups. It does not defend against an attacker with shell access, who can read both configuration.php and the salt.

Updates and licence

  • GMC FreeAI is a commercial extension licensed through FuerteventuraTV (EUR 49); the code is released under the GNU GPL v2 or later.
  • With the Download Key set on the update site, updates arrive through the normal Extensions → Update flow — Check for Updates, select GMC FreeAI, run the update. Because you install the pkg_gmcfreeai package, one update refreshes all three extensions.
  • If an update is not offered, confirm the Download Key and the update-site feed, then clear the update cache.

Troubleshooting

SymptomLikely cause / fix
Chatbot widget doesn’t appearThe System – CMS Free AI plugin is disabled, or chatbot_enabled is off.
Provider shows “down” / “degraded” in Health CheckDown = ping error (bad/missing key, blocked outbound HTTPS). Degraded = slower than 8000ms; expect higher latency for NVIDIA reasoning models.
Ollama connection refusedThe URL must be https. Put Ollama behind a TLS reverse proxy (Caddy / nginx / Traefik) and point ollama_url at it — there is no plaintext-http escape hatch.
Scheduled articles never generateThe run due jobs task isn’t created or cron isn’t firing. Create it; stale job locks clear automatically after 1800s.

FAQ

  • Is it really free?

    The component is a one-off paid licence (EUR 49). “Free AI” is about the models: you supply your own key and it calls the provider directly, so you can run at zero token cost on a free tier (Groq’s is 14.4k requests/day) or a self-hosted Ollama. budget_mode can restrict it to free_only or ollama_only so it never touches a paid provider.

  • Which providers and models are supported?

    Six — Claude, OpenAI, Gemini, Groq, NVIDIA NIM and Ollama — each with its own key field and model picker (Claude Haiku 4.5 / Sonnet 4 / Opus 4.1, GPT-4o / 4o-mini, Gemini 1.5/2.0, Llama and Mixtral on Groq/NVIDIA, any locally-pulled model on Ollama). You can set a primary and a fallback.

  • Does it run on Joomla 5?

    Yes — Joomla 5.4 and newer, including 6.x. Earlier builds were Joomla-6-only; the current line restored 5.4 after confirming no Joomla-6-exclusive APIs are used. Sites on 5.0–5.3 are not offered updates.

  • Where are my API keys stored, and are they safe?

    AES-256-GCM encrypted at rest in the extensions table, keyed from your site $secret and a per-install salt. This protects DB dumps and backups, but not against someone with shell access, who can read both the secret and the salt.

  • What happens when a provider call fails?

    Transient errors (timeouts, HTTP 429, 5xx) are retried automatically, and a configured fallback provider takes over when the primary keeps failing. Jobs that still fail move to a failed state with backoff, with the trace written to the audit log (leaked secrets redacted).

www.fuerteventuratv.net es tambien una agencia online especializada en excursiones, actividades y locaciones en Canarias.
Somos Intermediadores Turisticos oficiales por el Gobierno de Canarias, con identificadores I-0003278.1

Social


Copyright www.fuerteventuratv.net From 2011. All Rights Reserved.