> ## Documentation Index
> Fetch the complete documentation index at: https://openclawdoc.org/llms.txt
> Use this file to discover all available pages before exploring further.

# エージェントワークスペース

> ワークスペースはエージェントの活動拠点です。ファイル操作ツールやワークスペースコンテキストに使用される唯一の作業ディレクトリです。プライベートな空間として扱い、エージェントの「記憶」の一部として管理してください。

ワークスペースはエージェントの活動拠点です。ファイル操作ツールやワークスペースコンテキストに使用される唯一の作業ディレクトリです。プライベートな空間として扱い、エージェントの「記憶」の一部として管理してください。

これは、構成、認証情報、およびセッションを保存する `~/.openclaw/` とは別に管理されます。

**重要:** ワークスペースは**デフォルトの作業ディレクトリ (cwd)** であり、厳密なサンドボックスではありません。ツールはワークスペースを基準に相対パスを解決しますが、サンドボックスが有効でない限り、絶対パスを使用してホスト上の他の場所にアクセスできてしまいます。隔離が必要な場合は、[`agents.defaults.sandbox`](/gateway/sandboxing)（およびエージェントごとのサンドボックス構成）を使用してください。
サンドボックスが有効で、かつ `workspaceAccess` が `"rw"` 以外に設定されている場合、ツールはホスト上のワークスペースではなく、`~/.openclaw/sandboxes` 配下のサンドボックス用ワークスペース内で動作します。

## デフォルトの場所

* デフォルト: `~/.openclaw/workspace`
* `OPENCLAW_PROFILE` が設定されており、かつ `"default"` 以外の場合、デフォルトは `~/.openclaw/workspace-<profile>` になります。
* `~/.openclaw/openclaw.json` で上書き可能です:

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  agent: {
    workspace: "~/.openclaw/workspace",
  },
}
```

`openclaw onboard`、`openclaw configure`、または `openclaw setup` を実行すると、ワークスペースが作成され、ブートストラップファイル（初期ファイル群）が不足している場合は生成されます。
サンドボックスへの初期ファイルのコピーでは、通常のワークスペース内ファイルのみが対象となります。ワークスペース外を指すシンボリックリンクやハードリンクは無視されます。

ワークスペースファイルを自身で完全に管理している場合は、ブートストラップファイルの自動生成を無効にできます:

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{ agent: { skipBootstrap: true } }
```

## 余分なワークスペースフォルダについて

古いインストール環境では `~/openclaw` が作成されている場合があります。複数のワークスペースディレクトリが存在すると、認証や状態の不一致を招き混乱の原因となるため（一度にアクティブにできるワークスペースは 1 つだけです）、整理することを推奨します。

**推奨:** アクティブなワークスペースを 1 つに絞ってください。不要になった古いフォルダは、アーカイブするかゴミ箱（例: `trash ~/openclaw`）へ移動してください。
意図的に複数のワークスペースを使い分ける場合は、`agents.defaults.workspace` が常に正しい（現在使用したい）場所を指していることを確認してください。

`openclaw doctor` は、余分なワークスペースディレクトリを検出した場合に警告を表示します。

## ワークスペース内のファイルマップ

OpenClaw がワークスペース内で期待する標準的なファイルは以下の通りです:

* `AGENTS.md`
  * エージェントの動作指示と、メモリの使用方法。
  * すべてのセッション開始時にロードされます。
  * ルール、優先順位、「どのように振る舞うべきか」の詳細を記述するのに適しています。

* `SOUL.md`
  * ペルソナ（人格）、トーン、および境界線（守るべきルール）。
  * セッションごとにロードされます。

* `USER.md`
  * ユーザーが誰であるか、およびユーザーへの適切な呼びかけ方。
  * セッションごとにロードされます。

* `IDENTITY.md`
  * エージェントの名前、雰囲気、および絵文字。
  * セットアップ儀式中に作成または更新されます。

* `TOOLS.md`
  * ローカルツールや慣習に関するメモ。
  * ツール自体の有効・無効を制御するものではなく、エージェントへの「ガイドライン」として機能します。

* `HEARTBEAT.md`
  * ハートビート実行時にエージェントが確認する、オプションの小さなチェックリスト。
  * トークンの消費を抑えるため、内容は短く保ってください。

* `BOOT.md`
  * ゲートウェイ再起動時（内部フック有効時）に実行されるオプションの起動チェックリスト。
  * 内容は短く保ち、外部への送信にはメッセージツールを使用してください。

* `BOOTSTRAP.md`
  * 初回実行時に一度だけ行われる「儀式」用のファイル。
  * 新規ワークスペース作成時のみ生成されます。
  * 儀式が完了したら削除してください。

* `memory/YYYY-MM-DD.md`
  * 日ごとの記憶ログ（1 日 1 ファイル）。
  * セッション開始時に、今日と昨日のファイルを読み込むことが推奨されます。

