Back to projects

Project details

Group Chat Plus

An AstrBot group chat plugin combining reply decisions, context, memory adapters, replaceable image backends, normalized errors, and request-level timeouts.

Category
Plugin
Status
Active
Visibility
Public
Role
Personal project

Technology stack

  • Python
  • AstrBot
  • LLM
Open project

Purpose

The plugin provides conditional group-chat replies by combining message context, member information, session preferences, memory results, and tool capabilities into one reply decision, then preparing the final output.

Structure

Its main parts are a context buffer, reply-timing decision, memory adapters, a request-local tool set, an image-capability adapter, output cleanup, and send control. The image interface connects replaceable backends through one adapter, leaving group-chat logic independent of a particular image service response shape.

How it works

Each request copies shared registrations before applying session visibility rules. Failures from image calls, ordinary model calls, and tool execution are normalized into a limited set of error categories for consistent handling by reply and record layers. Long operations receive a request-level timeout. A timeout ends the current request and releases its local resources without changing other sessions.

Current state

The project is maintained as a public personal plugin. The current implementation includes replaceable image backends, error normalization, request-level timeouts, and isolation of shared tool state, with focused tests around these boundaries.