Forge
csharpdeeb25a2
1using System.Collections.ObjectModel;
2using CommunityToolkit.Mvvm.ComponentModel;
3
4namespace CascadeIDE.ViewModels;
5
6/// <summary>Состояние редактора, Markdown и выбора модели Ollama.</summary>
7public partial class MainWindowViewModel
8{
9 [ObservableProperty]
10 [NotifyCanExecuteChangedFor(nameof(InstallModelCommand))]
11 private bool _ollamaAvailable;
12
13 [ObservableProperty]
14 private string _ollamaStatus = "Проверка Ollama…";
15
16 /// <summary>True, если IDE запущена как MCP-сервер (--mcp-stdio). Показывать подсказку «управляется агентом».</summary>
17 [ObservableProperty]
18 private bool _isMcpServerMode;
19
20 public ObservableCollection<string> OllamaModels { get; } = [];
21
22 /// <summary>Список моделей + пункт "Install New" для ComboBox.</summary>
23 public ObservableCollection<string> OllamaModelChoices { get; } = [];
24
25 [ObservableProperty]
26 private string? _selectedOllamaModel;
27
28 /// <summary>Идентификатор модели Ollama как для чата: выбор в UI, иначе <c>[ai.local.ollama].model</c>.</summary>
29 public string EffectiveOllamaModelId =>
30 !string.IsNullOrWhiteSpace(SelectedOllamaModel) && SelectedOllamaModel != InstallNewSentinel
31 ? SelectedOllamaModel
32 : (_settings.Ai.Local.Ollama.Model ?? "qwen2.5-coder:7b");
33
34 /// <summary>Краткое описание выбранной модели (размер, контекст, возможности) из Ollama API.</summary>
35 [ObservableProperty]
36 private string _selectedModelDetails = "";
37
38 /// <summary>Последняя выбранная реальная модель (для восстановления после "Install New").</summary>
39 public string? LastSelectedRealModel { get; set; }
40
41}
42
View only · write via MCP/CIDE