Skip to content

API Provider Configuration Field Reference ​

This page documents the schema consumed by the current repository. It intentionally does not freeze provider counts, model IDs, pricing, cache claims, or benchmark figures.

Sources of truth ​

  • config/api_providers.json: bundled provider data and feature catalogs
  • utils/api_config_loader.py: profile conversion and feature accessors
  • config/api_profiles.py: code fallbacks
  • utils/config_manager/core_config.py: user selection and role resolution
  • main_routers/config_router/: settings payloads, connectivity, and writes

Top-level sections ​

SectionConsumer
core_api_providersCore loader and settings UI
assist_api_providersAssist loader and settings UI
keybook_api_providersKeybook/TTS/provider settings UI
assist_api_key_fieldsProvider-key to runtime credential mapping
api_key_registryCredential metadata and connectivity/UI handling
default_modelsModel defaults read by feature accessors
native_tts_voice_providers, free_voicesVoice registry/configuration
livestream_configLivestream endpoint/voice behavior
meme_moderation_configMeme moderation

Keys prefixed with _comment_ are explanatory data.

Core provider object ​

Common display metadata includes key, name, description, and feature flags such as is_free_version. The core loader converts only:

JSONRuntime
core_urlCORE_URL
core_urlsCORE_URLS
core_modelCORE_MODEL
core_api_keyCORE_API_KEY

Assist provider object ​

JSONRuntime
openrouter_url, openrouter_urlsOPENROUTER_URL, OPENROUTER_URLS
token_plan_openrouter_url(s)MiMo token-plan URL field(s)
conversation_modelCONVERSATION_MODEL
summary_modelSUMMARY_MODEL
correction_modelCORRECTION_MODEL
emotion_modelEMOTION_MODEL
vision_modelVISION_MODEL
agent_modelAGENT_MODEL
audio_api_keyAUDIO_API_KEY
openrouter_api_keyOPENROUTER_API_KEY
provider_typePROVIDER_TYPE

Unknown fields are not automatically promoted into runtime config. Frontend core/assist lists expose only key, name, and description.

Credentials and feature catalogs ​

assist_api_key_fields maps an assist-provider key to the uppercase field read by core_config.py. api_key_registry carries metadata used by settings/connectivity code. New credential fields require writable JSON handling, router/UI support, redaction, and tests.

Native TTS, keybook, voice, livestream, and moderation sections have feature-specific schemas. They may use inheritance, aliases, catalogs, visibility/default fields, or standalone local override files. Do not treat those as core/assist loader fields.

Fallback behavior ​

  • A non-empty core JSON set is converted as the core profile set; an empty/malformed source falls back to code defaults.
  • Assist JSON profiles merge over same-key code defaults, then code-only defaults are appended.
  • config/livestream_config.json and config/meme_moderation_config.json, when present, take precedence for their owning features.

Review checklist ​

  1. Keep identifiers stable and cross-references consistent.
  2. Never add secrets to bundled JSON.
  3. Verify candidate-URL and selected-provider behavior.
  4. Update all eight locale files for visible labels.
  5. Run targeted provider/config/connectivity tests and uv run pytest as appropriate.
  6. Build the site with npm ci && npm run build in docs/.