Shopping Assistant Plugin Documentation

Shopping Assistant for nopCommerce Turn Product Search into Intelligent, Conversational Shopping.

The nopStation Shopping Assistant Plugin transforms traditional product search into an intuitive, conversational shopping experience. Instead of navigating through multiple categories, filters, and product pages, customers can simply describe what they need in everyday language, refine results through follow-up questions, preview products with Quick View, and add items directly to their cart.

Built specifically for nopCommerce, the Shopping Assistant works with your existing catalog, pricing, inventory, customer roles, and shopping cart. It provides fast, deterministic product discovery without requiring external LLM services or recurring AI token costs.

Whether customers are looking for a product by brand, price, category, attribute, or a combination of requirements, Shopping Assistant helps them move from “What should I buy?” to “Add to cart” with fewer steps.

PRE-REQUISITES

  • The plugin requires you to install the Nop-Station Core plugin first.

INSTALLATION

  • Download the Shopping Assistant Plugin from our store https://nop-station.com/customer/downloadableproducts.
  • You can learn more about the installation and licensing here.
  • Go to Administration → Configuration → Local plugins.

Local plugins menu

  • Select the NopStation.Core file and upload it by clicking the 'Upload plugin or theme' button.

Upload plugin or theme popup

  • Select the NopStation. Shopping Assistant Plugin file.
  • Upload the file using the 'Upload plugin or theme' button.
  • After uploading the plugin, go to the Administration. Install 'Nop-Station Core' Plugin first and then install ' NopStation. Shopping Assistant plugin.

Install Nop-Station Core

Install Shopping Assistant plugin

  • To make the plugins functional, restart the application.

Restart application button

  • You can configure the plugin by clicking on Configure from the Local Plugins page. Alternatively, go to nopStation → Plugins→ NopStation. Shopping Assistant → Configure NopStation. Shopping Assistant Plugin, enable the required options, and click Save.

Shopping Assistant Configuration General Settings

Shopping Assistant Configuration Search & Retrieval

Shopping Assistant Configuration Advanced Options

General Settings

SettingDefaultDescription
Enable assistanttrueGlobal toggle to activate or deactivate the storefront chat widget launcher across public pages.
Page size6The number of product cards returned per conversational response before offering pagination / "Show more" suggestion chips.
Max search results50Maximum candidate products retrieved from the internal search index before post-filtering and live validation.
Show related in Quick ViewtrueWhen enabled, the Quick View modal renders related products and cross-sells underneath the primary product details.
Delete data on uninstalltrueIf checked, uninstalling the plugin removes all assistant tables and deletes the index directory.

Relevance & Search Settings

SettingDefaultDescription
Enable fuzzy searchtrueEnables tolerance matching for misspelled words absent from the catalog term dictionary.
Max fuzzy edit distance1Maximum allowed edit distance for fuzzy term queries (1 or 2). Default 1 ensures high precision without query bloat.
Exact match boost3.5Relevance boost when tokens match a field exactly. Keep clearly above fuzzy/contains so correct spelling wins.
Fuzzy match boost0.55Relevance multiplier for typo / near-miss matches (edit distance ≤ Max fuzzy edit distance).
Contains match boost0.45Boost for sub-string / n-gram matches. Requires Enable N-Gram Match.
Indexed product fieldsName, Sku, ShortDesc, Mpn, Gtin, Manufacturer, Category, …Which product document text Lucene indexes and searches (“find products that mention …”). Rebuild the product index after changing.
Indexed dictionary entitiesCategories, Manufacturers, ProductTags, Specs, ProductAttributesWhich catalog lists can be recognized as filters/slots in the store language (brand, category, color, …). NLU entity recognition.

Product Search Fields (Boost & Exact)

On the Configuration page (Search card), the Product Search Fields table controls Lucene relevance per indexed field. Edit multiple rows, then click the top-level Save button — there is no separate Apply or per-row save.

NameBoost Score (default)Exact Search Enabled (default)
Product Name10.0Yes
SKU10.0Yes
GTIN10.0Yes
Manufacturer Part Number10.0Yes
Category Names7.5No
Manufacturer Names8.5Yes
Product Tags4.5No
Specification Attributes3.5No
Product Attributes3.5No
Short Description2.0No
  • Name — read-only localized field label.
  • Boost Score — editable non-negative number (decimals allowed, e.g. 10.0, 5.5). Used as Lucene field weight (Name^10, Sku^10, …).
  • Exact Search Enabled — when checked, an exact match in that field scores higher than fuzzy/partial matches (ExactMatchBoost × 2 vs ExactMatchBoost). For SKU, GTIN, and Manufacturer Part Number, exact + prefix are preferred over fuzzy. Default install also enables Exact on Product Name and Manufacturer Names so title/brand hits outrank soft description noise.

