If ChromaDB is not installed or the collection is empty, generation continues normally. Retrieval simply becomes a no-op.
What it stores
The knowledge base stores canonical, factual information about a persona or a server context. Entries can include source-backed dialogue, descriptions, events, and relationship details. The retrieval subsystem does not own conversation history, the active persona prompt, or long-term user facts. That separation gives one source of truth for each responsibility:- ConversationManager handles short-term turn history
- User Memory stores user facts
- Character Memory stores narrative relationship history
- Persona Knowledge Base (PKB) stores retrieval-ready canonical and source-linked knowledge
Setup
-
Install dependencies.
-
Configure your environment:
CHROMA_COLLECTIONchooses the collection name.CHROMA_PERSIST_DIRECTORYcontrols the on-disk storage location. - Start the bot. The collection is created automatically on first use.
Add content with /kbadd
Use /kbadd to add a new knowledge entry. You can supply text, a file attachment, or both.
List entries by persona with /kbpersona
Use /kbpersona to list all knowledge entries for a specific persona. This is useful for auditing what knowledge the bot has for a given character.
limit parameter (default: 50) to control how many entries are returned.
Browsing and retrieval
Semantic search
Search the knowledge base by meaning rather than exact keyword matching:List entries
Remove content
Retrieval pipeline
Retrieval runs automatically during AI generation. It does not require a manual toggle.- A user message triggers generation.
- Freesona embeds the request and queries the vector store.
- The most relevant document chunks are returned and filtered by metadata.
- The retrieved context is assembled and injected alongside persona, memory, and conversation state.
- The model produces a grounded response.