# Рабочие пространства (/ru/docs/workspaces)

Рабочее пространство хранит всё для одного API или проекта: запросы и папки, окружения, MCP-серверы, спецификации,
моки и сценарии. Это папка обычных TOML-файлов, по одному файлу на запрос, поэтому её можно читать, ревьюить и
держать в Git.

## Создание рабочего пространства [#create-a-workspace]

1. Выберите **Файл › Новое рабочее пространство…** (<kbd>⌥</kbd><kbd>⌘</kbd><kbd>N</kbd>) или
   **Новое рабочее пространство…** в окне приветствия.
2. Выберите место и имя. В поле имени сначала стоит `My API.echolot`.
3. Нажмите **Создать**.

Echolot создаёт папку с файлом `workspace.toml` и пустой папкой `requests` и открывает её в отдельном окне. Имя
рабочего пространства — это имя папки без `.echolot`.

Чтобы попробовать Echolot, ничего не создавая, выберите **Открыть примеры** в окне приветствия или в меню «Файл»:
готовое рабочее пространство с запросами к публичным API, редиректами и большими ответами. Более подробный пример,
Alpenglow, есть в [демо-API](/docs/tutorials/demo-api).

## Открытие рабочего пространства [#open-a-workspace]

- **Файл › Открыть рабочее пространство…** (<kbd>⌘</kbd><kbd>O</kbd>) или **Открыть рабочее пространство…** в окне
  приветствия. Выберите пакет `.echolot` или обычную папку с файлом `workspace.toml`.
- Дважды щёлкните пакет `.echolot` в Finder или перетащите его на Echolot в Dock.
- **Файл › Открыть недавние** показывает десять последних открытых рабочих пространств. **Очистить меню** забывает этот
  список; сами рабочие пространства остаются на месте.
- Из Терминала: `open "My API.echolot"`.

Каждое рабочее пространство открывается в своём окне. Если рабочее пространство уже открыто, его окно выходит на
передний план.

Echolot следует за рабочим пространством, которое вы переместили или переименовали в Finder: оно остаётся в списке
недавних и открывается уже из нового места.

<Shot id="workspaces-welcome" alt="Окно приветствия: слева «Новое рабочее пространство», «Открыть рабочее пространство» и «Открыть примеры», справа недавние рабочие пространства" />

## Окно приветствия [#the-welcome-window]

Если ни одно рабочее пространство не открыто, Echolot показывает окно приветствия. Слева:
**Новое рабочее пространство…**, **Открыть рабочее пространство…** и **Открыть примеры**. Справа: **Недавние рабочие пространства**, у
каждого указана папка, в которой оно лежит. Нажмите на любое, чтобы открыть его.

## Переключение между рабочими пространствами [#switch-between-workspaces]

- **Файл › Сменить рабочее пространство…** (<kbd>⌘</kbd><kbd>P</kbd>) показывает плавающий список недавних рабочих
  пространств. Введите текст, чтобы отфильтровать список, и нажмите <kbd>↩</kbd>.
- Переключатель рабочих пространств внизу боковой панели показывает имя рабочего пространства и то, всё ли сохранено.
  Нажмите на него, чтобы увидеть **Недавние рабочие пространства**, **Новое рабочее пространство…**,
  **Открыть рабочее пространство…**, **Настройки рабочего пространства…** и **Показать в Finder**.

<Shot id="workspaces-switcher" alt="Открытый переключатель рабочих пространств внизу боковой панели: недавние рабочие пространства и настройки рабочего пространства" />

## Сохранение [#saving]

Команды «Сохранить» нет. Echolot записывает каждое изменение в его файл через мгновение после того, как вы перестаёте
печатать. Переключатель рабочих пространств показывает, как обстоят дела:

| Показано | Значение |
| --- | --- |
| **Всё сохранено** | Все правки записаны в файлы. |
| **Сохранение…** | Идёт запись. |
| **1 несохранённый запрос** (или больше) | Правки ждут записи. Точка рядом с запросом на боковой панели отмечает его. |
| **Не удалось сохранить** | Запись не удалась. Echolot сохраняет правку у себя и сообщает, что пошло не так. |

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

## Отмена и повтор [#undo-and-redo]

