基本

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

ワークスペースはエージェントのホームです。ファイルツールとワークスペースコンテキストに使用される唯一の作業ディレクトリです。プライベートに保ち、メモリとして扱ってください。これは設定、認証情報、セッションを保存する ~/.openclaw/ とは別のものです。重要: ワークスペースはデフォルトのカレントワーキングディレクトリ (cwd) であり、厳密なサンドボックスではありません。ツールはワークスペースに対して相対パスを解決しますが、絶対パスを使用すると、サンドボックス化が有効でない限り、ホスト上の他の場所にアクセスできてしまいます。分離が必要な場合は、agents.defaults.sandbox (および/またはエージェントごとのサンドボックス設定) を使用してください。サンドボックス化が有効で workspaceAccess"rw" でない場合、ツールはホストのワークスペースではなく、~/.openclaw/sandboxes 下のサンドボックスワークスペース内で動作します。

デフォルトの場所

  • デフォルト: ~/.openclaw/workspace
  • OPENCLAW_PROFILE が設定されており、"default" でない場合、デフォルトは ~/.openclaw/workspace-<profile> になります。
  • ~/.openclaw/openclaw.json で上書きできます:
{
  agent: {
    workspace: "~/.openclaw/workspace",
  },
}

openclaw onboardopenclaw configure、または openclaw setup を実行すると、ワークスペースが作成され、ブートストラップファイルが存在しない場合はそれらが作成されます。サンドボックスのシードコピーは、通常のワークスペース内ファイルのみを受け入れます。ソースワークスペース外に解決されるシンボリックリンク/ハードリンクのエイリアスは無視されます。すでにワークスペースファイルを自分で管理している場合は、ブートストラップファイルの作成を無効にできます:

{ agent: { skipBootstrap: true } }

追加のワークスペースフォルダ

古いインストールでは ~/openclaw が作成されている場合があります。複数のワークスペースディレクトリを保持すると、一度にアクティブなワークスペースは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 を参照してください。

  • skills/ (オプション)
    • ワークスペース固有のスキル。
    • 名前が衝突した場合、管理/バンドルされたスキルを上書きします。
  • canvas/ (オプション)
    • ノード表示用の Canvas UI ファイル (例: canvas/index.html)。

ブートストラップファイルが欠落している場合、OpenClaw はセッションに「ファイル欠落」マーカーを注入して続行します。大きなブートストラップファイルは注入時に切り詰められます。制限は agents.defaults.bootstrapMaxChars (デフォルト: 20000) と agents.defaults.bootstrapTotalMaxChars (デフォルト: 150000) で調整できます。openclaw setup は、既存のファイルを上書きせずに欠落しているデフォルトファイルを再作成できます。

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

これらは ~/.openclaw/ 下に存在し、ワークスペースリポジトリにコミットすべきではありません:

  • ~/.openclaw/openclaw.json (設定)
  • ~/.openclaw/credentials/ (OAuth トークン、API キー)
  • ~/.openclaw/agents/<agentId>/sessions/ (セッショントランスクリプト + メタデータ)
  • ~/.openclaw/skills/ (管理スキル)

セッションや設定を移行する必要がある場合は、別々にコピーし、バージョン管理から外してください。

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

ワークスペースをプライベートなメモリとして扱ってください。バックアップと復旧が可能なように、プライベートな git リポジトリに配置します。これらの手順は、ゲートウェイが実行されるマシン (つまりワークスペースが存在する場所) で実行してください。

1) リポジトリの初期化

git がインストールされている場合、真新しいワークスペースは自動的に初期化されます。このワークスペースがまだリポジトリでない場合は、以下を実行します:

cd ~/.openclaw/workspace
git init
git add AGENTS.md SOUL.md TOOLS.md IDENTITY.md USER.md HEARTBEAT.md memory/
git commit -m "Add agent workspace"

2) プライベートリモートの追加 (初心者向けオプション)

オプション A: GitHub Web UI

  1. GitHub で新しいプライベートリポジトリを作成します。
  2. README で初期化しないでください (マージコンフリクトを避けます)。
  3. HTTPS リモート URL をコピーします。
  4. リモートを追加してプッシュします:
git branch -M main
git remote add origin <https-url>
git push -u origin main

オプション B: GitHub CLI (gh)

gh auth login
gh repo create openclaw-workspace --private --source . --remote origin --push

オプション C: GitLab Web UI

  1. GitLab で新しいプライベートリポジトリを作成します。
  2. README で初期化しないでください (マージコンフリクトを避けます)。
  3. HTTPS リモート URL をコピーします。
  4. リモートを追加してプッシュします:
git branch -M main
git remote add origin <https-url>
git push -u origin main

3) 継続的な更新

git status
git add .
git commit -m "Update memory"
git push

シークレットをコミットしないでください

プライベートリポジトリであっても、ワークスペースにシークレットを保存しないでください:

  • API キー、OAuth トークン、パスワード、プライベートな認証情報。
  • ~/.openclaw/ 下のすべてのもの。
  • チャットや機密性の高い添付ファイルの生のダンプ。

機密性の高い参照を保存する必要がある場合は、プレースホルダーを使用し、実際のシークレットは別の場所 (パスワードマネージャー、環境変数、または ~/.openclaw/) に保管してください。推奨される .gitignore のスターター:

.DS_Store
.env
**/*.key
**/*.pem
**/secrets*

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

  1. リポジトリを目的のパス (デフォルト ~/.openclaw/workspace) にクローンします。
  2. ~/.openclaw/openclaw.jsonagents.defaults.workspace をそのパスに設定します。
  3. openclaw setup --workspace <path> を実行して、欠落しているファイルがあれば作成します。
  4. セッションが必要な場合は、古いマシンから ~/.openclaw/agents/<agentId>/sessions/ を別途コピーします。

高度な注意点

  • マルチエージェントルーティングでは、エージェントごとに異なるワークスペースを使用できます。ルーティング設定については Channel routing を参照してください。
  • agents.defaults.sandbox が有効な場合、メイン以外のセッションは agents.defaults.sandbox.workspaceRoot 下のセッションごとのサンドボックスワークスペースを使用できます。

ContextOAuth