Config Schema Reference

April 13, 2026 ยท View on GitHub

Qualixar OS is configured via ~/.qualixar-os/config.yaml. The schema is defined with Zod in src/types/common.ts (QosConfigSchema). All fields have defaults; an empty file is valid.

Minimal Example

mode: companion
routing: balanced
providers:
  local:
    type: ollama
    endpoint: http://localhost:11434
models:
  primary: ollama/llama3
  fallback: ollama/llama3
budget:
  max_usd: 100
  warn_pct: 0.8
execution:
  max_output_tokens: 16384
  agent_quality: balanced
  enable_shell: false

All fields have defaults; an empty file is valid.

Top-Level Fields

FieldTypeDefaultDescription
modecompanion | powercompanionSystem mode (affects feature gates)
routingquality | balanced | costbalancedModel routing strategy

providers.<name>

Each provider is a named entry with these fields:

FieldTypeRequiredDescription
typestringYesProvider type: ollama, openrouter, anthropic, openai, azure-openai, google, lmstudio, custom
api_key_envstringNoEnv var name holding the API key
endpointstringNoBase URL (resolved from endpoint_env if not set)
endpoint_envstringNoEnv var name holding the endpoint URL
api_versionstringNoAPI version (Azure)
deploymentsobjectNoModel-to-deployment mapping (Azure)

models

FieldTypeDefaultDescription
primarystringclaude-sonnet-4-6Default model for tasks
fallbackstringgpt-4.1-miniFallback when primary fails
judgestring(optional)Model for judge assessments
localstring(optional)Preferred local model
catalogarray[]User-defined model entries

Each catalog entry: { name, provider, deployment?, quality_score (0-1), cost_per_input_token, cost_per_output_token, max_tokens }.

budget

FieldTypeDefaultDescription
max_usdnumber100Global hard spending limit
warn_pctnumber0.8Warning threshold (0-1)
per_task_maxnumber(optional)Per-task spending cap

security

FieldTypeDefaultDescription
container_isolationbooleanfalseEnable container sandboxing
policy_pathstring(optional)Custom security policy file
allowed_pathsstring[]["./"]Paths agents can access
denied_commandsstring[]["rm -rf", "sudo"]Additional blocked commands

memory

FieldTypeDefaultDescription
enabledbooleantrueEnable memory system
auto_invokebooleantrueAuto-recall before tasks
max_ram_mbnumber50Memory RAM budget
embedding.providerstringazureEmbedding provider
embedding.modelstringtext-embedding-3-largeEmbedding model
embedding.dimensionsnumber3072Vector dimensions

execution

FieldTypeDefaultDescription
max_output_tokensnumber16384Max output tokens per agent call (1024-32768)
agent_qualitybalanced | high | maximumbalancedAgent quality tier
enable_shellbooleanfalseAllow shell command execution

toolConnectors

Array of MCP tool connector entries:

FieldTypeRequiredDescription
idstringYesUnique identifier
namestringYesDisplay name
transportstdio | streamable-httpNoTransport type (default: stdio)
commandstringNoCommand to start (stdio)
argsstring[]NoCommand arguments (stdio)
urlstringNoServer URL (streamable-http)

workspace

FieldTypeDefaultDescription
default_dirstring(empty)Custom workspace base directory

Other Sections

  • dashboard: { enabled: boolean, port: number }
  • channels: { mcp, http, telegram, discord, webhook } -- each with enabled toggle
  • observability: { otel_endpoint?, log_level } -- OpenTelemetry and logging
  • db: { path } -- SQLite database location

Hot Reload

Config changes are auto-detected via file watcher. The server emits a config:changed event when the file is modified.