Echolot
Рабочие пространства

Git и команды

Делитесь рабочим пространством через Git, просматривайте изменения как небольшие диффы и не пускайте секреты и личные настройки в репозиторий.

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

Файлы, сделанные для диффов

  • Один файл на запрос. Изменение запроса меняет один файл. Добавление запроса добавляет один файл.
  • Детерминированность. Echolot каждый раз записывает одно и то же содержимое одинаково: те же ключи в том же порядке, поэтому сохранение без изменений ничего не меняет, а дифф показывает только то, что изменили вы.
  • Читаемость. Запросы — это TOML; тела лежат рядом со своим запросом отдельными файлами (create-order.body.json), а запросы GraphQL — как .graphql, поэтому диффы получаются в JSON и GraphQL, а не в экранированных строках.
  • Порядок в файле папки. Порядок объектов в папке — это список в её _folder.toml, а не часть имён файлов, поэтому перестановка меняет одну строку.
  • Ваши комментарии сохраняются. Комментарии, которые вы написали в файле вручную (# why this header), сохраняются, когда Echolot записывает файл: блок комментариев вверху, комментарии над ключом или таблицей и комментарии после значения. Комментарий к ключу, которого больше нет, отбрасывается.

Переименование запроса переименовывает его файл, а также файлы тела и скриптов рядом с ним. Переименование окружения сохраняет имя его файла.

Что коммитить

Коммитьте всю папку рабочего пространства. Игнорировать в ней нечего: Echolot никогда не пишет в неё секретные значения, историю, тела ответов и ваши личные настройки.

В рабочем пространстве (общее)Только на вашем Mac (не общее)
Запросы, папки, их порядок, документация, авторизация и скриптыСекретные значения, в связке ключей
Переменные и их несекретные значенияГлобальные переменные
Окружения и то, какие из них защищеныКакое окружение активно
MCP-серверы, спецификации, моки, сценарииИстория и тела ответов
Правила агентов, прокси и сертификаты рабочего пространстваРасположение областей и другие настройки приложения
Разговоры с Ассистентом, которыми вы решили поделитьсяКаким скриптам и правилам агентов вы доверяете

Не меняйте ID рабочего пространства в workspace.toml. По нему Echolot находит секретные значения каждого человека.

Значение, введённое прямо в поле, а не через секретную переменную, записывается в файл как есть. Под полями авторизации и прокси, которые его содержат, Echolot предупреждает (Сохраняется открытым текстом в файле рабочего пространства.); нажмите Переместить в Связку ключей перед коммитом. См. секреты.

Как начать делиться

  1. Положите рабочее пространство в репозиторий Git: создайте репозиторий в папке .echolot или держите рабочее пространство папкой внутри репозитория вашего проекта. Любая папка с workspace.toml открывается в Echolot.
  2. Закоммитьте и отправьте.
  3. Коллеги клонируют репозиторий и открывают рабочее пространство командой Файл › Открыть рабочее пространство….
  4. Каждый коллега один раз задаёт секретные значения на своём Mac: на странице «Окружения» для каждого из них написано Не задано на этом Mac.

Инструмент командной строки читает те же файлы, поэтому CI запускает запросы, которые вы коммитите. См. Тесты в CI.

Изменения из Git, редакторов и агентов

Echolot следит за папкой рабочего пространства. Когда файлы меняются вне Echolot (git pull, переключение ветки, редактор, агент), окно перечитывает их: боковая панель, открытые запросы, окружения, спецификации, моки и сценарии сразу обновляются.

Открытый запрос без несохранённых правок принимает новую версию без вопросов.

Если во вкладке запроса есть несохранённые правки, Echolot не выбирает сторону. Над запросом появляется полоса: Этот запрос изменился на диске, «Другое приложение или Git изменили файл, пока здесь были несохранённые изменения».

  • Оставить мои оставляет правки во вкладке и записывает их поверх файла.
  • Взять с диска отбрасывает правки во вкладке и загружает файл с диска.

Пока вы не выберете, Echolot не сохраняет этот запрос, поэтому изменение на диске остаётся как есть.

Закрытие вкладки во время конфликта

Если закрыть вкладку, не выбрав, Echolot спросит: «Create order» изменён на диске, пока здесь были несохранённые изменения. «При закрытии вкладки останется только одна версия». Выберите Оставить мои, Взять с диска или Отменить, чтобы вкладка осталась открытой. Если закрыть окно или выйти, пока конфликт не решён, Echolot сообщит, что правку не удаётся сохранить, и спросит, прежде чем её отбросить, так что ни одна версия не пропадёт без вашего согласия.

Конфликты слияния

Конфликты слияния Git разрешайте в редакторе или инструменте Git, как в любом текстовом файле. Файл, в котором остались маркеры конфликта, не является корректным TOML. Пока файл нельзя прочитать, открытое окно хранит то, что прочитало раньше, а открытие рабочего пространства не удаётся с сообщением в окне приветствия, которое называет файл: «…» не удалось прочитать. Исправьте файл, и рабочее пространство снова прочитается.

Скрипты и правила агентов из Git

Скрипты могут отправлять запросы и читать переменные рабочего пространства, поэтому Echolot выполняет скрипт, только когда вы доверяете ему на своём Mac. Скрипты, которые вы пишете в Echolot, считаются доверенными. Скрипт, пришедший через Git, импорт или другой редактор или изменённый там, показывает Эти скрипты пришли не из Echolot, пока вы не прочитаете его и не нажмёте Доверять скриптам. См. скрипты и тесты.

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

Как делиться без Git

Чтобы передать рабочее пространство тому, кто не пользуется Git, экспортируйте его как Рабочее пространство Echolot. Копия получает новый ID, поэтому её секреты отделены от ваших, а секретные значения в неё никогда не записываются.

Копирование папки рабочего пространства в Finder сохраняет её ID. На одном и том же Mac копия и оригинал читают одни и те же секретные значения из связки ключей.

На этой странице