* `MEMORY.md` (オプション)
  * 整理された長期記憶。
  * プライベートなメインセッションでのみロードされます（共有チャネルやグループチャットではロードされません）。

ワークフローやメモリの自動保存については、[記憶 (Memory)](/concepts/memory) を参照してください。

* `skills/` (オプション)
  * ワークスペース固有のスキル。
  * 同名の管理済みスキルや同梱スキルがある場合、ここにあるものが優先されます。

* `canvas/` (オプション)
  * ノードのディスプレイに表示するための Canvas UI 用ファイル（例: `canvas/index.html`）。

ブートストラップファイルが欠落している場合、OpenClaw はセッションに「欠落」マーカーを注入して処理を続行します。巨大なファイルは注入時に切り詰められます。制限値は `agents.defaults.bootstrapMaxChars`（デフォルト 20,000）および `agents.defaults.bootstrapTotalMaxChars`（デフォルト 150,000）で調整可能です。
`openclaw setup` を実行すると、既存のファイルを上書きせずに、不足しているデフォルトファイルを再作成できます。

## ワークスペースに含まれないもの

以下のファイルは `~/.openclaw/` 配下にあり、ワークスペースのリポジトリには\*\*含めない（コミットしない）\*\*でください:

* `~/.openclaw/openclaw.json` (構成設定)
* `~/.openclaw/credentials/` (OAuth トークン、API キー)
* `~/.openclaw/agents/<agentId>/sessions/` (会話履歴およびメタデータ)
* `~/.openclaw/skills/` (管理済みのスキル)

セッションや構成を移行する必要がある場合は、これらを個別にコピーし、バージョン管理の対象外として扱ってください。

## Git によるバックアップ (推奨、プライベート)

ワークスペースは「プライベートな記憶」として扱ってください。バックアップと復元を容易にするため、**プライベートな** Git リポジトリで管理することを推奨します。

以下の手順は、ゲートウェイ（ワークスペースが存在するマシン）上で実行してください。

### 1) リポジトリの初期化

Git がインストールされていれば、新規ワークスペース作成時に自動的に初期化されます。まだリポジトリになっていない場合は、以下を実行してください:

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
cd ~/.openclaw/workspace
git init
git add AGENTS.md SOUL.md TOOLS.md IDENTITY.md USER.md HEARTBEAT.md memory/
git commit -m "エージェントワークスペースを追加"
```

### 2) プライベートなリモートリポジトリの追加

OpenClaw ユーザーに適した一般的な方法を紹介します。

**方法 A: GitHub ウェブ UI を使用する場合**

1. GitHub 上で新しい **Private** リポジトリを作成します。
2. 初期化オプション（README の作成など）はすべてオフにします（競合を避けるため）。
3. HTTPS のリモート URL をコピーします。
4. 以下のコマンドでリモートを追加し、プッシュします:

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
git branch -M main
git remote add origin <コピーしたURL>
git push -u origin main
```

**方法 B: GitHub CLI (`gh`) を使用する場合**

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
gh auth login
gh repo create openclaw-workspace --private --source . --remote origin --push
```

### 3) 日々の更新

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
git status
git add .
git commit -m "記憶を更新"
git push
```

## シークレット（機密情報）をコミットしないでください

プライベートリポジトリであっても、以下の機密情報をワークスペースに保存することは避けてください:

* API キー、OAuth トークン、パスワード、または個人用認証情報。
* `~/.openclaw/` 配下にあるすべてのもの。
* チャット履歴の生データや、機密性の高い添付ファイル。

機密情報の参照を記述する必要がある場合は、プレースホルダーを使用し、実際の内容は他の安全な場所（パスワードマネージャー、環境変数、または `~/.openclaw/`）に保管してください。

推奨される `.gitignore` の内容:

```gitignore theme={"theme":{"light":"min-light","dark":"min-dark"}}
.DS_Store
.env
**/*.key
**/*.pem
**/secrets*
```

## ワークスペースを新しいマシンに移動する

1. 新しいマシンの目的のパス（デフォルトは `~/.openclaw/workspace`）にリポジトリをクローンします。
2. `~/.openclaw/openclaw.json` 内の `agents.defaults.workspace` にそのパスを設定します。
3. `openclaw setup --workspace <パス>` を実行し、不足しているファイルを生成します。
4. 会話セッションが必要な場合は、古いマシンから `~/.openclaw/agents/<agentId>/sessions/` を個別にコピーしてください。

## 高度な補足事項

* マルチエージェントルーティングでは、エージェントごとに異なるワークスペースを使用できます。詳細は [チャネルルーティング](/channels/channel-routing) を参照してください。
* `agents.defaults.sandbox` が有効な場合、メイン以外のセッションでは `agents.defaults.sandbox.workspaceRoot` 配下にあるセッションごとのサンドボックスワークスペースを使用することがあります。
