| Extension Point | How |
|---|---|
| Custom schema structure | Define your own paths in UniversalSchemaDomain |
| Custom schema templates | Create .json files in ./templates/ directory |
| Custom CM behavior | Write your own system_prompt_builder(state, registry) -> str |
| Custom chatbot prompt | Pass any template with {recalled_data} placeholder |
| Custom tools | Extend SCProtocol.tools() with domain-specific operations |
| Custom persistence | Replace StateManager / SchemaFileManager with your own backend |
| Any LLM provider | Set base_url to any OpenAI-compatible endpoint |
| Custom input formats | Subclass InputConverter and implement convert() |
| Plugins | Register via .use(plugin) — add hooks & prompt vars without editing core |
Custom Schema Structure
Custom CM Prompt
Override the CM agent’s behavior by providing a customsystem_prompt_builder:
Custom Chatbot Prompt
The chatbot prompt template receives{recalled_data} (recalled schema content) and any custom variables injected by plugins:
Custom Input Formats
SubclassInputConverter for custom data formats: