Память, настройки и ключи ИИ-агента на всех компьютерах

· Документация

Если ИИ-агент для кода стоит на нескольких компьютерах, его память, настройки и ключи провайдеров можно держать одинаковыми: записали факт в память на работе — дома агент его уже знает. Разберём, что синхронизируется, как это зашифровано и что будет, если править на двух машинах сразу.

Что синхронизируется, а что нет

Едет на другие компьютеры Остаётся на этом компьютере
Личная память агента: папка memory/ — MEMORY.md и заметки Вход в аккаунт ExecAI
Настройки одним файлом: config.json, subscriptions.json (источники вместе с ключами провайдеров), permissions.json (разрешения) История бесед
Папка .execai/ проектов, привязанных к веб-чату, — в ней память проекта EXECAI.md Адрес сервера, настройка уведомлений, браузер для окна execai ui

Настройки общие для всех компьютеров: модель, выбранная командой /model, и активный источник тоже приезжают на остальные машины.

Файл памяти или настроек больше 256 КБ, папка .execai/ проекта больше 1 МБ после сжатия и символические ссылки в обмене не участвуют. Агент скажет, что пропущено, а /sync покажет список.

Пример с посадочной страницы: что едет зашифрованным и что остаётся на компьютере

Как включить

Нужны вход в аккаунт ExecAI и тариф «Работа» или «Макс». Как поставить агента и войти — в статье «Установка и первая задача».

Первый компьютер. В чате агента:

/sync on

или в терминале:

execai sync on

Агент попросит придумать пароль синхронизации не короче 10 знаков и повторить его. Пароль понадобится на других компьютерах, а восстановить его нельзя — сохраните его в менеджере паролей. Затем агент отправит память и настройки и покажет, что синхронизируется.

Второй и следующие компьютеры. Войдите в тот же аккаунт и наберите /sync on. Агент попросит пароль с первого компьютера, ответит «Ключ получен, синхронизация включена», и приедут память, настройки и ключи. Источники, которые были только на этом компьютере, не пропадут, а добавятся к общим. Если в здешних настройках было своё, агент сохранит их прежнюю версию и скажет где. Неверный пароль — «Пароль не подошёл», и агент спросит снова.

Когда идёт обмен

  • при запуске чата, execai serve и панели в редакторе;
  • каждые 10 минут, пока агент запущен;
  • через 10 секунд после изменения памяти, настроек, разрешений или папки .execai/ привязанного проекта;
  • при выходе;
  • по команде /sync now.

/sync показывает, когда был последний обмен и что едет; то же видно в карточке /machine.

Пример: карточка /machine — строки «Синхронизация» и «Доступность»

Пароль и шифрование: что видит сервер

  • Каждый файл памяти и настройки шифруются на компьютере вашим ключом до отправки. Ключ лежит в файле sync.key в папке настроек агента.
  • На сервер ключ попадает только запертым вашим паролем. Пароля у сервера нет, поэтому прочитать данные или восстановить пароль он не может.
  • Названия файлов памяти тоже скрыты.
  • Что сервер знает: сколько файлов, какого размера и когда менялись, а про каждый компьютер — названия подключённых источников, активный источник и версию агента. Ключи провайдеров — только внутри зашифрованных настроек.
  • Привязка проекта хранит на сервере путь к папке на каждом компьютере: по нему задачи из веб-чата находят нужное место.

Сменить пароль — /sync password. На остальных компьютерах ничего делать не нужно.

Если правили на двух компьютерах

Агент решает каждый файл отдельно и сравнивает содержимое, а не время изменения. Поэтому правки разных файлов на двух машинах сохраняются обе. Индекс памяти MEMORY.md сводится по записям: строки всех заметок остаются.

Если один и тот же файл изменили и здесь, и на другом компьютере, остаётся версия с сервера, а здешняя сохраняется копией, и агент пишет, где она:

  • для файлов проекта — рядом с файлом, например EXECAI.md.local-<время>;
  • для памяти и настроек — в папке sync-unsent/<дата>/ внутри папки настроек агента.

