Skip to main content

Configuration precedence and plugins

Section ID: Guide/jf4cstc3ng#overview

Generation configuration can come from a profile, conversation defaults and a per-send override. This reference defines their precedence and the plugin configuration passed into generation.

System prompt​

Section ID: Guide/jf4cstc3ng#configuration-system-prompt

Set defaultGenerationConfig.systemPrompt through update-default-generation-config, or supply it in the per-turn generation override. update-default-generation-config replaces the complete stored configuration, so read and retain the existing model, limits and other defaults before adding the prompt. A per-send override has different merge behavior. settings.systemPrompt is not a recognized field and is ignored. The selected profile and per-turn overrides can replace the thread’s prompt; see configuration precedence.

Generation configuration precedence​

Section ID: Guide/jf4cstc3ng#configuration-how-settings-combine

The platform resolves a final GenerationConfig for each generation call by merging three layers:

Generation configuration precedence

Profile or thread defaults form the base; populated per-send fields override that base, and a platform default model fills an unset model.

Resolution rules:

  • systemPrompt: per-send override wins > active profile > thread default. The active profile's prompt is first rendered with the current prompt variables.

  • Memory config: if the active profile omits mem0 config entirely, the thread default's mem0 config is inherited (special case — other fields are not inherited this way).

  • Model: if nothing in the chain sets a model, the platform substitutes its own default.

  • Per-send fields: overrideGenerationConfig merges field-by-field — set a field to override it for that send; omit it to keep the base value.

  • MCP servers: follow the three-tier replacement rule described in MCP server selection, not field-by-field merging.

Plugins​

Section ID: Guide/jf4cstc3ng#configuration-plugins

plugins is a list of PluginConfig objects that activate pre/post-processing behaviour. Two built-in plugins:

PDF parsing — attach a pdf block to configure the extraction engine:

See GenerationConfigInput for the full field contract. This excerpt illustrates the relevant choices; replace identifiers with your own authorized values.

  • plugins[0].id: text file-parser.
  • plugins[0].pdf.engine: text mistral-ocr.

Configuration excerpt: GenerationConfig fields.

Engines: pdf-text (default, text extraction), mistral-ocr (OCR via Mistral), native (provider-native parsing).

Web search — attach a web block:

See GenerationConfigInput for the full field contract. This excerpt illustrates the relevant choices; replace identifiers with your own authorized values.

  • plugins[0].id: text web-search.
  • plugins[0].web.engine: text native.
  • plugins[0].web.maxResults: number 5.
  • plugins[0].web.searchPrompt: text Find recent news about....
  • plugins[0].web.webSearchOptions.searchContextSize: text medium.

Configuration excerpt: GenerationConfig fields.

searchContextSize accepts low, medium, or high.

Document ID: Guide/jf4cstc3ng