Skip to main content

Module models_manager

Module models_manager 

Source
Expand description

Models Manager Module

This module provides centralized model discovery, caching, and management following patterns from OpenAI Codex. It coordinates:

  • Remote Model Discovery: Fetching available models from provider APIs
  • Local Model Presets: Built-in model configurations for offline use
  • Caching: TTL-based disk and memory caching for model metadata
  • Model Families: Grouping models by capabilities and characteristics

§Architecture

┌─────────────────┐
│  ModelsManager  │
├─────────────────┤
│ - local_models  │──────┐
│ - remote_models │      │
│ - cache         │      ▼
└────────┬────────┘  ┌─────────────┐
         │           │ ModelFamily │
         │           └─────────────┘
         ▼
   ┌───────────┐
   │ ModelsCache │
   └───────────┘

§Usage

use vtcode_core::models_manager::ModelsManager;

let manager = ModelsManager::new();

// List available models
let models = manager.list_models().await;

// Get a specific model's family
let family = manager.construct_model_family("gemini-2.5-flash").await;

Re-exports§

pub use cache::ModelsCache;
pub use manager::ModelsManager;
pub use manager::SharedModelsManager;
pub use manager::new_shared_models_manager;
pub use model_family::ModelFamily;
pub use model_family::find_family_for_model;
pub use model_presets::ModelInfo;
pub use model_presets::ModelPreset;
pub use model_presets::builtin_model_presets;
pub use model_presets::presets_for_provider;

Modules§

cache
Models cache for persisting model metadata across sessions.
manager
Models Manager - Coordinates model discovery, caching, and selection.
model_family
Model family definitions and capability groupings.
model_presets
Model presets and built-in model configurations.