Invalid (negative / non-numeric) boost values are rejected on Save. Setting key: SearchFieldBoostConfigJson (store-overridable with the standard override checkbox).

Session & Security Settings

Session & Safety Configuration

SettingDefaultDescription
Session idle (minutes)30Duration of inactivity before an assistant conversation session is considered expired and archived.
Rate limit per minute30Maximum chat messages allowed per IP/session per minute to protect the server from automated scraping or excessive traffic.
Log query textfalseEnables detailed logging of raw customer queries for debugging and audit purposes.

Advanced Semantic & Structured Retrieval Settings

The Advanced configuration card enables fine-tuning of the Layer 3 structured retrieval engine, entity relaxation rules, and match evidence scoring:

SettingDefaultDescription
Enable did-you-meantrueActivates SymSpell catalog-grounded spelling correction on zero initial hits to suggest or auto-correct to valid catalog terms.
Enable merchandising rulestrueEnables merchant Pin, Boost, Demote, and Exclude ranking adjustments during result evaluation.
Prefer in-stock firsttrueRanks available in-stock inventory ahead of out-of-stock items.
Prefer structured retrieval firsttrueDirects the assistant query planner (Layer 3) to execute structured catalog entity filtering (category, manufacturer, specs, tags) first, falling back to lexical search.
Min entity confidence (%)70Confidence threshold required for an extracted entity to be applied as a hard constraint filter.
Min evidence score for results40Threshold score for match evidence before candidate products are considered sufficiently relevant for customer display.
Max context merge turns5Maximum conversational turns preserved for multi-turn slot state accumulation.
Entity relaxation order JSON["Tag","Spec","Category","Manufacturer"]Order in which entity constraints are progressively relaxed if strict multi-slot filtering returns zero products.
Product knowledge template JSON(Preconfigured)JSON template defining structured document blobs indexed in Schema v3 for deep semantic discovery.
Evidence weight config JSON(Preconfigured)JSON configuring relative scoring weights across brand, category, specification, price, and lexical signals.

Chat Response Messages & NLU Multi-Language Resources

Chat response messages config

Additional chat response messages

The Chat response messages card provides a comprehensive, interactive management console for all customer-facing assistant phrases, greeting prompts, suggestion chips, and NLU query-understanding keywords across all store languages.

  • Language Selector: Switch between configured store languages (English, Bengali, Arabic, German, French, Spanish, etc.) with a single click.
  • Export JSON: Download the complete NLU dictionary and localization pack as a portable JSON file.
  • Import JSON: Upload a localized dictionary JSON file to instantly configure or update new languages.
  • Inline Editing: Edit prompts, category hints, connector phrases, or greeting templates directly in the grid and click Save. Saving query-intent resources automatically rebuilds the Query Phrase index in the background.

Search Index & Maintenance

Navigate to NopStation → Shopping assistant → Search index health (/Admin/ShoppingAssistant/Index) to inspect and maintain the plugin's three specialized search indexes.

Search index health screen

Shopping Assistant Readiness dashboard

IndexPurposeRebuild & Maintenance Trigger
Product Search IndexCore catalog lexical search (BM25 scoring) across titles, descriptions, SKUs, manufacturers, categories, and price bands.Automatic incremental updates via event consumers + 300s sync task. Full manual rebuild available via Rebuild Product Index.
Query Phrase IndexTypo-tolerant matching of conversational intent phrases, intent connectors, refine patterns, and greeting triggers.Rebuilt automatically when saving NLU chat resources or via Rebuild Query Phrase Index.
Attribute Values IndexMatching of product specification attributes, color names, sizes, brands, and variant values.Rebuilt during full catalog sync or via Rebuild Attribute Index.

Customer Conversations & Audit

Open NopStation → Shopping assistant → Conversations (/Admin/Conversation/List) to view, filter, and audit shopper conversations.

Conversations list

