itdatex Blog-Bot

Description

itdatex Blog-Bot is an editorial helper, not an auto-publisher. A cron job fetches items from a configurable list of RSS feeds, scores them for topical relevance, and asks an LLM endpoint to rewrite matching items into a draft post. You pick the endpoint: a local Ollama server (default, nothing leaves your host), the itdatex Cloud hosted service (opt-in, requires API key + consent), or a custom Ollama-compatible URL. The result is a WordPress draft with the source link, score and the exact prompt attached as post meta so an editor can review, adjust and publish.

What the plugin does

  • Feed fetcher — configurable RSS/Atom sources, deduplication by feed item GUID.
  • Scorer — rule-based scoring (keywords, recency, source weight) filters candidates.
  • Generator — calls the LLM endpoint you selected: local Ollama (default), itdatex Cloud (opt-in, hosted by the plugin author, requires API key + consent), or any custom Ollama-compatible URL. The source link is always included in the prompt so the model can reference it.
  • Publisher — inserts the result as draft, sets category and tags, records the source URL, score and the full prompt in post meta.
  • WP-CLIwp itdatex-blog-bot run for manual runs.

Privacy and traceability

  • No auto-publish. Every draft goes through the WordPress editorial workflow.
  • The LLM provider is a plugin setting. Default is Local Ollama on 127.0.0.1 — nothing leaves the server. itdatex Cloud is strictly opt-in and cannot be saved without an explicit privacy-consent tick.
  • Post meta stores the full prompt and source URL so the rewrite is auditable.

External Services

This plugin talks to three kinds of external services. Only the RSS feed fetch is enabled by default; the two LLM options both require explicit configuration.

1. RSS/Atom feed URLs (configurable list)

The plugin fetches RSS/Atom feeds you configure under Tools -> Blog-Bot. Default feed list on activation includes a handful of German business/tax publications (Bundesministerium der Finanzen, KoSIT, FeRD, IHK, DATEV Magazin, Lexoffice Blog, Sage.com, Smartsteuer Blog). You can add, remove or replace any of them. Each fetched item is compared against the local posts meta by GUID before being processed.

  • When: on cron (itdatex_blog_bot_run_daily) or on manual wp itdatex-blog-bot run.
  • What is sent: nothing (plain GET request for the feed).
  • What is received: the feed XML, only the item title, link, publish date and content are stored in memory during the run.

Each feed URL is a service run by a third party. Please consult that publisher’s terms of service and privacy policy before adding a source.

2. Local or custom LLM endpoint (default: local Ollama)

If provider is set to “Local Ollama” or “Custom URL”, the plugin sends the item’s title and content to the URL you configure (default http://127.0.0.1:11434/api/chat). The local default keeps everything on your host; a custom URL transmits the item text to whatever service you pointed it at.

  • When: after a matching RSS item is scored above the threshold and picked for rewriting.
  • What is sent: the plugin’s rewrite prompt, the item title, item link and the raw feed content of the item.
  • What is received: JSON with the rewritten text, which is stored as a WordPress draft.

If you set a custom URL, please consult that provider’s terms and privacy policy.

3. itdatex Cloud (opt-in, hosted by the plugin author)

If provider is set to “itdatex Cloud”, the plugin sends the same payload as above to the hosted endpoint https://api.itdatex.support/api/chat, authenticated with an API key you obtain from itdatex. This provider cannot be saved without explicitly ticking the privacy-consent checkbox in the settings screen.

  • When: after a matching RSS item is scored above the threshold and picked for rewriting.
  • What is sent: the plugin’s rewrite prompt, the item title, the source link, the item content excerpt, and the Authorization: Bearer <your-api-key> header.
  • What is received: JSON with the rewritten text, which is stored as a WordPress draft.
  • Service provider: itdatex (author of this plugin).
  • Endpoint URL: https://api.itdatex.support/api/chat
  • Sign-up / API key: https://wp.itdatex.support/blog-bot-api-key/
  • Privacy Policy: https://wp.itdatex.support/blog-bot-privacy/
  • Terms of Service: https://wp.itdatex.support/blog-bot-tos/

Screenshots

Installation

  1. Extract the plugin to /wp-content/plugins/itdatex-blog-bot/.
  2. Activate — activation registers the daily cron itdatex_blog_bot_run_daily.
  3. Under Tools -> Blog-Bot, pick an LLM provider (Local Ollama, itdatex Cloud, or Custom URL). If you pick itdatex Cloud, tick the privacy consent and paste your API key.
  4. Configure the feed list, the scoring threshold and the default category.
  5. First manual run via Blog-Bot -> Run now or wp itdatex-blog-bot run.

FAQ

Does the plugin send anything to a hosted AI service by default?

No. The default provider is Local Ollama at http://127.0.0.1:11434/api/chat, which points at a local Ollama server on the same host. If you leave the default and do not run Ollama locally, generation simply fails and no draft is created.

What is itdatex Cloud and do I have to use it?

itdatex Cloud is a hosted LLM endpoint operated by the plugin author (https://api.itdatex.support/api/chat). It is currently in private beta and keys are handed out on request at https://wp.itdatex.support/blog-bot-api-key/. It is a convenience for users who do not want to run Ollama themselves. It is opt-in: you must actively pick the provider in the settings, tick the privacy-consent checkbox, and paste an API key. The plugin refuses to save the itdatex Cloud selection without the consent tick. If you do not have a beta key, keep the default Local Ollama provider — everything works without any account or contact with us. See the “External Services” section for the exact payload and the policy links.

Can I point it at OpenAI or another cloud LLM?

Only if the target speaks the Ollama chat API. Set provider to Custom URL and enter your endpoint. If you do that, add the endpoint URL to the “External Services” disclosure your site’s privacy policy shows to visitors.

Does it publish automatically?

No. Everything ends up as a draft (or pending, configurable). A human editor reviews before publish.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“itdatex Blog-Bot” is open source software. The following people have contributed to this plugin.

Contributors

Translate “itdatex Blog-Bot” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

0.2.2

  • Topic presets: the settings screen now ships with a small table of curated topic buckets (WordPress Core, WordPress Security, SEO). One click adds a preset — name, keyword list, and vetted RSS feeds — to the topic-buckets JSON. Buckets you already have are preserved; you can still edit the JSON manually. All preset data is bundled in the plugin ZIP; no external service is contacted to load presets.

0.2.1

  • itdatex Cloud endpoint hostname changed from ai.itdatex.support to api.itdatex.support to align with the other itdatex service subdomains. No behaviour change for Local Ollama or Custom URL providers. If you had the itdatex Cloud provider configured, your API key is preserved; the plugin will start talking to the new hostname automatically after the update.

0.2.0

  • LLM provider setting: pick Local Ollama (default, unchanged behaviour), itdatex Cloud (hosted, opt-in with API key + explicit consent), or Custom URL. itdatex Cloud endpoint documented under “External Services” with Privacy Policy and Terms of Service links. Consent checkbox is mandatory: the settings screen refuses to save itdatex Cloud selection without it. Bearer-token authentication for the hosted endpoint. DB schema unchanged (config only), safe upgrade path — existing installs keep provider=local.

0.1.1

  • wp.org compliance pass: plugin header and readme translated to English, External Services section added, defensive $_POST sanitize in the settings handler, error_log gated behind WP_DEBUG. No functional change.

0.1.0

  • Initial release: feed fetcher, scorer, LLM generator, draft publisher, WP-CLI command, daily cron.