Любую правку можно отменить командой **Правка › Отменить** (<kbd>⌘</kbd><kbd>Z</kbd>) и повторить командой
**Правка › Повторить** (<kbd>⇧</kbd><kbd>⌘</kbd><kbd>Z</kbd>): набор текста в запросе, переименование, перемещение и удаление
объектов, переменные, окружения, настройки папок и рабочего пространства, спецификации, моки и сценарии. Набор текста
считается одним шагом, пока вы не сделаете паузу. Отмена принадлежит окну, поэтому на каждой странице работает
одинаково.

## Ничего не удаляется без вопроса [#nothing-is-deleted-without-asking]

Каждое удаление сначала спрашивает: запросы, папки, окружения, MCP-серверы, спецификации и моки. У красной кнопки в
вопросе нет сочетания клавиш, поэтому <kbd>↩</kbd> никогда ничего не удаляет; <kbd>Esc</kbd> отменяет. На боковой
панели <kbd>⌫</kbd> предлагает удалить только один запрос; папки и несколько объектов удаляются из контекстного меню.

Удалённое попадает в Корзину в Finder, а не стирается с диска сразу. Чтобы вернуть его, выберите
**Правка › Отменить** или переместите файлы из Корзины обратно в папку рабочего пространства.

## В Finder [#in-the-finder]

Рабочее пространство `.echolot` — это пакет: Finder показывает его как один объект со значком Echolot, и двойной щелчок
открывает его. Чтобы увидеть файлы внутри, щёлкните его, удерживая Control, и выберите **Показать содержимое пакета**
или воспользуйтесь командой **Показать в Finder** в переключателе рабочих пространств.

Нажмите <kbd>Пробел</kbd> на рабочем пространстве в Finder, чтобы открыть [Быстрый просмотр](/docs/mac/quick-look):
имя, время последнего изменения и количество запросов, папок, окружений, переменных и проверок, а также имена
окружений.

Рабочему пространству не обязательно заканчиваться на `.echolot`. Открывается любая папка с файлом `workspace.toml`,
например корень репозитория Git.

## Что где лежит [#what-lives-where]

```
Alpenglow.echolot/
  workspace.toml               name, ID, workspace variables, default auth, agent rules, proxy, certificates
  environments/
    staging.toml               an environment: its name, whether it is protected, its variables
    production.toml
  requests/
    _folder.toml               the order of the top-level items
    _folder.pre.js             scripts for every request (and _folder.test.js)
    auth/
      _folder.toml             the folder's name, order, docs, auth and variables
      sign-in.req.toml         an HTTP request
      sign-in.body.json        its body, beside it
    catalog/
      search-products.gql.toml a GraphQL request
      search-products.graphql  its query
    inventory/
      list-warehouses.grpc.toml
    realtime/
      order-updates.ws.toml    WebSocket (.sio.toml Socket.IO, .mqtt.toml MQTT)
    agent-tools/
      search-catalog.mcp.toml  a saved MCP call
  mcp-servers/                 MCP servers, one file each
  specs/                       OpenAPI, GraphQL and .proto files
  mocks/                       mock servers, one file each, and their scripted routes
  flows/                       flows (.flow.toml)
```

У каждого вида запроса свой суффикс файла: `.req.toml` (HTTP), `.gql.toml` (GraphQL), `.grpc.toml`, `.ws.toml`,
`.sio.toml`, `.mqtt.toml` и `.mcp.toml`. Скрипты лежат рядом со своим запросом как `<name>.pre.js` и `<name>.test.js`.
Полный формат описан в [файлах рабочего пространства](/docs/reference/workspace-files).

Кое-что никогда не попадает в папку рабочего пространства:

- **Секретные значения.** Секретные переменные записываются только по имени; их значения остаются в связке ключей на
  вашем Mac. См. [секреты](/docs/workspaces/secrets).
- **История и тела ответов.** Они лежат в собственном хранилище Echolot. См.
  [хранилище и шифрование](/docs/workspaces/storage-and-encryption).
- **Ваши настройки на этом Mac**: активное окружение, расположение областей, скрипты, которым вы доверяете, и глобальные
  переменные.

Поэтому папкой рабочего пространства можно смело делиться, а коллега, открыв её, начинает с теми же запросами и со
своими секретами. См. [Git и команды](/docs/workspaces/git-and-teams).
