What is erii¶
erii is an AI group chat bot framework built on Kotlin and Ktor. It is not merely a message reply system, but an intelligent agent with comprehensive cognitive capabilities.
erii integrates emotion perception, memory storage, and personality modeling. Its emotional state adapts dynamically to conversation content, with linguistic style adjusting synchronously. It employs an active perception architecture rather than a passive command-response model: by analyzing group atmosphere, it engages or remains silent at appropriate moments, and proactively initiates topics when the group becomes inactive. Through sustained interaction, erii memorizes member preferences and acquires group-specific terminology and expressions.
Core Systems¶
-
Emotion System
PAD three-dimensional emotion model (Pleasure, Arousal, Dominance). Real-time emotional adjustment based on conversation content, influencing reply tone, emoji usage, and linguistic style.
-
Memory System
Multi-dimensional memory (user profiles, preferences, facts, summaries). Semantic retrieval based on vector similarity across three levels: global, group, and member.
-
Flow System
0-100 flow value quantifying conversational engagement. Rapid entry into focused state upon matching topics of interest, with built-in overheat protection.
-
Volition System
Proactive speech impulse calculated from multi-dimensional factors including emotion, flow, and keywords. Three modes: Interrupt, Icebreak, and Routine, with situational awareness capability.
-
Rule Management
Rules stored as Markdown files with hot reload support. Multi-level scope (global > Bot > group). AI may manage rules autonomously via ToolSet.
-
Cron System
Efficient time-wheel-based task scheduling. Supports one-shot and recurring reminders defined by Cron expressions. AI generates natural reminder text.
-
Summary System
Automatic generation of group chat conversation summaries. AI extracts key information and topic threads, with historical summary retrieval.
-
Evolution System
Automatic learning of new vocabulary and trending expressions from group chats. Records semantic meaning and usage context, integrating them naturally at appropriate moments.
Plugin Extensions¶
erii is built on the PF4J plugin framework and supports four extension points:
| Extension Type | Description | Trigger |
|---|---|---|
| AgentExtension | General agent extension | Always participates in agent loop |
| RouteExtension | LLM routing extension | Matched by RoutingAgent intent classification |
| CmdExtension | Command extension | /xxx command prefix match, supports aliases |
| PassiveExtension | Passive extension | Background tasks / event listeners |
Component Services¶
| Component | Description | Supported Backends |
|---|---|---|
| LLM Chat | AI conversational reasoning | Google Gemini / DeepSeek / MiniMax / OpenAI / Anthropic / OpenRouter |
| Vector Embedding | Text and image semantic vectorization | ByteDance Embedding / SiliconFlow |
| Web Search | Real-time search for AI Agent | Exa / MiniMax Search |
| Vision | Image content understanding and description | MiniMax Vision |
| Browser | Web page screenshots and Markdown scraping | Playwright |
Tech Stack¶
-
Backend
Kotlin 2.2+ · Ktor 3.3+ · Koin 4.1+ · JobRunr 8.3+ · H2 · Exposed · PF4J 3.15+
-
AI Framework
Koog Agents 0.7+ · Multi-provider LLM support
-
CLI Tool
Go 1.21+ · Bubble Tea TUI
-
Distribution
npm monorepo · Node.js CLI launcher