Skip to content

v0.12.0

Choose a tag to compare

@PleasePrompto PleasePrompto released this 04 Mar 08:19
· 225 commits to main since this release

Forum Topics — Multiple Chats in One Group

ductor now fully supports Telegram forum topics. Create a group, enable topics, and each topic becomes its own isolated chat with its own conversation context.

  • Topic isolation — every topic has its own session, independent from General and your private chat
  • Per-topic model selection — run /model inside a topic to change just that topic's provider
  • Background tasks stay in their topic — task questions and results are delivered back to the topic they were started in
  • Named sessions work in topics/session creates sessions scoped to the current topic
  • Topic names in logs and status — topics show their name instead of just an ID

A group with 5 topics gives you 6 independent conversations (General + 5 topics), all sharing the same workspace, tools, and memory.

Group Chat Management

  • /where — see all tracked groups (active, rejected, left) with their IDs
  • /leave <group_id> — manually leave a group
  • Auto-leave — bot auto-leaves groups not in allowed_group_ids
  • Group audit — runs on startup, on config reload, and every 24 hours
  • allowed_user_ids and allowed_group_ids are now hot-reloadable — edit config.json, changes apply within seconds
  • group_mention_only is now hot-reloadable — no restart needed to toggle

Background Tasks

  • Task results now include the actual result — previously, the final task result injection could send the original prompt instead of the computed answer. Fixed.
  • TASKMEMORY.md content appended to results — when a task completes, its memory file is included so the parent agent gets the full picture
  • Resume reminders — task agents get a short reminder on each follow-up about how to communicate (ask_parent, TASKMEMORY)
  • Delete tasks — new delete_task.py tool lets models permanently remove finished tasks (entry + folder)
  • Sub-agent folder cleanup — fixed a bug where sub-agent task folders were not cleaned up on removal

Timeout Recovery (PR #24 by @n-haminger)

  • Session preserved on CLI timeout — when the CLI times out, the session ID is now captured early and preserved so the next message auto-resumes where it left off
  • Clear user message — shows timeout duration and confirms the session is preserved

Inter-Agent Communication (PR #25 by @n-haminger)

  • --summary flag for async messagesask_agent_async.py --summary "Short description" lets the sender control what preview text the recipient sees in their Telegram notification

Internal Improvements

  • Unified MessageBus with Envelope system — all background delivery (cron, webhooks, heartbeat, tasks, inter-agent) now routes through a single bus
  • Major orchestrator refactoring — extracted selectors, providers, and lifecycle into separate modules
  • Centralized shared code, eliminated duplication across modules
  • Comprehensive documentation rewrite

Full Changelog: v0.11.0...v0.12.0