bug: cobot crashes without loop plugin — cannot run headless/archive-only mode #227

Closed
opened 2026-03-08 07:19:07 +00:00 by Zeus · 0 comments
Collaborator

Problem

Cobot requires a loop plugin and an LLM provider even when the use case is pure archival (no LLM interaction needed).

Without loop in enabled plugins:

Error: No loop plugins registered

Without an LLM provider:

Error: PPQ_API_KEY not set

Context

The telegram_lurker plugin is a silent chat archiver — it hooks into telegram.on_message, writes JSONL, and commits to git. It never needs an LLM call. But cobot forces it to have one configured.

Expected Behavior

Cobot should support a headless mode where:

  1. No loop plugin is required (just poll for messages and run hooks)
  2. No LLM provider is required
  3. Plugins that only consume extension points (like lurker) can run standalone

Suggested Fix

Either:

  • Allow loop to be optional — if no loop plugin, just run a polling-only event loop that dispatches to hooks
  • Or add a headless: true config option that skips the LLM requirement
  • Or create a minimal noop-loop plugin that polls but never calls LLM

Workaround

Currently using ollama as a dummy LLM provider with the loop plugin enabled. The lurker receives messages, logs them, but also sends unwanted LLM responses to the group.

  • PR #208 (telegram-lurker plugin)
  • Live test on olymp with dedicated lurker user + @OlympLurker_bot
## Problem Cobot requires a `loop` plugin and an LLM provider even when the use case is pure archival (no LLM interaction needed). Without `loop` in enabled plugins: ``` Error: No loop plugins registered ``` Without an LLM provider: ``` Error: PPQ_API_KEY not set ``` ## Context The `telegram_lurker` plugin is a silent chat archiver — it hooks into `telegram.on_message`, writes JSONL, and commits to git. It never needs an LLM call. But cobot forces it to have one configured. ## Expected Behavior Cobot should support a **headless mode** where: 1. No loop plugin is required (just poll for messages and run hooks) 2. No LLM provider is required 3. Plugins that only consume extension points (like lurker) can run standalone ## Suggested Fix Either: - Allow `loop` to be optional — if no loop plugin, just run a polling-only event loop that dispatches to hooks - Or add a `headless: true` config option that skips the LLM requirement - Or create a minimal `noop-loop` plugin that polls but never calls LLM ## Workaround Currently using ollama as a dummy LLM provider with the loop plugin enabled. The lurker receives messages, logs them, but also sends unwanted LLM responses to the group. ## Related - PR #208 (telegram-lurker plugin) - Live test on olymp with dedicated `lurker` user + `@OlympLurker_bot`
k9ert closed this issue 2026-03-08 12:54:45 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ultanio/cobot#227
No description provided.