# ワークスペース (/ja/docs/workspaces)

ワークスペースには、1つのAPIまたはプロジェクトに必要なものがすべて入ります。リクエストとフォルダ、環境、MCPサーバ、仕様、モック、フローです。プレーンなTOMLファイル（リクエスト1件につき1ファイル）を入れたフォルダなので、読んだり、レビューしたり、Gitで管理したりできます。

## ワークスペースを作成する [#create-a-workspace]

1. <strong>ファイル › 新規ワークスペース…</strong>（<kbd>⌥</kbd><kbd>⌘</kbd><kbd>N</kbd>）を選ぶか、ようこそウインドウの<strong>新規ワークスペース…</strong>を選びます。
2. 場所と名前を指定します。名前のフィールドには、最初`My API.echolot`と入っています。
3. **作成**をクリックします。

Echolotは、`workspace.toml`と空の`requests`フォルダを含むフォルダを作成し、専用のウインドウで開きます。ワークスペースの名前は、フォルダの名前から`.echolot`を除いたものです。

何も作らずにEcholotを試すには、ようこそウインドウまたはファイルメニューの**サンプルを開く**を選びます。公開APIへのリクエスト、リダイレクト、大きなレスポンスが入った、できあいのワークスペースが開きます。[デモAPI](/docs/tutorials/demo-api)には、より充実したサンプルのAlpenglowがあります。

## ワークスペースを開く [#open-a-workspace]

- <strong>ファイル › ワークスペースを開く…</strong>（<kbd>⌘</kbd><kbd>O</kbd>）を選ぶか、ようこそウインドウの<strong>ワークスペースを開く…</strong>を選びます。`.echolot`パッケージ、または`workspace.toml`を含む通常のフォルダを選びます。
- Finderで`.echolot`パッケージをダブルクリックするか、Dockのブックの上にドラッグします。
- **ファイル › 最近使った項目を開く**には、最後に開いた10個のワークスペースが並びます。**メニューを消去**は一覧を消去します。ワークスペース自体は、もとの場所に残ります。
- ターミナルからは`open "My API.echolot"`と入力します。

ワークスペースは、それぞれ専用のウインドウで開きます。すでに開いているワークスペースを開くと、そのウインドウが前面に表示されます。

Finderでワークスペースを移動したり名前を変更したりしても、Echolotは追従します。最近使った項目に残り、新しい場所から開き直せます。

<Shot id="workspaces-welcome" alt="ようこそウインドウ。左に新規ワークスペース、ワークスペースを開く、サンプルを開く、右に最近使ったワークスペースが並んでいる" />

## ようこそウインドウ [#the-welcome-window]

ワークスペースが1つも開いていないとき、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>）でやり直せます。対象は、リクエストでの入力、名前の変更、項目の移動と削除、変数、環境、フォルダとワークスペースの設定、仕様、モック、フローです。入力は、手を止めるまでが1ステップとして数えられます。取り消しはウインドウに属しているので、どのページでも同じように動作します。

## 確認なしでは何も削除されません [#nothing-is-deleted-without-asking]

削除はすべて、先に確認されます。リクエスト、フォルダ、環境、MCPサーバ、仕様、モックが対象です。確認ダイアログの赤いボタンにはキーボードショートカットがないので、<kbd>↩</kbd>で削除されることはありません。<kbd>Esc</kbd>でキャンセルします。サイドバーの<kbd>⌫</kbd>で削除できるのは、リクエスト1件だけです。フォルダや複数の項目は、コンテキストメニューから削除します。

削除したものは、ディスクから直接消えるのではなく、Finderのゴミ箱に入ります。元に戻すには、**編集 › 取り消す**を選ぶか、ゴミ箱からファイルをワークスペースフォルダに戻します。

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

`.echolot`ワークスペースはパッケージです。Finderでは、Echolotのアイコンが付いた1つの項目として表示され、ダブルクリックで開きます。中のファイルを見るには、Controlキーを押しながらクリックして**パッケージの内容を表示**を選ぶか、ワークスペースの切り替えの**Finderに表示**を使います。

Finderでワークスペースを選んで<kbd>Space</kbd>を押すと、[クイックルック](/docs/mac/quick-look)が表示されます。名前、変更日、リクエスト、フォルダ、環境、変数、チェックの数、環境の名前が表示されます。

ワークスペースの名前が`.echolot`で終わる必要はありません。Gitリポジトリのルートなど、`workspace.toml`を含むフォルダなら何でも開けます。

## 何がどこにあるか [#what-lives-where]

```
Alpenglow.echolot/
  workspace.toml               名前、ID、ワークスペースの変数、デフォルトの認証、エージェントのルール、プロキシ、証明書
  environments/
    staging.toml               環境: 名前、保護されているか、変数
    production.toml
  requests/
    _folder.toml               最上位の項目の順序
    _folder.pre.js             すべてのリクエストのスクリプト（と_folder.test.js）
    auth/
      _folder.toml             フォルダの名前、順序、ドキュメント、認証、変数
      sign-in.req.toml         HTTPリクエスト
      sign-in.body.json        そのボディ（隣に置かれます）
    catalog/
      search-products.gql.toml GraphQLリクエスト
      search-products.graphql  そのクエリ
    inventory/
      list-warehouses.grpc.toml
    realtime/
      order-updates.ws.toml    WebSocket（.sio.tomlはSocket.IO、.mqtt.tomlはMQTT）
    agent-tools/
      search-catalog.mcp.toml  保存済みのMCP呼び出し
  mcp-servers/                 MCPサーバ（1つにつき1ファイル）
  specs/                       OpenAPI、GraphQL、.protoファイル
  mocks/                       モックサーバ（1つにつき1ファイル）とスクリプト付きのルート
  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)を参照してください。
