Basic Setup
Using a Preset Template
The recommended way to get started:Defining Schema Manually
For custom schema structures:Build Memory
Process any text into structured memory:Chat with Memory
Generate responses grounded in schema data:chat() returns a dict with the following keys:
| Key | Type | Description |
|---|---|---|
reply | str | The chatbot response |
schema_updated | bool | Whether schema auto-update was triggered this round |
context_rounds | int | Number of chat rounds included as context |
total_rounds | int | Total chat rounds in this session |
memory_injected | bool | Whether schema memory was injected (context window exceeded) |
request_data | dict | The system prompt and messages sent to the LLM |
Listen Mode
listen() provides automatic periodic memory extraction — it accumulates chat history, runs the CM agent in build mode every N turns, and recalls schema data every turn:
chat(), listen() returns a plain string (not a dict). Build triggers when turn_number % build_every_n_turns == 0.
Selective Recall
recall() runs the CM agent in QA mode to retrieve only the schema fields relevant to a message:
Dynamic Schema Update
Enable automatic schema updates during chat:Plugins & Custom Tools
Register plugins via.use() and custom SCP tools via .tools():