Skip to content

The AI reporting assistant ​

Ask the reports a question in plain language.

What it can answer ​

The assistant, at Reporting → AI, answers questions by calling one of seven read-only reporting tools: a device report (top brands, operating systems, or device classes), a dwell-time report (how long guests stay connected, bucketed from 5 minutes up to "more than an hour"), a login error report (the most frequent portal-page error messages), general login stats per zone (attempts, successes, failures, bandwidth, dwell, new/returning/unique accounts, unique devices, concurrent sessions), a profile report (logins and unique users per access profile), a reject-reason report (why logins were rejected — invalid credentials, expired account, quota limit, simultaneous-session limit, zone denied, MAC denied, licence, and so on), and a session report with four views — top bandwidth users, a per-zone summary, a per-profile summary, or why sessions ended. Every tool takes either a month or an explicit from/to date range, most also accept a specific zone, and the assistant resolves relative periods like "yesterday" or "last month" itself, in the tenant's own timezone, before calling anything.

What it cannot ​

It refuses anything that isn't about Kiwire captive-portal reporting — general knowledge, coding help, jokes, unrelated questions — with a fixed message pointing back at what it does cover, though it still handles a genuine follow-up, a greeting, or a question about its own capabilities. It has read access only; it cannot change any Kiwire setting or record. It's also built not to make numbers up: if a tool returns nothing, it says the report may not exist yet for that period rather than guessing, and if a reply quotes figures without having actually called a report tool that turn, the request is automatically retried once with the tool call made mandatory — if it still can't produce a verified number, the reply is marked as unverified instead of being presented as fact.

Charts ​

When an answer involves a comparable series of numbers — a breakdown by zone, profile, device brand/OS/class, dwell bucket, or termination reason — the assistant adds a chart after the table, as a small chart code block describing a bar, line, area, donut or pie chart. The table stays the answer; the chart is there to make the shape of it easier to read. It won't chart a single number, mix different units on one chart, or use a chart as a substitute for the table.

Where the data goes ​

Each conversation is held server-side, keyed to the tenant, the admin, and a chat id the browser assigns — not trusted from the browser itself; a client-supplied conversation history is ignored, specifically so nobody can forge a prior "assistant" turn and steer the next answer. Old conversations are pruned automatically. Any username or device identifier that shows up in a tool's result arrives already masked (jo***, j***@domain, AA:BB:CC:**:**:**), and the assistant is instructed to copy a masked value exactly rather than guess, extend, or "restore" it, or describe a person beyond what the row already says.

Token limits ​

Which provider key answers a prompt is decided by a fallback chain: a tenant's own key first (only if the tenant has BYOK switched on, held in the tenant's own database), then a platform key managed by Synchroweb, then the value in .env as a last resort. The platform default provider is currently MiniMax (model MiniMax-M3). Requests that run on the platform key count against a shared monthly token cap — currently set to 200,000 tokens per tenant per month (Synchroweb can raise or lower this per tenant; if nothing is set at all, Kiwire falls back to a built-in 500,000) — checked before a prompt runs, and a tenant that has hit its cap gets a clear "quota exceeded" response until the next month. A tenant running on its own key is never measured against this cap; that usage is billed directly to their own provider account. Response temperature and length are also tenant-configurable, defaulting to a low, close-to-deterministic setting appropriate for factual reporting answers.

Last updated:

Kiwire platform documentation