Views/Configure.cshtml panel-group.| Session ID | Messages | Last active (UTC) | Action |
|---|---|---|---|
| a3f7e21c… | 7 | 2026-05-27 22:14 | |
| b91d4f02… | 4 | 2026-05-27 22:11 | |
| 2c8a9b65… | 12 | 2026-05-27 22:03 | |
| 5e1c074a… | 2 | 2026-05-27 21:58 | |
| 9b7d6efe… | 5 | 2026-05-27 21:42 |
IsEnabled in AiChatBotSettings.OpenRouterApiKey.Model.AvailableModels. Free models are flagged with :free and have rate limits.EmbeddingModel.{context} where the knowledge base content should be injected. Maps to SystemPrompt.http://qdrant:6333 for the bundled compose stack, or point to cloud.qdrant.io for managed.QdrantUrl.QdrantApiKey. Leave blank for self-hosted unauthenticated.QdrantCollection. Auto-created on first sync if it does not exist.text-embedding-3-small = 1536, 3-large = 3072. Maps to EmbeddingDimensions.Model.KnowledgeChunkCount. Filter by content type in Training & sync.BotName — shown in the chat header.WelcomeMessage. First bot bubble when a session starts.PrimaryColor. Used for the launcher, header, and user bubbles.WidgetPosition.IOrderService
EnableOrderTracking in AiChatBotSettings.Shipment data
EnableShippingTracking. Requires order tracking to be enabled.MaxOrdersToShow.MaxGuestVerifyAttempts.Order are injected into the LLM context. Fewer fields = less data exposure. Maps to OrderDataScope flags enum.FedEx, UPS, Correios). If no plugin provides a URL, the bot falls back to generic patterns:
SyncKnowledgeBaseTask
{context}. Maps to MaxContextChunks.MaxHistoryTurns.AiChatBotDefaults.ScheduleTask (default 86400 s). Edited in Schedule tasks admin panel.AiChatBot/SyncKnowledgeBase (controller action). Returns { success, count, message }.| Started (UTC) | Duration | Chunks | Trigger | Status |
|---|---|---|---|---|
| 2026-05-27 20:00 | 12.4 s | 3,742 | Scheduled | Completed |
| 2026-05-26 20:00 | 11.8 s | 3,719 | Scheduled | Completed |
| 2026-05-26 14:32 | 13.1 s | 3,718 | Manual | Completed |
| 2026-05-25 20:00 | — | 0 | Scheduled | Failed: OpenRouter 429 |
| 2026-05-24 20:00 | 10.9 s | 3,602 | Scheduled | Completed |
SplatDev.Nop.Plugin.Misc.AiChatBot)ChatSession/SessionSummaryModel aggregates. Helpful answers requires a feedback field on ChatSession (follow-up for v1.1).Model.RecentSessions (SessionGuid, MessageCount, UpdatedOnUtc). Session ID is truncated to 8 chars + ellipsis per the existing Configure.cshtml.ConfigurationModel.IsEnabled.OpenRouterApiKey (rendered type="password", autocomplete="off"). Test-connection button calls a new controller action AiChatBot/TestOpenRouter (v1.0 add).ChatModel bound to Model.AvailableModels. Default meta-llama/llama-3.2-3b-instruct:free from AiChatBotDefaults.DefaultChatModel.EmbeddingModel. Blank string = keyword-only fallback.SystemPrompt. Must contain {context} placeholder for KB injection (validate on save).QdrantUrl, QdrantApiKey, QdrantCollection, EmbeddingDimensions in AiChatBotSettings. Not currently exposed on ConfigurationModel — add them.AiChatBotDefaults.ContentTypes (Product, Category, Topic) with per-type counts from KnowledgeChunkRepository.BotName, WelcomeMessage, PrimaryColor, WidgetPosition. Live preview re-renders client-side on each change (no server round-trip).MaxContextChunks, MaxHistoryTurns. Validated as positive int.AiChatBot/SyncKnowledgeBase action (already implemented). Last-run summary reads from ScheduleTask history.SyncRun entity or repurposed ScheduleTask log (follow-up: add domain entity + repository).EnableOrderTracking, EnableShippingTracking (bools). When both are off, the bot responds to tracking queries with a generic "contact support" message.MaxOrdersToShow (int, default 5). Controls how many recent orders a logged-in customer sees when asking to "track my orders".MaxGuestVerifyAttempts (int, default 5). Lockout after N failed attempts per session. Verification endpoint: AiChatBot/VerifyOrder checks order number + billing email match.OrderDataScope (flags enum). Controls which Order fields are injected into the LLM context: Status, LineItems, Total, Shipping, BillingAddress, ShippingAddress. Address fields are off by default for privacy.IShippingPluginManager. Hardcoded fallback patterns for FedEx, UPS, USPS, DHL, Correios when no plugin provides GetUrl.