Agent Workspace
ワークスペースはエージェントのホームです。これはファイルツールとワークスペースコンテキストで使用される唯一の作業ディレクトリです。 これを非公開に保ち、メモリとして扱ってください。 これは~/.openclaw/ とは別で、そちらには設定、認証情報、セッションが保存されます。
重要: ワークスペースはデフォルトのcwdであり、厳格なサンドボックスではありません。ツールは
相対パスをワークスペース基準で解決しますが、サンドボックス化が有効でない限り、絶対パスは引き続きホスト上の
他の場所に到達できます。分離が必要な場合は、
agents.defaults.sandbox(および必要に応じてエージェントごとのサンドボックス設定)を使用してください。
サンドボックス化が有効で、workspaceAccess が "rw" でない場合、ツールはホストワークスペースではなく、
~/.openclaw/sandboxes 配下のサンドボックスワークスペース内で動作します。
デフォルトの場所
- デフォルト:
~/.openclaw/workspace OPENCLAW_PROFILEが設定されていて"default"でない場合、デフォルトは~/.openclaw/workspace-<profile>になります。~/.openclaw/openclaw.jsonで上書きできます:
openclaw onboard、openclaw configure、または openclaw setup は、ワークスペースが存在しない場合に
それを作成し、bootstrapファイルを初期投入します。
サンドボックス用のseedコピーは、ワークスペース内の通常ファイルのみを受け付けます。ソースワークスペース外を
指すsymlink/hardlinkエイリアスは無視されます。
すでにワークスペースファイルを自分で管理している場合は、bootstrapファイルの作成を無効にできます:
追加のワークスペースフォルダー
古いインストールでは~/openclaw が作成されていることがあります。
複数のワークスペースディレクトリを残しておくと、同時にアクティブなのは1つだけであるため、認証や状態のずれで
混乱を招く可能性があります。
推奨: アクティブなワークスペースは1つだけにしてください。追加のフォルダーをもう使っていない場合は、
アーカイブするかゴミ箱に移動してください(例: trash ~/openclaw)。
意図的に複数のワークスペースを維持する場合は、
agents.defaults.workspace がアクティブなものを指していることを確認してください。
openclaw doctor は、追加のワークスペースディレクトリを検出すると警告します。
ワークスペースファイルマップ(各ファイルの意味)
これらは、OpenClawがワークスペース内にあることを想定している標準ファイルです:-
AGENTS.md- エージェント向けの運用指示と、メモリの使い方。
- 毎セッションの開始時に読み込まれます。
- ルール、優先順位、「どう振る舞うか」の詳細を書くのに適しています。
-
SOUL.md- ペルソナ、トーン、境界。
- 毎セッションで読み込まれます。
- ガイド: SOUL.md Personality Guide
-
USER.md- ユーザーが誰で、どう呼びかけるか。
- 毎セッションで読み込まれます。
-
IDENTITY.md- エージェントの名前、雰囲気、絵文字。
- bootstrap ritualの間に作成または更新されます。
-
TOOLS.md- ローカルツールと慣習に関するメモ。
- ツールの可用性は制御せず、ガイダンスにすぎません。
-
HEARTBEAT.md- heartbeat実行用の任意の小さなチェックリスト。
- トークン消費を避けるため、短く保ってください。
-
BOOT.md- internal hooksが有効な場合に、Gateway再起動時に実行される任意の起動チェックリスト。
- 短く保ち、外向きの送信にはmessageツールを使ってください。
-
BOOTSTRAP.md- 初回実行時の一度きりのritual。
- 新規ワークスペースに対してのみ作成されます。
- ritualが完了したら削除してください。
-
memory/YYYY-MM-DD.md- 日次メモリログ(1日1ファイル)。
- セッション開始時に今日分と昨日分を読むことを推奨します。
-
MEMORY.md(任意)- キュレーションされた長期メモリ。
- mainの非公開セッションでのみ読み込んでください(共有/グループコンテキストでは読み込まないでください)。
-
skills/(任意)- ワークスペース固有のSkills。
- そのワークスペースにおける最優先のSkill配置場所です。
- 名前が衝突した場合、project agent skills、personal agent skills、managed skills、bundled skills、
および
skills.load.extraDirsより優先されます。
-
canvas/(任意)- ノード表示用のCanvas UIファイル(例:
canvas/index.html)。
- ノード表示用のCanvas UIファイル(例:
agents.defaults.bootstrapMaxChars(デフォルト: 20000)および
agents.defaults.bootstrapTotalMaxChars(デフォルト: 150000)で調整してください。
openclaw setup は、既存ファイルを上書きせずに不足しているデフォルトを再作成できます。
ワークスペースに含まれないもの
これらは~/.openclaw/ 配下にあり、ワークスペースrepoにはコミットすべきではありません:
~/.openclaw/openclaw.json(設定)~/.openclaw/agents/<agentId>/agent/auth-profiles.json(モデル認証プロファイル: OAuth + API keys)~/.openclaw/credentials/(channel/provider状態とレガシーOAuthインポートデータ)~/.openclaw/agents/<agentId>/sessions/(セッショントランスクリプト + メタデータ)~/.openclaw/skills/(managed skills)
Gitバックアップ(推奨、非公開)
ワークスペースは非公開のメモリとして扱ってください。バックアップと復旧ができるように、 非公開のgit repoに入れてください。 これらの手順は、Gatewayが動作しているマシン上で実行してください(ワークスペースはそこにあります)。1) repoを初期化する
gitがインストールされていれば、新規ワークスペースは自動的に初期化されます。 このワークスペースがまだrepoでない場合は、次を実行してください:2) 非公開のremoteを追加する(初心者向けオプション)
オプションA: GitHub web UI- GitHubで新しい非公開リポジトリを作成します。
- READMEで初期化しないでください(マージ競合を避けるため)。
- HTTPSのremote URLをコピーします。
- remoteを追加してpushします:
gh)
- GitLabで新しい非公開リポジトリを作成します。
- READMEで初期化しないでください(マージ競合を避けるため)。
- HTTPSのremote URLをコピーします。
- remoteを追加してpushします:
3) 継続的な更新
シークレットをコミットしないでください
非公開repoであっても、ワークスペースにシークレットを保存しないでください:- API keys、OAuth tokens、passwords、または非公開の認証情報。
~/.openclaw/配下のあらゆるもの。- チャットや機密添付ファイルの生ダンプ。
~/.openclaw/)。
推奨される .gitignore の開始例:
ワークスペースを新しいマシンに移す
- 目的のパスにrepoをcloneします(デフォルトは
~/.openclaw/workspace)。 ~/.openclaw/openclaw.jsonでagents.defaults.workspaceをそのパスに設定します。openclaw setup --workspace <path>を実行して、不足しているファイルを初期投入します。- セッションが必要な場合は、古いマシンから
~/.openclaw/agents/<agentId>/sessions/を 別途コピーしてください。
高度な注意事項
- マルチエージェントルーティングでは、エージェントごとに異なるワークスペースを使用できます。 ルーティング設定については Channel routing を参照してください。
agents.defaults.sandboxが有効な場合、main以外のセッションはagents.defaults.sandbox.workspaceRoot配下のセッションごとのサンドボックスワークスペースを使用できます。
関連
- Standing Orders — ワークスペースファイル内の永続的な指示
- Heartbeat — HEARTBEAT.mdワークスペースファイル
- Session — セッション保存パス
- Sandboxing — サンドボックス環境でのワークスペースアクセス