#328·aisuite

Make the configuration of providers and models more generic

Author: fuldstakCreated Jun 17, 2026Updated Jun 17, 2026

The current configuration screens and files forces you to choose between a single ollama url with multiple model strings, or one of three frontier providers, without the possibility of explicit model configuration.

As an AI engineer I use many providers, including ollama, LM Studio, and several corporate inference servers.

The Pi coding harness has an elegant format, which could be used as inspiration:

{
  "providers": {
    "lmstudio": {
      "baseUrl": "http://localhost:1234/v1",
      "api": "openai-completions",
      "apiKey": "sk_live_xxx",
      "compat": {
        "supportsDeveloperRole": false,
        "supportsReasoningEffort": false
      },
      "models": [
        {
          "id": "google/gemma-4-e4b",
          "reasoning": true
        },
        {
          "id": "google/gemma-4-31b-qat",
          "reasoning": true
        }
      ]
    },
    "corp1": {
      "baseUrl": "https://inference.corphost.dk/v1",
      "api": "openai-completions",
      "apiKey": "sk_live_yyy",
      "compat": {
        "supportsDeveloperRole": false,
        "supportsReasoningEffort": false
      },
      "models": [
        {
          "id": "qwen3.5-397b",
          "extraBody": {
            "chat_template_kwargs": {
              "enable_thinking": false
            }
          }
        }
      ]
    },
    "corp2": {
      "baseUrl": "https://inference2.corphost.dk/v1",
      "api": "openai-completions",
      "apiKey": "sk_live_zzz",
      "compat": {
        "supportsDeveloperRole": false,
        "supportsReasoningEffort": false
      },
      "models": [
        {
          "id": "qwen-235b",
          "extraBody": {
            "chat_template_kwargs": {
              "enable_thinking": false
            }
          }
        }
      ]
    }
  }
}