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 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.