GoldenRetriever AI Chat

Description

GoldenRetriever AI Chat turns your WordPress site into a 24/7 AI chatbot — an advisor that talks like you and answers visitor questions grounded in your own content. Drop a chat widget on any page, or flip on the site-wide floating bubble. Your visitors get answers about your products, policies and posts in seconds — no live-chat staffing, no monthly SaaS fees, no third-party service holding your conversation history. You pay your AI provider directly for the tokens you use; the plugin adds no per-message charge of its own.

You bring your own Anthropic API key for Claude. The plugin sends your visitors’ messages and a system prompt grounded in your site content directly to Anthropic — never to a SaaS vendor in the middle. Conversations are rate-limited, capability-gated and origin-checked at the REST layer; the API key is encrypted at rest with AES-256-GCM tied to your WordPress salts.

Built for non-technical site owners. Five-minute setup from “install” to “ask my first question.” Native WordPress UI, Gutenberg block, classic shortcode, sensible defaults for every option, and a built-in Test Chat panel so you can sanity-check the advisor before any visitor sees it.

Features in this free release

  • Streaming Claude chat — Server-Sent Events flow tokens to the visitor as Claude generates them.
  • Encrypted BYO API key — Your Anthropic key is encrypted with AES-256-GCM at rest, tied to your WordPress salts. Only the last four characters are ever shown in the UI; the plaintext is never echoed back.
  • Three placements — site-wide floating bubble, Gutenberg GoldenRetriever AI Chat block, or [grchat_chat] shortcode; inherits your theme’s colours and fonts automatically.
  • Theme-inheriting widget — picks up --wp--preset--color--primary and your body font where the theme exposes them; falls back to a neutral palette.
  • Rendered, chunked FULLTEXT content index — posts and pages are rendered through the_content so shortcodes and page-builder output become searchable text, then chunked into a MySQL FULLTEXT index.
  • Incremental updates on save — the index updates automatically when you publish or update a post; no manual re-index needed for routine changes.
  • Resumable “Reindex all content” job — a one-click full reindex with a live progress bar; safe to stop and restart at any time.
  • URL and file knowledge sources — administrators can add a public URL (SSRF-guarded via wp_safe_remote_get()) or upload .txt / .md files to extend the knowledge base.
  • Configurable maximum response length — cap token usage per reply to control cost.
  • Signed-token + rate-limited public chat endpoint — the anonymous front-end chat endpoint is protected by a short-lived signed request token; per-IP and global rate limits (both filterable) stop abusive traffic.
  • Advanced prompt editing with reset — edit the system prompt in the admin, inject important links (booking URL, contact page, support email) automatically into every conversation, and reset to the shipped default with one click.
  • Important links injection — the advisor automatically weaves your booking URL, contact page, and support email address into answers; no manual prompt editing required.
  • Email me this chat — visitors can email themselves the conversation transcript from inside the widget. Consent-aware: the visitor’s email is stored in your site’s own database only when they opt in (not sent to any external service). Administrators can view captured leads in wp-admin, export them as a CSV from the Leads tab, and the table is fully covered by WordPress’s built-in privacy exporter and personal-data eraser tools.
  • Leads tab — paginated list of visitors who opted in to receive their transcript, with CSV export and injection-safe column handling. Pro routes leads to your inbox or CRM with full conversation context.
  • Bug report — the Support tab lets you send a pre-filled diagnostics report to the support team via your own email client (mailto), with recent log entries attached. No data leaves your server until you click Send in your email app.
  • Refer a friend — one-click referral link from the Support tab (draft copy shipped; final wording is a pending decision).
  • Optional “Get your own” widget link — a small, configurable attribution link in the widget footer that drives word-of-mouth. Toggle it off from the Appearance tab.
  • Full uninstall cleanup — removing the plugin drops all plugin-created tables and options; no orphaned data.

How it works in three steps

  1. Install the plugin and activate it. WordPress redirects you straight to the Settings tab on first run.
  2. Paste your Anthropic API key, pick a Claude model (Sonnet, Opus or Haiku), and save. The key is encrypted before it hits the database.
  3. Decide where the chat lives — flip Floating widget on for site-wide, or drop the [grchat_chat] shortcode / GoldenRetriever AI Chat block on any page.

What’s coming in GoldenRetriever AI Chat Pro

The free version is the chat surface. Pro adds OpenAI and Gemini providers, multi-persona advisors, PDF/DOCX/CSV file knowledge with embeddings retrieval, lead routing to your inbox/CRM with full conversation context, and white-labelling — all as a separate plugin you install alongside the free version. No data migration, no breakage. Voice conversations are on the longer-term roadmap as a future Pro+ release.

External services

