WP Manifestindependent plugin directory
manifest / ai / samomind-ai-assistant

SamoMind AI Assistant

Plugin to connect WordPress website to SamoMind

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/felixkipyego/samomind-ai-assistant/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

WordPress plugin that keeps a SamoMind AI assistant's knowledge base in sync with the site's public content, and adds the SamoMind chat widget.

Install

  1. Zip the plugin without the development files (.distignore lists them), or copy the folder to wp-content/plugins/samomind-ai-assistant.
  2. Activate SamoMind AI Assistant in Plugins. A SamoMind menu appears with Status and Settings.

Connect

  1. In the SamoMind dashboard (app.samomind.com), open Sources, then the WordPress card, and click Create an ingest key. The dashboard shows a key id (a UUID) and a secret (smik_...). The secret is shown only once. Creating a new key revokes the old one at once, so every connected site stops until it gets the new key.

  2. In WordPress, open SamoMind > Settings. Paste the secret and click Save secret. Paste the key id and click Save Settings. Leave the API base URL at https://api.samomind.com unless SamoMind gives you a staging address.

    To keep the secret out of the database, put it in wp-config.php instead; the constant wins and the field becomes read-only:

    define( 'SAMOMIND_API_SECRET', 'smik_...' );
  3. Open SamoMind > Status and click Connect. The site appears in the dashboard's WordPress card, and the first full sync starts in the background. A refusal is shown with the API's own message and code.

The saved secret is never shown again, never logged, and only used to sign requests (HMAC-SHA256, contract section 5.2). It is never sent.

What is synced

Published, public, not password-protected:

  • pages and posts
  • public custom post types (public and publicly queryable; never attachments or WordPress internals)
  • WooCommerce products when WooCommerce is active, except those with catalog visibility "hidden"; orders, carts and customers are never read

Per item: the post id, permalink, title, text (the rendered content with shortcodes and blocks applied, reduced to plain text, plus the excerpt and, for products, the short description), kind (page, post, product or custom), modified time, and the names of its public taxonomy terms. Products add price and stock status.

SamoMind > Settings > What is synced lists these post types, all ticked by default. Untick a type to stop syncing it: its published items are queued for deletion and removed from SamoMind in the background. Ticking it again adds them back at the next daily reconcile, or click Sync now. A post type registered later is ticked until you untick it.

Never sent: drafts, scheduled, pending, private or password-protected content, users, visitors, comments, form entries, orders, media files.

When content changes:

On the site Request
publish or update /documents (about 30 seconds later, batched)
trash, unpublish, make private, add a password, delete /documents/delete
connect, "Sync now" full sync: /sync begin, /documents batches, /sync complete, then reconcile
daily /checkin, then /reconcile
uninstall, "Disconnect", wp samomind disconnect /disconnect (SamoMind removes this site's documents)
deactivate nothing; scheduled work stops until you reactivate

Background work runs on Action Scheduler when WooCommerce provides it, otherwise on WP-Cron. WP-Cron runs when the site gets visits; on a quiet site, use a real cron job (wp cron event run --due-now).

If the site is disconnected in the SamoMind dashboard, the dashboard wins: the plugin forgets the connection, sends nothing more, and shows "Disconnected from the SamoMind dashboard." with a Connect button. It never reconnects by itself.

The Status page shows the connection, sync progress, the last full sync's counts and the last 200 requests (time, endpoint, HTTP status, code; never bodies). The SamoMind API does not report the indexed page count to the plugin; the dashboard shows it.

Chat widget

Paste the snippet from the dashboard's Widget screen into SamoMind > Settings > Embed snippet. It prints in the footer of every front-end page. Only a single `