Seekmodo subscription required for AI search. The extension package installs at no charge. Pair a Knowledge base tenant for ranked Special:Search, universal suggestions, and click-trained relevance. Native MediaWiki search remains the permanent fallback.
# Install Seekmodo for MediaWiki ## Requirements - MediaWiki **1.39+** (1.41+ recommended) - PHP **8.0+** with `ext-json`, `ext-hash`, `ext-sodium` - A Seekmodo account ([seekmodo.com](https://seekmodo.com)) — choose the **Knowledge base** vertical at signup ## Steps 1. Extract the release zip so the extension lives at: ``` wikiroot/extensions/Seekmodo/ ``` 2. Add to `LocalSettings.php`: ```php wfLoadExtension( 'Seekmodo' ); // Optional: // $wgSeekmodoIndexableNamespaces = [ NS_MAIN, NS_HELP ]; // $wgSeekmodoTypeaheadUiEnabled = true; ``` 3. Run: ```bash php maintenance/update.php ``` 4. As a sysop, open **Special:Seekmodo** → **Connect to Seekmodo**. 5. After pairing, click **Queue full reindex** (or run): ```bash php extensions/Seekmodo/maintenance/SeekmodoIndex.php --full php maintenance/runJobs.php ``` 6. On [admin.seekmodo.com](https://admin.seekmodo.com) set mode to `shadow`, then `active` / `enforce` when ready. ## Modes | Mode | Behaviour | |------|-----------| | `off` | Native MediaWiki / CirrusSearch only | | `shadow` | Gateway called for telemetry; native results shown | | `active` | Auto-promote shadow ↔ enforce from health | | `enforce` | Seekmodo-ranked Special:Search; native/Enhanced Native on failure | ## LTR This connector emits `search` (via gateway), linked `click`, and `impression` events with `search_event_id`. Knowledge-base tenants use binary click labels (`accept_binary_labels=1`) — no cart/purchase events.
# Configuration ## LocalSettings.php | Variable | Default | Meaning | |----------|---------|---------| | `$wgSeekmodoGatewayUrl` | `https://mcp.seekmodo.com` | Gateway base (pairing JWT may override) | | `$wgSeekmodoConnectBaseUrl` | `https://seekmodo.com` | Pairing redirect host | | `$wgSeekmodoIndexableNamespaces` | `[0]` (NS_MAIN) | Namespaces to index | | `$wgSeekmodoTypeaheadUiEnabled` | `true` | Load search-suggestions UI | | `$wgSeekmodoSuggestLegacy` | `false` | Use flat `/v1/typeahead` instead of `<seekmodo-suggest>` | ## Stored after pairing (DB `seekmodo_config`) Mirrored from `tenant.snapshot` every few minutes: `mode`, `auto_promote`, `storefront_host`, `fallback_bundle` (pins/synonyms/rescue), `redirect_rules`, `banner_rules`, `ask_ai_enabled`, branding. Mode changes are authoritative on admin.seekmodo.com — Special:Seekmodo is read-only for mode.
Email support@seekmodo.com.