Conversations List Features

  • Search Filters: Filter conversations by customer email, store scope, and creation date range (From / To).
  • Customer Identity: In accordance with standard nopCommerce conventions, the Customer column displays the customer's full name and a direct clickable email link leading to the customer edit page (/Admin/Customer/Edit/{id}). Guests are identified as Guest shoppers.
  • Export to JSON: Export all or selected conversations to a structured JSON file for analytics and customer journey research.
  • Bulk Deletion: Safely purge old conversations individually or in bulk.

Conversation Detail View

Click View on any conversation row to inspect the full transcript (/Admin/Conversation/Detail/{id}).

Conversation transcript detail

  • Chronological Timeline: Clear distinction between Customer callouts (blue) and Assistant responses (gray).
  • Intent Badges: Displays the classified intent (e.g. Search, Refine, Greeting, Help) and extracted slot constraints.
  • Product Cards Preview: Shows the exact product cards, images, prices, and stock status presented to the shopper during that turn.

Merchandising Rules (Pin, Boost, Bury, Exclude)

Open NopStation → Shopping assistant → Merchandising rules (/Admin/Merchandise/List) to exert fine-grained merchant control over assistant search rankings.

Merchandising rules configuration

ActionEffectTypical Use Case
PinForces the specified product into an exact display slot (e.g. Slot 1) when the query matches the pattern.Promote flagship products, sponsor items, or new product launches at the very top of search results.
Boost scoreMultiplies the relevance score by a configurable boost multiplier (e.g. 2.5).Elevate high-margin or trending items in search results without completely pinning them.
Bury (Demote)Lowers the relevance score so the product appears toward the bottom of the result set.Demote older inventory, refurbished products, or low-margin items.
ExcludeCompletely strips the product from assistant search results for matching queries.Hide seasonal or discontinued items from conversational recommendations.

Query Tester & NLU Diagnostics

Query tester interface

Open NopStation → Shopping assistant → Query tester (/Admin/ShoppingAssistant/QueryTester) to test and validate query parsing and search retrieval before going live.

  • Single Query Mode: Type any customer query (e.g. "Nike running shoes under 3000") and inspect the normalized tokens, detected intent, extracted price/rating/brand entities, and candidate search documents.
  • Multi-Turn Accumulation Mode: Simulate a progressive conversation across multiple lines (e.g., "I need a laptop" → "Lenovo" → "under $800" → "16GB RAM") to verify that slot state merges accurately across conversational turns.

Failed Queries Log

Open NopStation → Shopping assistant → Failed queries (/Admin/ShoppingAssistant/FailedQueries) to monitor queries that resulted in zero hits or required fallback suggestions.

Failed queries list

Reviewing failed queries helps store managers identify missing catalog synonyms (e.g. shoppers typing "sneakers" when catalog products are named "trainers"), out-of-stock product demands, or new category trends.

Storefront Shopping Experience

On the public storefront, the assistant renders as a clean, unobtrusive floating launcher in the bottom-right corner of every page.

Storefront assistant launcher

Customer Interaction Highlights

  • Proactive Suggestion Chips: When opened, the assistant welcomes shoppers with personalized chips (e.g., "Popular products", "Under $50", "Browse categories").
  • Interactive Product Cards: Matching products appear as rich visual cards featuring high-resolution images, real-time prices, in-stock badges, an Add to cart button, and a Quick view button.
  • Live nopCommerce Cart Integration: Clicking Add to cart on simple products instantly adds the item to the native nopCommerce shopping cart and updates the header flyout cart without page refreshes.

Product search results in chat

Self-Contained Quick View Modal

For products requiring attribute selections (such as size, color, RAM, or gift card recipient info), clicking Quick view opens a full-featured modal directly over the chat interface without redirecting the customer away from the conversation.

Quick View Modal overlay

  • Attribute Selectors: Full support for drop-down lists, radio lists, check boxes, color squares, and image squares. Dynamic attribute price adjustments calculate instantly.
  • Image Gallery Lightbox: Interactive picture thumbnails with zoom and lightbox preview.
  • Cross-Sells & Related Products: Optional carousel of related products configured in the admin panel.

Conversational Refinements & Semantic NLU Engine

The assistant supports multi-turn conversational commerce with deterministic query understanding. Shoppers can iteratively narrow down or alter their search using natural qualifiers without repeating previous context.

Multi-turn refinement in chat

