Overview
Models & API
Vector store
Widget appearance
Order tracking
Training & sync Daily
This is a scrollable, single-page wireframe that walks the operator through all six admin sections in order. The tab strip above also navigates inside the live Views/Configure.cshtml panel-group.

Overview & live status

Auto-refreshes every 30 s
Conversations (7 d)
1,284
+12% vs prev
Avg response time
1.4 s
-0.3 s
Helpful answers
88%
+3 pp
KB chunks indexed
3,742
Last sync 2 h ago
OpenRouter — connected
Last call 2 s ago · meta-llama/llama-3.2-3b-instruct:free
200 OK
Qdrant — reachable
Collection nopcommerce_kb · 3,742 vectors · 1536 d
Healthy

Recent chats Model.RecentSessions

View all
Session ID Messages Last active (UTC) Action
a3f7e21c…72026-05-27 22:14
b91d4f02…42026-05-27 22:11
2c8a9b65…122026-05-27 22:03
5e1c074a…22026-05-27 21:58
9b7d6efe…52026-05-27 21:42

Models & API

OpenRouter — free models available
Enabled — widget appears on every storefront page
Maps to IsEnabled in AiChatBotSettings.
Get a free key at openrouter.ai — no credit card required for free models. Maps to OpenRouterApiKey.
Loaded from Model.AvailableModels. Free models are flagged with :free and have rate limits.
Leave blank to fall back to free keyword search. Maps to EmbeddingModel.
Use {context} where the knowledge base content should be injected. Maps to SystemPrompt.

Vector store

Qdrant — local or cloud
Qdrant runs as a local Docker container by default. Use http://qdrant:6333 for the bundled compose stack, or point to cloud.qdrant.io for managed.
Maps to QdrantUrl.
Maps to QdrantApiKey. Leave blank for self-hosted unauthenticated.
Maps to QdrantCollection. Auto-created on first sync if it does not exist.
Must match the embedding model output. text-embedding-3-small = 1536, 3-large = 3072. Maps to EmbeddingDimensions.
Products · 2,148 Categories · 84 Topics · 31 Total 2,263 chunks
Live count from Model.KnowledgeChunkCount. Filter by content type in Training & sync.

Widget appearance

Live preview updates as you type
Maps to BotName — shown in the chat header.
Maps to WelcomeMessage. First bot bubble when a session starts.
Maps to PrimaryColor. Used for the launcher, header, and user bubbles.
Maps to WidgetPosition.
Live preview
store.example.com/products
Store Assistant
● Online
Hi! How can I help you today?

Order & shipping tracking

Let the bot look up orders and shipments for customers
When enabled, customers can ask the chat bot to look up their order status and shipping tracking. Logged-in customers are identified automatically; guest users must verify via order number + email.
Enabled — bot can look up orders via IOrderService
Maps to EnableOrderTracking in AiChatBotSettings.
Enabled — bot renders shipping timeline from Shipment data
Maps to EnableShippingTracking. Requires order tracking to be enabled.
Maximum number of recent orders shown when a logged-in customer asks to track orders. Maps to MaxOrdersToShow.
Max failed verification attempts per session before lockout (prevents order number enumeration). Maps to MaxGuestVerifyAttempts.
Order status & dates
Line items & quantities
Order total & payment status
Shipping method & carrier
Billing address (disabled by default)
Shipping address (disabled by default)
Controls which fields from Order are injected into the LLM context. Fewer fields = less data exposure. Maps to OrderDataScope flags enum.
Carrier tracking URLs are auto-resolved from installed shipping plugins (e.g. FedEx, UPS, Correios). If no plugin provides a URL, the bot falls back to generic patterns:
FedEx UPS USPS DHL Correios + custom

Training & sync

Scheduled task: SyncKnowledgeBaseTask
How many KB chunks are retrieved per user message and injected into {context}. Maps to MaxContextChunks.
Recent message pairs included as conversational history. Maps to MaxHistoryTurns.
Next: 2026-05-28 04:00 UTC
Reads from AiChatBotDefaults.ScheduleTask (default 86400 s). Edited in Schedule tasks admin panel.
Last run 2 h ago · 3,742 chunks · 12.4 s
POSTs to AiChatBot/SyncKnowledgeBase (controller action). Returns { success, count, message }.

Recent sync runs

Started (UTC) Duration Chunks Trigger Status
2026-05-27 20:0012.4 s3,742Scheduled Completed
2026-05-26 20:0011.8 s3,719Scheduled Completed
2026-05-26 14:3213.1 s3,718Manual Completed
2026-05-25 20:000Scheduled Failed: OpenRouter 429
2026-05-24 20:0010.9 s3,602Scheduled Completed
Unsaved changes — primary color was modified

Annotations — field-to-model mapping (SplatDev.Nop.Plugin.Misc.AiChatBot)