Skip to content

Allow Chat with Mux to configure models, providers, and other config #2572

@blinkagent

Description

@blinkagent

Problem

Currently, Chat with Mux cannot modify Mux configuration files (~/.mux/providers.jsonc, ~/.mux/config.json). Users must manually edit these files or use the Settings UI. It would be valuable for the agent in Chat with Mux to be able to help users configure providers, models, and other settings conversationally.

Prerequisite: JSON Schema for config files

Before granting the agent write access to config files, we need to add JSON Schemas to providers.jsonc and config.json (and any other JSONC config files). This is critical so that:

  • The agent understands the valid structure, types, and constraints of each config file
  • Changes made by the agent are semantically correct
  • Mux will actually start successfully after the agent modifies config
  • Invalid configurations are caught before they are written

Without a schema, the agent would be guessing at valid field names, types, and relationships — leading to broken configs.

Proposed approach

  1. Define JSON Schemas for:
    • ~/.mux/providers.jsonc — provider API keys, base URLs, routing preferences, cache TTL, etc.
    • ~/.mux/config.json — projects, feature flags, bind host, server auth, etc.
  2. Expose schemas to Chat with Mux so the agent can validate proposed changes before writing
  3. Add a tool or capability for Chat with Mux to read and write config files with schema validation
  4. Validate before write — reject changes that don't conform to the schema

Example use cases

  • "Add my Anthropic API key" → agent writes to providers.jsonc with correct structure
  • "Switch my default model to Claude Sonnet" → agent updates config correctly
  • "Enable OpenRouter with these routing preferences" → agent knows the valid order and allow_fallbacks fields from the schema
  • "Set up Bedrock with my AWS region" → agent understands Bedrock-specific config shape

Created on behalf of @ibetitsmike

Metadata

Metadata

Assignees

Labels

enhancementNew feature or functionality

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions