Bots

Bots enrich collected Stories and News Items in the background.

Bots run as worker jobs. They can be triggered manually, scheduled with REFRESH_INTERVAL, or run after collection when RUN_AFTER_COLLECTOR is enabled.

Available bots

BotPurpose
Analyst BotAdds configured attributes based on regular expression matches.
Grouping BotGroups News Items by regular expression matches.
Tagging BotAdds tags based on regular expression matches.
Wordlist BotTags News Items with configured word lists.
IOC BotDetects indicators of compromise in News Items.
NLP BotSends text to an NLP endpoint for named entity tags.
Story Clustering BotSends Stories to a clustering endpoint and groups related items.
Summary BotGenerates Story summaries and, optionally, Story titles.
Sentiment Analysis BotAdds sentiment attributes to News Items.
Cybersecurity Classifier BotClassifies whether Story content is cybersecurity related.

Implementation details are available in the worker bot source.

Common settings

SettingPurpose
NameDisplay name in the admin UI.
DescriptionOperator-facing description.
TypeBot implementation to run.
IndexExecution order when multiple bots run after collection.
RUN_AFTER_COLLECTORRuns the bot after collector jobs.
REFRESH_INTERVALCron-like schedule, for example 0 */8 * * *.
REQUESTS_TIMEOUTHTTP timeout for calls to external bot services.
BOT_API_KEYAPI key sent to external bot services when needed.

Scheduled bots are handled by Redis/RQ. See Background Jobs for worker and scheduler health checks.

LLM-backed bots

The optional LLM Bot Service can serve several bot endpoints.

BotWorker defaultPer-bot overrideTypical llm-bot endpoint
Summary BotSUMMARY_API_ENDPOINTSUMMARY_ENDPOINThttp://llm-bot:8000/summarize
Summary Bot title generationnoneTITLE_ENDPOINThttp://llm-bot:8000/title
NLP BotNLP_API_ENDPOINTBOT_ENDPOINThttp://llm-bot:8000/ner
Story Clustering BotSTORY_API_ENDPOINTBOT_ENDPOINThttp://llm-bot:8000/cluster
Sentiment Analysis BotSENTIMENT_ANALYSIS_API_ENDPOINTBOT_ENDPOINThttp://llm-bot:8000/sentiment

Per-bot endpoint fields take precedence over worker environment defaults. After upgrading from older standalone bot services, update LLM-backed bot parameters that still point to summary_bot, nlp_bot, story_bot, or sentiment_analysis_bot. If you keep the Cybersecurity Classifier Bot, make sure its configured classifier endpoint is still deployed.

The Summary Bot only updates Story titles when TITLE_ENDPOINT is configured and the Story contains more than one News Item.

Sentiment output

The Sentiment Analysis Bot writes these News Item attributes:

  • sentiment_score
  • sentiment_category

The Story Edit advanced view displays the sentiment status when these attributes are present.