This plugin connects to third-party services that you configure and pay for
directly with your own API keys. It includes no central service operated by us.

  1. Your chosen AI provider (Anthropic Claude — api.anthropic.com).
    When a visitor sends a chat message, the plugin sends the conversation and
    the relevant excerpts of your site content to the AI provider you configured,
    using the API key you entered, and streams the reply back. This happens only
    on an explicit chat action. Data sent: the visitor’s messages and the matched
    site-content excerpts. Anthropic terms: https://www.anthropic.com/legal/commercial-terms
    — privacy: https://www.anthropic.com/legal/privacy

  2. Administrator-added knowledge-source URLs (your server the URL you enter).
    When a site administrator adds a URL as a knowledge source on the Knowledge
    tab, the plugin fetches that URL directly from your server (using WordPress’s
    built-in wp_safe_remote_get(), which blocks private/internal addresses). The
    request goes from your server to the public URL you entered; no data is sent
    to any third party in the process. Only administrators (manage_options) can
    add or refresh sources.

  3. “Email me this chat” lead capture (your site’s database only).
    When a visitor opts in to receive a transcript of their chat conversation
    by email, the plugin stores their email address in your site’s own
    database (table wp_grchat_leads). No data is sent to us or any third
    party. The transcript email is sent via your site’s own wp_mail() function,
    using your server’s configured mail transport. The visitor’s email address
    is stored only with their explicit consent, and only on your own server.

Apart from the administrator-initiated knowledge-source fetch above, the only
outbound HTTP calls are to your chosen AI provider, and only on explicit user
action. The plugin does not use embeddings (Anthropic provides no embeddings
API); semantic/embeddings retrieval is a separate Pro feature, not in this
free plugin.

Screenshots

Blocks

This plugin provides 1 block.

  • GoldenRetriever AI Chat

