expai
Available since Exponential 6.0.15 (in development, not in a release yet).
Summary
A writing assistant for the Exponential administration interface: a conversation panel on the content full view and controls in the content edit form. It writes drafts only, as the logged-in editor and with the editor's permissions, labels them "Exponential Intelligence" and leaves publishing (with approval where the site requires it) to the editor.
Properties
| Property | Value |
|---|---|
| Directory | extension/expai |
| Name | Exponential Intelligence |
| Version | 0.0.1.22 |
| License | GNU General Public License v2.0 (or any later version) |
| Website | https://github.com/se7enxweb/expai |
Module expai
The module "expai" (Exponential Intelligence).
| View | Parameters | Policy | Summary |
|---|---|---|---|
| alttext | (node) | expai/write | expai/alttext (policy expai/write): the "Missing alt text" report (doc/alt-text.md). |
| budgets | - | expai/log | expai/budgets (policy expai/log): queued requests and their money. |
| chain | (run), (offset) | expai/chain | expai/chain (policy expai/chain): AI chains (doc/chains.md). |
| dashboard | (offset), (node), (period), (scope), (chart), (again) | expai/write | expai/dashboard: the Exponential Intelligence page of the Dashboard tab (navigation part ezmynavigationpart, menu entry in menu.ini ... |
| log | (offset), (view), (export), (from), (to), (user), (node), (action), (model), (errors), (sort), (dir), (provider), (region), (request), (thread), (unpriced) | expai/write | expai/log: what Exponential Intelligence did and what it used. |
| models | (provider) | expai/model_manage | expai/models (policy expai/model_manage): the providers and models of the registry (region, retention, key present - never the key -, tool ... |
| stream | (thread), (after) | expai/vector | expai/stream: Server-Sent Events of the current user's threads (doc/vector.md "How events reach the browser"). |
| summary | - | expai/summary | expai/summary (policy expai/summary): the "EI: Summary" page for a data protection officer (doc/summary.md). |
| vector | (thread), (node), (tab), (shelf) | expai/vector | expai/vector: the Vector workspace (doc/vector.md). |
Policy functions: chain (Chain); lane_fast; log; mcp (Server); model_manage; model_use (Provider); services (Domain); settings; summary; translation_sync; vector (Subtree, Section, Scope, Review); web (Tool); write.
Source: extension/expai/modules/expai/module.php
Fetch functions
| Function | Parameters | Calls | Summary |
|---|---|---|---|
| fetch( 'expai', 'alt_text_model' ) | object | expAiAltTextFunctionCollection::fetchModel() | alt text for images (#370 M5 alt text, classes/alttext/): fetch( 'expai', 'alt_text_model', hash( 'object', $object ) ) the vision model ... |
| fetch( 'expai', 'alt_text_required' ) | attribute | expAiAltTextFunctionCollection::fetchAltTextRequired() | fetch( 'expai', 'alt_text_required', hash( 'attribute', $attribute ) ): whether the image field refuses an empty alt text (the class ... |
| fetch( 'expai', 'budget_status' ) | - | expAiBudgetFunctionCollection::fetchStatus() | budgets (classes/budget/): fetch( 'expai', 'budget_status' ) the monthly site budget of queued requests (users with expai/log) |
| fetch( 'expai', 'chain_runs' ) | limit (optional), node_id (optional) | expAiChainFunctionCollection::fetchRuns() | |
| fetch( 'expai', 'chains' ) | - | expAiChainFunctionCollection::fetchChains() | AI chains (classes/chain/): fetch( 'expai', 'chains' ) the chains the user may start; fetch( 'expai', 'chain_runs', hash( 'limit', 5, ... |
| fetch( 'expai', 'edit_presets' ) | object, attributes (optional) | expAiPresetFunctionCollection::fetchEditPresets() | editor presets and the Improve menu (classes/fieldactions/expaieditpresets.php): fetch( 'expai', 'edit_presets', hash( 'object', $object, ... |
| fetch( 'expai', 'models' ) | - | expAiFunctionCollection::fetchModels() | |
| fetch( 'expai', 'my_draft_count' ) | - | expAiFunctionCollection::fetchMyDraftCount() | |
| fetch( 'expai', 'my_drafts' ) | offset (optional), limit (optional) | expAiFunctionCollection::fetchMyDrafts() | |
| fetch( 'expai', 'my_threads' ) | limit (optional) | expAiThreadFunctionCollection::fetchMyThreads() | threads (classes/vector/): fetch( 'expai', 'my_threads', hash( 'limit', 6 ) ) the current user's own threads |
| fetch( 'expai', 'switched_on' ) | - | expAiGate::fetchSwitchedOn() | the master switch (#370 M2, doc/switch-and-veto.md): fetch( 'expai', 'switched_on' ) [AISettings] Enabled and DisabledSiteAccesses[] for ... |
| fetch( 'expai', 'unavailable_field_actions' ) | - | expAiFunctionCollection::fetchUnavailableFieldActions() | the field actions that cannot be used at all (doc/translation-providers.md): fetch( 'expai', 'unavailable_field_actions' ), e.g. |
| fetch( 'expai', 'waiting_for_my_approval' ) | - | expAiFunctionCollection::fetchWaitingForMyApproval() |
Template operators
| Operator | Named parameters | Class |
|---|---|---|
| expai_help_url | page (optional) | expAiTemplateOperators |
| expai_json | - | expAiTemplateOperators |
| expai_money | approx (optional) | expAiTemplateOperators |
| expai_number | decimals (optional) | expAiTemplateOperators |
| expai_retention | - | expAiTemplateOperators |
| expai_tokens | - | expAiTemplateOperators |
Workflow events
| Type string | Name | Source |
|---|---|---|
| expaitranslationsync | Exponential Intelligence: translation sync | extension/expai/eventtypes/event/expaitranslationsync/expaitranslationsynctype.php |
Settings files
| File | Groups |
|---|---|
| extension/expai/settings/admininterface.ini.append.php | [WindowControlsSettings], [AdditionalTab_expai], [AdditionalTab_expai_media] |
| extension/expai/settings/audit.ini.append.php | [AuditEventSettings], [AuditChannelSettings], [AuditChannel_ai], [AuditSourceSettings], [AuditAlertSettings], [AlertRule_expai_request_failures] |
| extension/expai/settings/browse.ini.append.php | [ExpAiStartWriting] |
| extension/expai/settings/content.ini.append.php | [EditSettings] |
| extension/expai/settings/cronjob.ini.append.php | [CronjobSettings], [CronjobPart-expai] |
| extension/expai/settings/dashboard.ini.append.php | [DashboardSettings], [DashboardBlock_expai_drafts] |
| extension/expai/settings/design.ini.append.php | [ExtensionSettings], [JavaScriptSettings], [StylesheetSettings] |
| extension/expai/settings/expai.ini.append.php | [AISettings], [ProviderSettings], [Provider_huggingface], [Provider_openrouter], [Provider_mistral], [Provider_melious], [Provider_local], [Model_huggingface.gpt-oss-120b], [Model_openrouter.gpt-oss-120b], [Model_local.qwen3.5-4b], [Model_local.qwen3.5-2b], [Model_melious.glm-5.3-flash], [Model_melious.glm-5.3], [Model_melious.deepseek-v4-flash-0731], [Model_melious.deepseek-v4.1-flash], [Provider_openai], [Provider_gemini], [Lane_anthropic.standard], [Lane_anthropic.batch], [Lane_anthropic.fast], [Lane_openai.flex], [Lane_openai.batch], [Lane_gemini.batch], [Lane_gemini.flex], [Lane_mistral.batch], [Lane_openrouter.batch], [Lane_openrouter.flex], [LanePolicy], [Budgets], [QueueSettings], [AssistantSettings], [ToolSettings], [RichTextSettings], [Tool_get_node], [Tool_list_children], [Tool_get_tree_context], [Tool_list_creatable_classes], [Tool_get_class_definition], [Tool_search_content], [Tool_create_draft], [Tool_update_draft], [PanelSettings], [PanelSection_conversation], [PanelSection_drafts], [PanelSection_chains], [ChainSettings], [Chain_article], [ChainStep_article.write], [ChainStep_article.review], [ChainStep_article.revise], [ChainStep_article.seo], [ChainStep_article.checkpoint], [ChainStep_article.translate], [EditViewSettings], [EditSection_assistant], [FieldAction_write], [FieldAction_rewrite], [FieldAction_shorten], [FieldAction_translate], [FieldAction_suggest], [DashboardSettings], [LabelSettings], [LogSettings], [UsageSettings], [RetentionSettings], [Limits], [Pricing], [DataPolicy], [RequestVeto], [ServiceTools], [ProbeSettings], [LocalModelSettings], [McpBridge], [McpSettings], [McpServer_docs], [PanelSection_threads], [ThreadSettings], [VectorSettings], [VectorPane_plan], [VectorPane_diff], [VectorPane_cost], [KeyBindings], [Tool_web_fetch], [Tool_web_search], [Tool_project_history], [WebSettings], [SearchSettings], [SearchProvider_brave], [HistorySettings], [HistoryRepository_example], [DiffSettings], [TranslationSync], [PanelSection_translations], [TranslationSettings], [TranslationProvider_llm], [TranslationProvider_deepl], [TranslationProvider_libretranslate], [EditSection_alttext], [FieldAction_alt_text], [AltTextSettings], [EditPresets], [Presets], [FieldAction_preset_title], [FieldAction_preset_summary], [FieldAction_preset_meta_description], [FieldAction_preset_keywords], [FieldAction_improve_shorten], [FieldAction_improve_expand], [FieldAction_improve_clarify], [FieldAction_improve_grammar], [FieldAction_improve_simplify], [FieldAction_improve_formal], [FieldAction_improve_casual], [SummarySettings], [ModelTest], [WebBudget], [ModelStats] |
| extension/expai/settings/exphelp.ini.append.php | [ContextHelp] |
| extension/expai/settings/expqueue.ini.append.php | [JobType_expai.request], [JobType_expai.batch.submit], [JobType_expai.batch.poll], [QueueResource_anthropic:standard], [QueueResource_anthropic:fast], [QueueResource_anthropic:batch], [QueueResource_anthropic:batch-api], [QueueResource_openai:flex], [QueueResource_openrouter:flex], [JobType_expai.thread.turn], [JobType_expai.thread.item], [JobType_expai.translation.check], [JobType_expai.translation.run], [QueueResource_translation:deepl], [QueueResource_translation:libretranslate], [JobType_expai.alttext], [JobType_expai.model.test], [JobType_expai.exchange.rates] |
| extension/expai/settings/ezjscore.ini.append.php | [ezjscServer], [ezjscServer_expai], [ezjscServer_expaivector], [ezjscServer_expaitranslation], [ezjscServer_expaialttext], [ezjscServer_expaipreset], [ezjscServer_expaimodel], [ezjscServer_expairevert], [ezjscServer_expaiwatch] |
| extension/expai/settings/menu.ini.append.php | [Leftmenu_my], [Leftmenu_setup], [Leftmenu_audit], [Leftmenu_design] |
| extension/expai/settings/module.ini.append.php | [ModuleSettings] |
| extension/expai/settings/rad.ini.append.php | [RegistrySettings], [Registry_expai_provider_types], [Registry_expai_providers], [Registry_expai_models], [Registry_expai_batch_apis], [Registry_expai_lanes], [Registry_expai_tools], [Registry_expai_search_providers], [Registry_expai_translation_providers], [Registry_expai_mcp_servers], [Registry_expai_mcp_bridge_tools], [Registry_expai_service_tools], [Registry_expai_chains], [Registry_expai_chain_steps], [Registry_expai_field_actions], [Registry_expai_presets], [Registry_expai_appliers], [Registry_expai_segmenters], [Registry_expai_panes], [Registry_expai_history_repositories], [Registry_expai_data_policy], [Registry_expai_request_veto] |
| extension/expai/settings/site.ini.append.php | [RegionalSettings], [TemplateSettings], [Event] |
| extension/expai/settings/workflow.ini.append.php | [EventSettings] |
Source
extension/expai (extension.xml, ezinfo.php, modules/*/module.php, modules/*/function_definition.php, autoloads/eztemplateautoload.php, datatypes/, eventtypes/, settings/)
Added to the reference for Exponential 6.0.15.
Contributors
- Graham Brookins Updated
Comments
Add a comment