Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

expai: Exponential Intelligence

Read this page to decide whether to switch on Exponential Intelligence, the writing assistant of the administration interface, and to find its own documentation. The extension is the Composer package se7enxweb/expai…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/features/6.0/extensions/expai.md

On this page

expai: Exponential Intelligence

Read this page to decide whether to switch on Exponential Intelligence, the writing assistant of the administration interface, and to find its own documentation. The extension is the Composer package se7enxweb/expai, required by composer.json from 6.0.15 on (~0.0.1.0), so it is in extension/expai on every installation and stays inactive until it is activated. Its full documentation lives with it, in the expai repository.

In short

What it doesEditors ask in plain language for new content or changes; the assistant looks up what it needs and writes drafts, as the signed-in editor and with that editor's permissions. It never publishes on its own.
WhereThe Intelligence tab of a node's full view, the edit form (field actions, presets, Improve menu, alt text), Vector (threads), Dashboard > Exponential Intelligence, Setup > EI: Summary
ProvidersAnthropic, any OpenAI-compatible service (Melious.ai in the EU, Hugging Face, OpenRouter, Mistral ...), a local open-weight model through Ollama
NeedsExponential 6.0.14 or later, PHP 8.0+ with curl, dom, json, mbstring; ezjscore, ezformtoken; expqueue for queued work; a provider key or a local model
Release0.0.1.0

For editors

  • The Intelligence tab: a conversation per user and node; each lookup and each draft is a step; the drafts it wrote are listed with links to edit, view and discard them. Save as drafts keeps them, Send for approval runs the normal publish operation as the editor, so an approval workflow holds the version.
  • The edit form: "Fill the fields" from a brief, actions per field (Write, Rewrite, Shorten, Translate, Suggest), presets per class (title, summary, meta description, keywords), an Improve menu on every text field and a line with the model, region and cost of a click. Values go into the form for review.
  • Alt text for images from a vision model, and a "Missing alt text" report that queues suggestions for a subtree.
  • Vector: threads with scope, plan and write modes, plan mode with a cost estimate, staged review of every change per field and part, parallel runs of an approved plan, checkpoints, live progress over Server-Sent Events, and What changed with revert for drafts written directly.
  • AI chains (write, review, revise, SEO, a human checkpoint, translate) and translation sync run through the job queue.

For administrators

  • Providers and models, with a fallback to the site default, and a probe: only models that passed a live tool-calling probe (or are trusted by configuration) may write drafts.
  • Data policy: a region (us, eu, local) and retention per provider, rules per section and class, enforced everywhere and recorded per request.
  • Usage, cost, limits and budgets: every request in a usage log (user ids only), the estimated cost from a price table (prices in another currency converted with the ECB reference rates), limits per user, day, month, site and provider, lanes and batch APIs for bulk work, budgets for queued work.
  • Master switch ([AISettings] Enabled, also off per siteaccess) and a veto hook that refuses a request with a reason.
  • Audit: every request, draft and draft state change is an event of the channel ai of the audit trail, with its own source in the audit console (dashboard panel, links, charts, CSV columns). Prompts, answers and keys are never recorded.
  • EI: Summary (expai/summary): one printable page for a data protection officer with every provider's region, retention, terms date and key source (never the key), roles, lanes, limits and outside tools.

For developers

Switch it on

  1. Activate it for the admin siteaccess(es): in the site.ini.append.php of each admin siteaccess, [ExtensionSettings] ActiveAccessExtensions[]=expai (or ActiveExtensions[]=expai in settings/override/site.ini.append.php for every siteaccess). With the per-siteaccess form, every script and cron line that needs expai names that siteaccess with -s <admin siteaccess>.

  2. Keys go into settings/override/expai.ini.append.php only (mode 0640, never committed):

    [AISettings]
    Enabled=true
    ApiKey=<your provider key>
  3. Create the tables, on any engine of the kernel (idempotent; also the upgrade):

    php extension/expai/bin/php/expaischema.php --install -s <admin siteaccess>
  4. Give editors expai/write and ezjscore/call (function list expai); further policies open Vector, chains, web and MCP tools.

  5. php bin/php/ezpgenerateautoloads.php -e, clear the INI and template caches, reload PHP-FPM or run ./console exp:velocity deploy --packer.

  6. Cron: php runcronjobs.php -q -s <admin siteaccess> expqueue every minute and php runcronjobs.php -q -s <admin siteaccess> expai every few minutes.

The complete steps, with streaming behind Apache or nginx and the checks: the installation guide. Day to day use: the usage guide. Every topic: the documentation index, also shown in the administration at expai/help.

Become an Exponential Partner

Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x