Multi-Layer Query Understanding Pipeline

  • Query Type Classification (QueryTypeClassifier): Evaluates whether the user's message is a catalog product search, an exploratory request, or a non-product service inquiry (such as returns, shipping policy, or store hours). Non-product queries trigger direct helpful support responses without mutating catalog search state.
  • Entity & Constraint Extraction (QueryUnderstandingService): Extracts categories, manufacturer brands, product tags, specification attribute options (RAM, storage, display size), colors, price bounds (Min / Max / Cheaper than), and star rating constraints.
  • Semantic Query Planning (SemanticQueryInterpreter & QueryPlan): Generates a structured execution plan. When Prefer structured retrieval first is active (Layer 3), the engine queries exact entity indices before falling back to lexical search. If strict multi-slot criteria return zero hits, constraints are gracefully relaxed according to the Entity relaxation order.
  • Continuity & Operation Routing (SearchContinuityDecision): Determines the precise state mutation operation (Set, Add, Replace, Remove, Clear, Undo, Alternative, or Select) to maintain conversational context seamlessly across turns.
  • Match Evidence & Response Planning (MatchEvidenceService & ResponsePlannerService): Scores each candidate product across lexical and structured dimensions, validates minimum evidence thresholds, and composes journey-aware replies with dynamic suggestion chips.

Deterministic State Merge & Operation Matrix

Shopper InputIntent & OperationState Mutation Action
"running shoes"Search (Set)Initializes SearchState: keywords="running shoes", Category: Shoes, Tag: Running.
"under $50" or "cheaper ones"Refine (Add / Set)Retains category and tags; applies MaxPrice = 50.00 filter constraint.
"only Nike"Refine (Set)Retains price and category; sets Manufacturer = "Nike".
"show Lenovo instead"Refine (Replace)Replaces Manufacturer slot with "Lenovo".
"without black ones"Refine (Remove)Excludes "black" attribute/color from active candidate results.
"clear price limit"Refine (Clear)Removes the active MaxPrice filter while preserving other product criteria.
"start over"StartOverResets active session SearchState and presents the initial greeting chips.

Multilingual Localization & JSON Schema

The plugin provides an automated, comprehensive multi-language NLU architecture:

  • Automatic Seeding on Language Creation: When a new language is added to nopCommerce (via Configuration → Languages), default chat and NLU resources are automatically seeded for that language.
  • Multi-Script Tokenization: Non-Latin scripts (such as Bengali bn, Arabic ar, Urdu ur, Hebrew he, Thai th, Vietnamese vi) are processed using universal Unicode normalization and script-aware tokenization.
  • Export / Import JSON: Merchants can export the complete NLU dictionary as a structured JSON file, translate it into new locales, and re-import it with a single click.

Sample NLU Resource JSON Format

Sample NLU JSON schema

Troubleshooting & Diagnostics

  • Widget Launcher Not Appearing: Ensure Enable assistant is checked under Configuration and verify that the plugin is activated in /Admin/Widget/List for the PublicWidgetZones.BodyEndHtmlTagBefore zone.
  • Zero Search Results: Check Search index health (/Admin/ShoppingAssistant/Index). If the document count is 0, click Rebuild Product Index.
  • Typo Recovery Not Working: Confirm that Enable did-you-mean and Enable fuzzy search are checked in Configuration.
  • Rate Limit Triggered: If shoppers receive temporary rate limit notices during load testing, increase the Rate limit per minute value in Configuration.
  • Localization Keys Showing Raw Names: Navigate to Local plugins and click Update to reload all default locale resources.

Frequently Asked Questions (FAQ)

  • Does this plugin require an OpenAI API key or paid AI subscription?
    No. The plugin is 100% self-contained and operates entirely on-premise using an embedded in-process search engine, dictionary-based spelling correction, and rule-based NLU. You will never receive external API bills.
  • Does the assistant hallucinate products or fabricate prices?
    No. The assistant is strictly deterministic. It searches your real catalog, and all displayed prices, discounts, taxes, and inventory counts are evaluated live through nopCommerce core services.
  • How fast is the conversational search response?
    Because queries run in-process without outbound cloud network hops, 95th-percentile (p95) response latency is typically under 150 milliseconds on standard server hardware.
  • Can I customize the greeting message and suggestion chips?
    Yes. All chat responses, greetings, button labels, and suggestion chips are fully editable under Configuration → Chat response messages per language.
  • Does it support multi-store and customer role access control (ACL)?
    Yes. Search results strictly enforce nopCommerce store mappings, customer role ACL, and published status so shoppers only see products they are permitted to view.
Book a Meeting