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.
Structured ingestion with /kbpersona
For richer, persona-aware knowledge, use /kbpersona. This path runs a full ingestion pipeline that normalizes, chunks, and assigns metadata to the content before it is embedded.
Required metadata
Optional metadata
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.