The site's AI connection at work. The connection itself is set up once under Admin → Settings → AI (main + two
backups, any OpenAI-compatible service or Claude); this plugin never ships a key of its own.

What it does

WhereWhat
ComposerSuggest category and tags — fills the category select and the tags field. A topic sent without a category is filed by the model.
Every postTranslate — the post in the reader's language, with the original one click away.
Topic barSummarize — up to five short lines about the topic.

Admin → Plugins → AI shows call counts, the quota, a Test the connection button and the cached answers.

Cost control

  • Every answer is cached (plugin_tabre_ai_cache), keyed by the exact input, so the same text is never sent twice.
  • Every member has a daily quota (daily_limit, 0 = unlimited). Only real calls count, not cache hits.
  • The model is called only from a button the member presses — never in a loop, a region or a transaction. The
    composer category pick never ends the request when the AI is down: the topic is filed by the normal fallback.

Settings

Suggest category and tags, Translate button, Summarize button, Answer language (blank = the site's language),
Daily quota per member, Keep cached answers for N days.

Notes

  • Needs curl and an AI connection; with no connection every feature stays quiet.
  • Usage is written to plugin_tabre_ai_usage; a daily job clears old cache rows and old usage lines.

Uninstall

Disable hides the buttons and the composer helper. Uninstall drops the cache and the usage tables.