# ============================================================================= # openmaic.yml: the model configuration of an OpenMAIC deployment # # Copy this file to openmaic.yml in the directory the server starts in (the # repository root; /app in the Docker image), or point OPENMAIC_CONFIG at it, # then restart the server. The file is read once at startup. # # As shipped, it needs one key: set OPENAI_API_KEY in .env.local (or change # the provider below to one you have a key for). The commented blocks are # optional; uncomment the ones you want and set the variables they name. # # - providers: the accounts the server can call. # - slots: which provider and model each use of AI gets. Every slot written # here is locked: Settings > Models marks it "Set by the server" and # cannot change it. Slots left out can be chosen there. # - policy: what the web settings may add. # # Secrets stay in the environment (.env.local, a Docker or Kubernetes secret) # and are referenced as ${VAR}. An unset variable, an unknown preset or slot, # or a reference to an undeclared provider stops the server at startup with # the exact location of the problem. # # Full reference: packages/docs/content/docs/configuration.mdx # ============================================================================= providers: # A provider id (the key) is lowercase letters, digits and dashes. Slots # refer to models as ":". openai: preset: openai apiKey: ${OPENAI_API_KEY} # --- Optional providers ---------------------------------------------------- # Another chat vendor. # anthropic: # preset: anthropic # apiKey: ${ANTHROPIC_API_KEY} # Web search. # tavily: # preset: tavily # apiKey: ${TAVILY_API_KEY} # Most presets cover one capability: OpenAI images are a second provider # with the openai-image preset (the same key works). # openai-image: # preset: openai-image # apiKey: ${OPENAI_API_KEY} # A token plan covers several capabilities with one key: chat, images, # video, text to speech and web search for MiniMax. # minimax: # preset: minimax # apiKey: ${MINIMAX_API_KEY} # Any OpenAI-compatible server: baseUrl is required, and models lists what # the web settings offer from it. # local: # preset: openai-compatible # baseUrl: http://host.docker.internal:11434/v1 # models: [qwen3:8b] # Services that authenticate with a key pair use credentials. # alidocmind: # preset: alidocmind # credentials: # accessKeyId: ${ALIDOCMIND_ACCESS_KEY_ID} # accessKeySecret: ${ALIDOCMIND_ACCESS_KEY_SECRET} slots: # The default chat model. Every chat slot without an assignment of its own # follows it. llm: openai:gpt-5.5 # --- Optional slots (each needs its provider above) ------------------------- # An object adds call parameters and a fallback model, tried once when the # primary fails with a retryable error after its own retries. Fallbacks # apply to language-model slots (llm and the slots below it) only. # course.outline: # model: anthropic:claude-sonnet-4-6 # fallback: openai:gpt-5.4-mini # The Pro workbench agent needs a model with tool calling. It may set # thinking.mode but not thinking.effort; an effort set on llm is dropped # for the agent. # agent: # model: openai:gpt-5.5 # api: openai-completions # A provider id alone means that provider's default model (search and # document services mostly have none to pick). # webSearch: tavily # image: openai-image:gpt-image-2 # tts: minimax:speech-2.8-turbo # null turns a capability off, and locks it off. # video: null # policy: # # false: the web settings cannot add providers; users only choose among # # the providers declared above, for slots this file leaves open. # allowWorkspaceProviders: true