Skip to content

**Title:** Support multiple model profiles in settings.json for quick switching via /model #204

Description

@LoveSilverWolf-999

Problem

Currently, settings.json only accepts a single set of model-related configuration:

{
  "model": "deepseek-v4-pro",
  "thinkingEnabled": true,
  "reasoningEffort": "max",
  "temperature": 0
}

When I need to switch between different models (e.g., deepseek-v4-pro with max reasoning for complex tasks, deepseek-v4-flash without thinking for quick edits), I have to manually adjust each field via /model every time — model name, thinking mode, reasoning effort, and temperature. This is repetitive and error-prone.

Proposed Solution

Support a profiles field in settings.json to predefine multiple named configurations:

{
  "profiles": {
    "pro-max": {
      "model": "deepseek-v4-pro",
      "thinkingEnabled": true,
      "reasoningEffort": "max",
      "temperature": 0
    },
    "flash-quick": {
      "model": "deepseek-v4-flash",
      "thinkingEnabled": false,
      "temperature": 0.7
    },
    "coding-plan": {
      "model": "ark-code-latest",
      "baseUrl": "https://ark.cn-beijing.volces.com/api/coding/v3",
      "thinkingEnabled": true
    }
  },
  "defaultProfile": "pro-max"
}

The /model command would then list these profiles for one-click switching.

Use Cases

  1. Heavy reasoning tasks (architecture design, debugging) → switch to pro-max
  2. Quick edits / boilerplate → switch to flash-quick for speed and cost savings
  3. Third-party models (e.g., Coding Plan) → switch to coding-plan without re-entering BASE_URL and API_KEY each time

Expected Behavior

  • profiles entries accept: model, baseUrl, apiKey, thinkingEnabled, reasoningEffort, temperature
  • defaultProfile (optional) specifies which profile to use at session start
  • /model lists all profiles and allows selecting one to apply immediately
  • If profiles is not configured, /model behaves exactly as it does today

Thanks for the great tool!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions