FAQ & Knowledge Base
A searchable help centre inside Bicrypto — articles, categories, reader feedback, a submitted-question queue and DeepSeek-assisted authoring. Read the naming section first; this addon is not filed under "FAQ".
A help centre that lives inside the platform. Operators write articles, readers search them, vote on whether they helped, and submit the questions the library does not answer. Everything is stored in your own database — there is no external help-desk to sync with.
What this addon requires
Bicrypto core, and nothing else. No ScyllaDB, no other addon, no extra service. It uses the MySQL connection and the Redis instance core already needs — Redis only for the two rate limiters. There are no cron jobs and no WebSocket channels, so nothing here can be broken by a cron worker that stopped or a process that is not holding a lease.
See Install and enable for the activation steps.
Read this before you go looking for it
This product is sold as FAQ & Knowledge Base. Inside the platform it is
called knowledge_base — and the admin menu entry is Knowledge Base, not
FAQ. Searching the admin navigation for the word "FAQ" finds nothing.
| Where you are | What it is called |
|---|---|
| Store and licence | FAQ & Knowledge Base — CodeCanyon item 39166202 |
Extensions screen (/admin/system/extension) |
Knowledge Base & FAQs |
| Extension identifier, licence gate | knowledge_base |
| Admin navigation | Extensions → Business Tools → Knowledge Base |
| Admin URL | /admin/faq |
| Reader navigation | Services → Knowledge Base |
| Reader URL | /faq |
| API routes | /api/faq and /api/admin/faq |
| Database tables | faqs, faq_feedbacks, faq_questions, faq_searches |
The consequence of the split is practical, not cosmetic. When the licence check
refuses this addon, the error names knowledge_base and product 39166202 —
neither string appears in the admin menu you were using. When you grant a role
access, the permission keys are access.faq, view.faq, edit.faq and so on,
which do not match the menu label either.
What it does
Rich-text articles with a category, tags, an optional image and hand-picked related reading. Publishing is a switch, and unpublishing genuinely hides the article — including from anyone holding a direct link.
Every article is assigned to a page path. That is the addon's primary organising axis: the admin list is grouped by it, and a whole page's worth of articles can be enabled, disabled, moved or deleted in one action.
A substring search over question and answer text, and — more usefully — a record of every search run. The queries that returned nothing are the list of questions your library does not answer.
Readers vote articles helpful or unhelpful with an optional comment, and can submit a question. Answering one emails the asker and raises an in-app notification if the address belongs to an account.
Six DeepSeek-backed helpers in the editor: draft an article from a topic, improve an answer, answer a submitted question from your existing library, suggest tags, suggest related articles, summarise. Requires an API key you supply.
Unanswered questions and their age, the answers readers are voting down, search queries that find nothing, and category distribution.
What it deliberately does not do
Knowing the boundaries saves you from configuring something that does not exist.
- There is no settings screen. Nothing about this addon is configured from a
settings form, because it has none and stores no setting keys. Its behaviour is
fixed in code; what you control is permissions, the KYC gate, the DeepSeek key
in
.env, and the content itself. - There is no per-view record.
faqs.viewsis a lifetime counter incremented on each article read. There is no event table behind it, so no honest "views over time" chart can be drawn and none is offered. A previous release shipped one; it plotted lifetime counters bucketed by article creation month and has been removed. - Article content is single-language. Each article stores one question and one answer. The interface around them is translated; the words you write are not. If you need a Spanish library, write Spanish articles — usually onto their own page path.
- It is not a ticketing system. A submitted question is a one-shot exchange: ask, get answered by email, done. There is no thread and no reply. Conversations belong in Support.
- Feedback is not moderated. Reader comments are stored and shown to admins. There is no approve/reject queue for them; the only control is the one-per-reader rule and the hourly rate limit.
- Nothing here moves money, holds a balance or touches a wallet.
How a question travels through it
Worth understanding once, because the four tables map onto it directly.
- A reader searches. The query is written to
faq_searcheswith the number of results it returned — including zero. Nobody's identity is recorded. - If they find an article, reading it increments
faqs.views. They may vote it helpful or not, which writes one row tofaq_feedbacks— one per reader per article, updated rather than duplicated if they vote again. - If they find nothing, they can submit a question. That writes a
PENDINGrow tofaq_questions, capped at five per reader per day and gated by KYC. - An admin answers it. The asker is emailed, the row becomes
ANSWERED, and the admin can convert it into a published article infaqsin one screen. - The dashboard reads all four tables and tells you what is still waiting and what is failing.
Step 1's zero-result queries and step 5's failing answers are the two outputs worth acting on weekly. Everything else on the dashboard is scope.
Where to go next
Activation, the four tables, twelve permission keys and the KYC gate.
What each figure on the dashboard means and which are safe to report.
Every endpoint, its permission, and the rate limits.
Exactly what a reader's query matches, and what it does not.
The DeepSeek key, what each helper sends, and what it costs you.
Empty menus, 403s that name a string you have never seen, silent AI failures.