Такие копии агент не удаляет никогда. Чтобы вернуть свою версию, скопируйте копию поверх файла — она уйдёт на другие компьютеры как обычная правка. Если разошлись разрешения, агент прямо скажет, что разрешения и запреты этого компьютера не применены.

Версии, которые заменили или удалили с другого компьютера, хранятся 30 дней в папке sync-history/, тоже только на этом компьютере. Сколько копий и где они, показывает /sync.

Проекты: привязать папку на новом компьютере

Память проекта агент ведёт в .execai/EXECAI.md. Эта папка едет на другие компьютеры только у проектов, привязанных к веб-чату. Файл EXECAI.md в корне проекта — инструкции, которые часто хранят в git: агент его читает, но между компьютерами он не едет.

На первом компьютере, в папке проекта:

/project publish

Агент создаст проект в веб-чате с именем папки, привяжет к нему папку и отправит .execai/. На новом компьютере перейдите в нужную папку, можно пустую:

/project bind <имя проекта>

Агент привяжет папку и заберёт .execai/ с сервера. Пути могут различаться: на ноутбуке ~/work/app, на рабочем D:\src\app. Если .execai/ есть и здесь, и на сервере, файлы сводятся по одному.

Если память проекта у вас лежит в корневом EXECAI.md, команда /project memory скопирует её в .execai/EXECAI.md. Нужно ли класть .execai/ в git, решаете вы. Агент .gitignore не правит.

Ключи без синхронизации

Перенести ключи провайдеров можно и без сервера, и без тарифа. На компьютере, где ключи есть:

/sync keys export

Агент покажет код переноса и фразу из шести слов. Передайте их разными путями: вместе они открывают ваши ключи. На другом компьютере:

/sync keys import

Вставьте код и введите фразу. Новые источники добавятся, активный не изменится; переключиться — /source <имя>. В терминале: execai sync keys export и execai sync keys import. Вход в аккаунт для этого не нужен.

Как выключить и всё забыть

  • /sync off выключает синхронизацию на этом компьютере. Данные на сервере остаются, включить снова — /sync on.
  • /sync forget удаляет с сервера ключ шифрования, всю синхронизированную память, настройки с ключами провайдеров и список компьютеров. Агент попросит написать слово «удалить»; отменить удаление нельзя. Файлы на компьютерах остаются, остальные машины при следующей проверке поставят синхронизацию на паузу.
  • Прежние версии настроек, в которых могут быть ключи, лежат в sync-history/settings в папке настроек агента. Чтобы убрать их сразу, удалите эту папку.

Папка настроек агента: ~/.config/execai/ в Linux, ~/Library/Application Support/execai/ в macOS, %APPDATA%\execai\ в Windows.

На каких тарифах

Синхронизация доступна на тарифах «Работа» и «Макс». Если тариф закончился, она встаёт на паузу, а файлы на компьютере остаются как были. После продления синхронизация продолжится сама в течение суток или сразу по /sync now. Перенос ключей и /sync forget работают без тарифа. Про ключи и подписку — в статье «Свои ключи или подписка».

Частые вопросы

Можно ли синхронизировать память без ключей провайдеров? Нет: ключи едут вместе с настройками в одном зашифрованном файле. Если ключи не должны покидать компьютер, не включайте синхронизацию на нём.

Одну заметку поправили на двух компьютерах. Что останется? Версия с сервера, а здешняя — копией в sync-unsent/. Агент скажет, где она.

Я забыл пароль синхронизации. Что делать? Восстановить его нельзя. Удалите данные с сервера командой /sync forget и включите синхронизацию заново с новым паролем. Память на компьютерах при этом останется.

Подробнее об агенте →

Скачать агента →

Открыть чат ExecAI

Ещё в блоге