Работа с папкой ai-agent

При обновлениях программы требуется обновлять инструкции для AI-agent.
Для автоматизации этого процесса в программе предусмотрено копирование папки.

В настройках десктопного TSLab (вкладка «Пути») добавлен блок «Рабочая папка для ИИ-агентов»:

  • Путь к папке. По умолчанию Документы\TSLab 3.0\ai-agent. Выбирается через «...», есть кнопка сброса.

  • Проверка пути. Ошибка показывается, если путь не полный, указывает на файл, находится в каталоге программы или к нему нет доступа на чтение и запись. Также ошибка, если в каталоге программы нет папки ai-agent.

  • Флажок «Обновлять автоматически после обновления программы». По умолчанию выключен. Сохранить настройки с включённым флажком и неправильным путём нельзя.

  • Кнопка «Обновить сейчас» копирует принудительно и показывает, сколько файлов скопировано, удалено и осталось без изменений.

  • Кнопка «Открыть папку».

Как работает копирование

  • Источник — папка ai-agent рядом с запущенным exe. Путь к установке не зашит.

  • В рабочей папке хранится файл .tslab-ai-agent.json со списком разложенных файлов и их контрольными суммами (SHA-256).

  • Файлы из поставки перезаписываются. Файлы, которые исчезли из поставки, удаляются, но только если пользователь их не менял; изменённые остаются. Пустые папки после удаления убираются.

  • Файлы пользователя, например проекты в tmp, не затрагиваются.

  • Если при копировании была ошибка, при следующем запуске копирование повторяется.

Автообновление

  • Выполняет сама программа при старте, в фоне и без прав администратора. Лаунчер TSLab.exe не менялся: при обновлении он работает с правами администратора, а файлы, созданные так в папке пользователя, принадлежали бы администраторам.

  • Срабатывает после любого способа обновления: ночная сборка, релиз, ручная установка.

  • Если содержимое ai-agent с прошлого раза не менялось, копирование пропускается, и в лог пишется, что проверка была. Поэтому правки пользователя в файлах поставки затираются только после реального обновления программы.