simple_chat
Simple Chat
A lightweight, standalone command-line chat application extracted from Empaws. This application focuses purely on persona-driven chat, topic switching, and multilayered memory consolidation using the Mantle framework. All hypervisors, demon tasks, subagents, events, and text-to-speech features have been excluded for maximum simplicity.
Features
- Core Identity Anchor: Configure the baseline persona, name, and core behavioral rules.
- Dynamic Topics: Create separate topic files under the
topics/directory and switch between them dynamically in the chat REPL. - Multilayer Layered Memory: Integrates Mantle's context management and memory consolidation. Conversation history is automatically consolidated when token thresholds are exceeded.
- Stream/Standard Output: Real-time streaming response from LLM endpoints.
Directory Structure
simple_chat/
├── config/
│ └── core_identity.json # Core name, identity, and behavioral rules
├── topics/
│ └── topic_general.json # Topic-specific tone and instruction frames
├── context/
│ └── chat_context.json # Auto-created conversation logs/context
├── memory/
│ └── chat_memory.json # Auto-created long-term consolidated memories
├── src/
│ ├── app.cr # Entry point and REPL loop
│ ├── config.cr # Simple config loader
│ └── models/
│ ├── identity_anchor.cr
│ ├── topic_frame.cr
│ └── topic_repository.cr
├── config.json # Model and window parameters
├── shard.yml # Crystal dependencies (mantle)
└── README.md
Setup & Running
-
Install Dependencies:
shards install -
Run the REPL:
crystal run src/app.crNote: On the first run, the application will automatically generate default
config.json,config/core_identity.json, andtopics/topic_general.jsonif they do not exist.
Commands inside the REPL
/topics- List all available topics./topic <topic_id>- Switch active topic frame (e.g./topic general)./info- View model settings and token count status./clear- Clear current chat context history./help- Show available commands./exitor/quit- Exit the program.
Repository
simple_chat
Owner
Statistic
- 0
- 0
- 0
- 0
- 1
- about 8 hours ago
- June 27, 2026
License
Links
Synced at
Sat, 27 Jun 2026 01:37:32 GMT
Languages