Skip to content
Work
06

AI & LLM

EchoChar

A terminal app for ongoing, persistent conversations with fictional characters — they remember you and grow over time.

Cover image for EchoChar.
Cover image for EchoChar.

Overview

ECHO is a terminal app for having ongoing, persistent conversations with fictional characters — the kind you might find in a novel, anime, or RPG. You chat with them. They remember you. They grow.

The Concept

Unlike a one-shot chatbot, every character in ECHO has a personality (defined in detail when you create them) and a memory (stored locally on your machine in SQLite). Close the app, come back tomorrow, and Hana will still remember that you told her about your bad day last week. Argue with Richard about politics today, and next week he’ll bring it up again — with the same energy.

ECHO is for writers testing dialogue, worldbuilders stress-testing their characters, language learners rehearsing conversations, people who want a non-judgmental sounding board, or anyone who just enjoys talking to a character that doesn’t feel like cardboard. Everything runs locally. Your conversations stay on your disk.

Features

  • Model Agnostic — Works with DashScope (default), OpenCode Go, OpenRouter, or any OpenAI-compatible API via custom LLM_BASE_URL
  • ECHO AI Character Guide — Interactive AI-powered character creation through conversation
  • Dual Creation Methods — Conversational walkthrough (ECHO) or quick form for fast setup
  • Character Import/Export — Load characters from JSON files or export them for sharing
  • Persistent Memory — SQLite-based memory system with importance scoring and FTS5 search
  • Memory Continuity — Characters remember past conversations, names, and personal details
  • Memory Compaction — Automatic summarization and pruning of old memories
  • Action Highlighting — Character actions [like this] are visually styled and separated from dialogue
  • Memory Cap Warning — Notifies when important memories exceed context window capacity
  • Identity Memory Boost — User names and personal info are always preserved in memory
  • Resilient JSON Parsing — Truncated character sheets from ECHO are automatically repaired

Memory System

A character that forgets what you said five minutes ago isn’t a character — it’s a parrot. ECHO’s memory layer is what turns a chatbot into someone you can actually have a relationship with.

How It Works (in plain terms)

Every line you type, and every line the character replies, gets written to a SQLite database on your machine. Nothing leaves your computer except the prompt sent to the LLM. Each memory is tagged with an importance score from 0.0 to 1.0 — think of it as the character’s personal “how much do I care about this?” dial.