Installation

  1. From your WordPress admin, go to Plugins Add New, click “Upload Plugin”, choose the .zip and click Install Now. (Or unzip into /wp-content/plugins/.)
  2. Activate GoldenRetriever AI Chat through the Plugins screen. WordPress will redirect you to Settings GoldenRetriever AI Chat on first run.
  3. Paste your Anthropic API key (get one at https://console.anthropic.com/), pick a model, set a system prompt, and Save.
  4. Open the Test Chat tab and ask a question to confirm the round-trip works.
  5. Decide where the advisor appears: flip the Appearance tab’s Floating widget on for site-wide, drop the GoldenRetriever AI Chat block on a page in the block editor, or paste [grchat_chat title="Ask us anything"] into a post.

FAQ

Do I need a developer to install this?

No. If you can install a WordPress plugin from the admin, you can install GoldenRetriever AI Chat. The setup is a paste-a-key-and-save flow; the Connection Test tab tells you exactly what to do if anything is off — usually it’s a one-line message to send your hosting provider.

Which AI provider does this use?

The free version uses Claude (Anthropic). Pro adds OpenAI (GPT) and Gemini (Google) as alternative providers. You bring the API key for whichever provider you choose; there is no markup, you pay your provider directly.

How much will I actually spend on AI?

For a small business site receiving roughly 30 advisor conversations a day, expect £5–£15 per month with Claude Sonnet 4.6 (the recommended default). Claude Haiku is cheaper for higher volumes; Opus is more expensive but more capable. Anthropic bills you directly per token used.

Does this work with my theme?

Yes. The widget inherits your theme’s primary colour (via --wp--preset--color--primary) and body font where the theme exposes them, falling back to a neutral indigo + system font stack. It’s been verified against Twenty Twenty-Five and the major block themes.

Where does my data live?

Inside your WordPress database. The plugin doesn’t have a server. It doesn’t see your content, your visitors, or your conversations. The only outbound traffic is the API call to Anthropic that you authorise by configuring an API key. Conversation history isn’t stored server-side beyond a per-session browser cookie that lets visitors continue a conversation across page loads.

Can I see what the advisor would say before publishing?

Yes. The Test Chat tab in the admin lets you run real conversations against your configured model end-to-end, without any visitor seeing the widget. The Knowledge tab also includes a Test Retrieval panel that shows you which posts the advisor would quote for a given query.

How does the plugin protect my Anthropic API key?

The key is encrypted with AES-256-GCM tied to your WordPress salts before it’s written to the database, and the option is stored with autoload=no. The admin UI only ever displays a masked form (••••XXXX). The plaintext key is read only at the moment a chat is being served.

How does it stop visitors from running up my Anthropic bill?

The plugin enforces a per-IP rate limit (30 messages/hour by default) and a global rate limit (200 messages/hour by default) before any call to Anthropic. Both limits are filterable. The widget also caps individual messages at 4,096 characters and conversations at 20 messages.

Will my visitors’ conversations be private?

Conversations go directly from your visitor’s browser through your WordPress site to Anthropic and back. They are not logged on disk, not analytics-tracked, not sent to any third-party server we operate (we don’t have one). Anthropic processes the messages per their published privacy policy.

How does the content index work — will page builder content be indexed?

Yes. GoldenRetriever AI Chat runs each post through the_content before indexing, which executes shortcodes and page-builder block output exactly the same way WordPress renders them for visitors. This means rendered text — including prices, product names, or any text generated by shortcodes — becomes searchable and can be quoted in answers.

If you want to exclude a specific post from the index (for example, a page you keep published for internal reasons), use the grchat_index_render_content filter: return false for that post’s ID and it will be skipped during indexing.

Why doesn’t the advisor know about content on my homepage or builder pages?

Some sites store their visible copy in shortcodes or page-builder plugins (Elementor, Divi, Bricks, a “Custom Code” plugin, etc.) that only register their handlers on front-end requests. In that context WordPress leaves the shortcode tags unexpanded, so the index sees [ccj id="tabmenu"] instead of real content. The same issue applies to pricing tables, review carousels, or WooCommerce product tabs injected by JavaScript after the raw post content is processed.

GoldenRetriever AI Chat handles this automatically: during indexing it fetches each public page via its own front-end URL (a “loopback self-fetch”), strips the chrome (navigation, header, footer, sidebars, scripts), and indexes whichever version is richer — the admin-context render or the fetched page. Your homepage is covered too, even when it is a custom theme template, via an auto-created “Homepage (auto)” URL source. No configuration is needed — run a full Reindex (Knowledge tab Reindex all content) and the advisor picks up the visitor-facing copy.

Each post needs one HTTP fetch during a reindex (and one when you save it), so a reindex of a large site runs in the background; it is resumable, so you can leave it and come back. Developer filters to skip the fetch, opt out of the auto homepage source, or force the fetched version for specific posts are available — see the plugin’s developer documentation.

Is there a Pro version?

Yes — Pro adds OpenAI + Gemini providers, multi-persona advisors, file-upload knowledge (PDF/DOCX/TXT/MD/CSV) with embeddings retrieval, lead routing to your inbox/CRM with full conversation context, and white-labelling. It installs as a separate plugin and works alongside the free version. The free plugin keeps working forever — Pro never holds it hostage. Voice conversations are on the longer-term roadmap as a future Pro+ release.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“GoldenRetriever AI Chat” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

The complete version history is in changelog.txt. Recent releases:

0.9.7

  • New: Claude Opus 4.8 is now the selectable “most capable” model (replaces Opus 4.6 in the dropdown); Claude Sonnet 4.6 remains the recommended default.
  • Privacy: the “Email me this chat” consent checkbox now defaults to unticked, so transcript opt-in is always an explicit, affirmative action.
  • Compliance: admin JavaScript that was previously inline is now enqueued via wp_enqueue_script (Settings API-key toggle, Appearance colour-picker sync) per WordPress.org guidelines.
  • Docs: corrected the Plugin URI to the plugin’s home page and clarified that Cloudflare edge IP ranges are bundled, not fetched remotely.

0.9.6

  • New: Advanced prompt editing — edit the system prompt in the admin, inject important links (booking URL, contact page, support email) automatically, and reset to the shipped default with one click.
  • New: Email me this chat with consent-aware lead capture — visitors can email themselves the conversation transcript; their email address is stored in your own database (table grchat_leads) only when they explicitly opt in. Administrators can view and export leads from the new Leads tab (CSV download). The lead table is registered with WordPress’s built-in privacy exporter and personal-data eraser so your site handles subject-access and erasure requests without custom code.
  • New: Refer a friend — the Support tab includes a one-click pre-filled email draft so you can recommend the plugin to colleagues.
  • New: Optional widget attribution link — a small “Get your own GoldenRetriever” link in the widget footer. This feature is opt-in and off by default; enable it from the Appearance tab. When enabled it links to the product site with UTM attribution parameters so you can measure word-of-mouth conversions.
  • New: Support tab — send a pre-filled diagnostics bug report via your own email client (no data leaves your server until you click Send in your mail app).
  • New: refreshed default look — the GoldenRetriever mark on the chat bubble and a friendlier default button label (“Ask our AI”). Both remain fully customisable under Appearance.
  • Security: prompt-injection hardening — all site content, document text, and visitor messages are framed as data, and important-links are injected via a delimited block the model is instructed to treat as configuration, not instructions.
  • Fixed: posting the unmodified default system prompt back from the admin no longer pins it as a custom override.

Older releases (0.9.5 and earlier) are listed in changelog.txt.