Fundamentals

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

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

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

デフォルトの場所

  • デフォルト: ~/.openclaw/workspace
  • OPENCLAW_PROFILE が設定され、"default" でない場合、デフォルトは ~/.openclaw/workspace-<profile> になります。
  • OPENCLAW_WORKSPACE_DIR が設定されている場合、上記の両方を上書きします。
  • 明示的なワークスペースがない非デフォルトのエージェント(agents.entries.*)は、共有のデフォルトワークスペースではなく、<state-dir>/workspace-<agentId> に解決されます。

~/.openclaw/openclaw.json で上書きします。

json5
{  agents: {    defaults: {      workspace: "~/.openclaw/workspace",    },  },}

エージェント単位の上書き: agents.entries.*.workspace

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

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

json5
{ 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/YYYY-MM-DD.md に保存し、すべてのプロンプトに挿入せず、必要に応じてメモリツールから取得できるようにしてください。MEMORY.md はメインの非公開セッションでのみ読み込み、共有/グループコンテキストでは読み込まないでください。ワークフローとメモリの自動フラッシュについては、メモリを参照してください。

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

ワークスペース固有の Skills です。名前が競合する場合、そのワークスペースでは、プロジェクトのエージェント Skills、個人のエージェント Skills、管理対象の Skills、同梱の Skills、skills.load.extraDirs よりも優先される Skills の保存場所です。

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

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

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

以下は ~/.openclaw/ 配下にあり、ワークスペースのリポジトリにコミットしてはなりません。

  • ~/.openclaw/openclaw.json(設定)
  • ~/.openclaw/state/openclaw.sqlite(共有ワークスペースのセットアップ状態と証明)
  • ~/.openclaw/agents/<agentId>/agent/auth-profiles.json(モデル認証プロファイル: OAuth + API キー)
  • ~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite(セッション行、トランスクリプト、エージェント単位のランタイム状態)
  • ~/.openclaw/agents/<agentId>/agent/codex-home/(エージェント単位の Codex ランタイムアカウント、設定、Skills、plugins、ネイティブスレッド状態)
  • ~/.openclaw/credentials/(チャンネル/プロバイダーの状態と旧 OAuth インポートデータ)
  • ~/.openclaw/agents/<agentId>/sessions/(旧移行元とアーカイブ/サポート成果物)
  • ~/.openclaw/skills/(管理対象の Skills)

セッションまたは設定を移行する必要がある場合は、それらを個別にコピーし、バージョン管理の対象外にしてください。

古い OpenClaw リリースでは、ワークスペースのサイドカーファイルとして openclaw-workspace-state.json.openclaw/workspace-state.json、および .attested が書き込まれていました。現在の ランタイムでは、その状態に共有 SQLite データベースのみを使用します。Doctor が これらのファイルのいずれかを報告した場合は、openclaw doctor --fix を実行してください。Doctor は有効な旧 状態をインポートし、データベースの行を検証した後にのみ移行元を削除します。

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

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

以下の手順は Gateway が動作しているマシン(ワークスペースが存在する場所)で実行してください。

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

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

    bash
    cd ~/.openclaw/workspacegit initgit add AGENTS.md SOUL.md TOOLS.md IDENTITY.md USER.md HEARTBEAT.md memory/git commit -m "Add agent workspace"
  • 非公開リモートを追加する

    GitHub Web UI

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

    GitHub CLI (gh)

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

    GitLab Web UI

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

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

    推奨される .gitignore の初期設定:

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

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

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

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

  • 設定を更新する

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

  • 不足しているファイルを配置する

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

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

    セッションが必要な場合は、古いマシンから ~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite を個別にコピーします。旧移行入力またはアーカイブ/サポート成果物も必要な場合にのみ、~/.openclaw/agents/<agentId>/sessions/ をコピーしてください。

  • 高度な注記

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

    関連項目

    Was this useful?
    On this page

    On this page