Fundamentals

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

ワークスペースはエージェントのホームです。これはファイルツールとワークスペースコンテキストに使われる唯一の作業ディレクトリです。非公開に保ち、メモリとして扱ってください。

これは設定、認証情報、セッションを保存する ~/.openclaw/ とは別です。

デフォルトの場所

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

openclaw onboardopenclaw configure、または openclaw setup は、ワークスペースを作成し、不足している場合はブートストラップファイルを配置します。

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

{ agents: { defaults: { skipBootstrap: true } } }

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

古いインストールでは ~/openclaw が作成されている場合があります。複数のワークスペースディレクトリを残しておくと、一度に有効なのは1つのワークスペースだけであるため、認証や状態のずれが分かりにくくなることがあります。

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

これらは OpenClaw がワークスペース内に期待する標準ファイルです:

AGENTS.md - 操作指示

エージェントの操作指示と、メモリの使い方です。各セッションの開始時に読み込まれます。ルール、優先事項、「どう振る舞うか」の詳細を書くのに適した場所です。

SOUL.md - ペルソナとトーン

ペルソナ、トーン、境界です。各セッションで読み込まれます。ガイド: SOUL.md パーソナリティガイド

USER.md - ユーザーについて

ユーザーが誰で、どのように呼びかけるかです。各セッションで読み込まれます。

IDENTITY.md - 名前、雰囲気、絵文字

エージェントの名前、雰囲気、絵文字です。ブートストラップ儀式中に作成または更新されます。

TOOLS.md - ローカルツールの規約

ローカルツールと規約に関するメモです。ツールの利用可否は制御せず、ガイダンスのみです。

HEARTBEAT.md - Heartbeatチェックリスト

Heartbeat実行用の任意の小さなチェックリストです。トークン消費を避けるため短くしてください。

BOOT.md - 起動チェックリスト

Gateway再起動時に自動実行される任意の起動チェックリストです(内部フックが有効な場合)。短くしてください。外部送信にはメッセージツールを使用してください。

BOOTSTRAP.md - 初回実行儀式

1回限りの初回実行儀式です。新しいワークスペースの場合のみ作成されます。儀式が完了したら削除してください。

memory/YYYY-MM-DD.md - 日次メモリログ

日次メモリログ(1日につき1ファイル)です。セッション開始時に今日と昨日を読むことを推奨します。

MEMORY.md - キュレーション済み長期メモリ(任意)

キュレーション済み長期メモリです。メインの非公開セッションでのみ読み込んでください(共有またはグループコンテキストでは読み込まないでください)。ワークフローと自動メモリフラッシュについては、Memoryを参照してください。

skills/ - ワークスペースSkills(任意)

ワークスペース固有のSkillsです。そのワークスペースで最も優先されるスキル場所です。名前が衝突した場合は、プロジェクトエージェントSkills、個人エージェントSkills、管理対象Skills、バンドルSkills、skills.load.extraDirs を上書きします。

canvas/ - Canvas UIファイル(任意)

ノード表示用の Canvas UIファイルです(例: canvas/index.html)。

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

これらは ~/.openclaw/ 配下にあり、ワークスペースリポジトリへコミットしてはいけません:

  • ~/.openclaw/openclaw.json(設定)
  • ~/.openclaw/agents/<agentId>/agent/auth-profiles.json(モデル認証プロファイル: OAuth + APIキー)
  • ~/.openclaw/agents/<agentId>/agent/codex-home/(エージェントごとの Codex ランタイムアカウント、設定、Skills、plugins、ネイティブスレッド状態)
  • ~/.openclaw/credentials/(チャンネルまたはプロバイダー状態とレガシーOAuthインポートデータ)
  • ~/.openclaw/agents/<agentId>/sessions/(セッショントランスクリプトとメタデータ)
  • ~/.openclaw/skills/(管理対象Skills)

セッションや設定を移行する必要がある場合は、別途コピーし、バージョン管理には含めないでください。

Gitバックアップ(推奨、非公開)

ワークスペースは非公開メモリとして扱ってください。バックアップと復元ができるように、非公開 gitリポジトリに入れてください。

これらの手順は、Gateway が実行されているマシン(ワークスペースが存在する場所)で実行します。

  • リポジトリを初期化する

    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"
    
  • 非公開リモートを追加する

    GitHubのウェブUI

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

    GitHub CLI(gh)

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

    GitLabのウェブUI

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

    git status
    git add .
    git commit -m "Update memory"
    git push
    
  • シークレットをコミットしない

    推奨される .gitignore のスターター:

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

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

  • リポジトリをクローンする

    リポジトリを希望のパス(デフォルトは ~/.openclaw/workspace)へクローンします。

  • 設定を更新する

    ~/.openclaw/openclaw.jsonagents.defaults.workspace をそのパスに設定します。

  • 不足ファイルをシードする

    openclaw setup --workspace <path> を実行して、不足しているファイルをシードします。

  • セッションをコピーする(任意)

    セッションが必要な場合は、古いマシンから ~/.openclaw/agents/<agentId>/sessions/ を別途コピーします。

  • 高度なメモ

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

    関連