=== Answer Desk ===
Contributors: leftandright
Tags: chatbot, ai, customer support, knowledge base, gdpr
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Stable tag: 1.0.2
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

A support chatbot that answers from your own documents, with the AI provider you choose, and tells visitors it is an AI before they type.

== Description ==

Answer Desk puts a chat assistant on your site that has read your documents and
answers from them. Upload your terms, your price list, your technical sheets, or
import the pages you have already written; connect the AI provider you prefer;
decide how it should speak. It answers what it can, and when it cannot it says
so and hands the visitor the address of a person.

= It runs the search inside WordPress =

Every other plugin in this category asks you to open an account with a vector
database, usually Pinecone, before your documents can be used at all. That is
where most small companies stop, and it is a second bill and a second service to
keep alive.

Answer Desk keeps the index in your own WordPress database and does the
comparison in PHP. One API key, from the provider that writes the answers, and
nothing else to open. That approach has a ceiling, in the tens of
thousands of chunks, and the plugin measures its own search time and says so
rather than slowing down quietly.

= Five providers, and your own account =

Claude, ChatGPT, Gemini, Mistral and OpenRouter. You open the account, you pay
them directly for what you use, and the key stays on your site: we never see it
and we never add anything on top. The provider screen says, for each one, where
their servers are and whether the same key can also build the index. Claude
cannot, because Anthropic does not sell embeddings, and the plugin says so at the
moment you choose it rather than after.

= It tells people it is a machine =

Article 50 of the EU AI Act, which applies from 2 August 2026, says a person must
know they are interacting with an AI system, clearly, at the latest at the first
interaction. Answer Desk shows that notice above the first message and it cannot
be switched off, only reworded and translated. The same notice says how long the
conversation is kept and links your privacy page.

Alongside that: conversations are deleted automatically after the number of days
you set, no IP address is ever stored, and the plugin registers itself with the
WordPress privacy tools, so an access or erasure request is two clicks instead of
an afternoon.

= What it does =

* Reads txt, Markdown, CSV, HTML, JSON, Word and text-based PDF
* Imports the pages, posts and products of this site, and keeps them in step
* Splits documents at their real headings, so an extract still makes sense alone
* Searches by meaning, with a fallback to word matching when no index exists
* Five AI providers, plus Voyage AI for the index alongside Claude
* Six ready personalities, or your own instructions
* Your colours, your logo, your font, your corner
* Every conversation stored, searchable, exportable
* A compliance screen that says what is in order and what is still yours to do

= What it does not do =

It does not read scanned PDFs, because there are no letters inside them to read:
that needs OCR first, and the plugin says which file this happened to instead of
adding an empty document. It does not take payments, manage tickets or replace a
helpdesk. It does not answer from general knowledge unless you switch that on,
and we suggest you do not.

== Installation ==

1. Upload the zip from Plugins > Add new > Upload plugin, then activate.
2. Open Answer Desk. Four steps are listed in order; follow them from the top.
3. Nothing appears on your site until you switch it on yourself.

== Frequently Asked Questions ==

= What does it cost to run? =

Whatever your AI provider charges, and nothing else. A support question with five
extracts costs roughly a tenth of a cent on the smaller models; indexing a whole
site is usually a few cents once. The plugin shows an estimate before you build
the index and counts the answers given today, and you can set a daily ceiling so
a surprise is not possible.

= Do I need Pinecone or another vector database? =

No. That is the main difference between this plugin and the alternatives. The
index lives in your WordPress database. On a very large archive, several
thousand chunks, the search gets slower; the plugin measures itself and tells you
when that is happening rather than timing out quietly, so you find out on screen
and not from a customer.

= Can it invent things? =

It can be wrong, and the notice says so to visitors. What it cannot do, with the
default setting, is answer from outside your documents: when they do not cover a
question it says so and gives the way to reach a person. Prices, dates and phone
numbers that are not in your documents are refused explicitly, because those are
the inventions that cost money.

= Which provider should I choose? =

If you have no reason to prefer one, ChatGPT: it is the cheapest to index with
and one key covers everything. If the question "where is the data processed" has
to have a European answer, Mistral. If you want the best instruction following
and do not mind a second key for the index, Claude with Voyage AI.

= What does the free version leave out? =

The free version answers from the first 5 documents, keeps the last 100
conversations for up to 30 days, and does not export them. Everything you upload
and configure beyond that is kept, indexed and waiting: a licence brings it back
with nothing to redo and nothing to re-index. Pro also adds your logo and font, and
rules for which pages the assistant appears on.

== Changelog ==

= 1.0.2 =
* Updates now arrive on their own. The plugin asks the left&right server
  whether a newer version exists, and if there is one it appears in the
  Updates screen of your WordPress like any other plugin, with its notes and
  the usual Update button. The automatic-update switch on the plugin row works
  too.
* If our server is unreachable nothing happens at all: no warning, no error,
  the Updates screen stays as it was. A fault on our side must not disturb
  your dashboard.
* The package is only accepted when it comes from the same server as the
  licence service. A tampered answer cannot make your site install something
  from somewhere else.

= 1.0.1 =
* The licence service moved to digital.nopvideo.com. This plugin was still
  calling the old address, so activating a key answered with WordPress's own
  "No route was found matching the URL and request method" - a message that
  tells a paying customer nothing at all.
* A reply is no longer trusted just because it is JSON. A WordPress without
  the licence service installed answers in JSON too, and that answer was being
  read as if it were a licence. The plugin now checks the HTTP status and the
  shape of the reply, and says which address it knocked on when nobody
  answered.
* The Pricing link in the admin points at the current pricing page.

= 1.0.0 =
* First release
