🗂️

OpenClaw を使い始めると、かなりの確率で同じところで詰まります。workspace は何を置く場所なのか、~/.openclaw/ とは何が違うのか、sandbox を有効にしたらどこで作業しているのか、そして何をバックアップすべきなのか。この境界が曖昧なまま使うと、memory が飛んだように見えたり、秘密情報を間違った場所に置いたり、sandbox 内で「さっきのファイルが見えない」と混乱しやすいです。

この記事は、その混乱をほどくためのものです。OpenClaw の全体像から入りたいなら OpenClaw で何ができるのか、安全運用の前提を先に固めたいなら OpenClaw のセキュリティ設定入門、Claude 側とどう住み分けるかを見たいなら OpenClaw vs Claude Code 徹底比較 を先に読むとつながります。組織で AI エージェント運用まで広げるなら、AIコーディングツールの社内ガイドライン も補助線になります。

結論を先に書きます。OpenClaw の workspace は「設定置き場」ではなく「エージェントの記憶置き場」です。 一方で ~/.openclaw/ は config、credentials、sessions のような state 置き場です。この2つを分けて考えるだけで、運用はかなり安定します。

まず押さえるべき前提: workspace は memory、~/.openclaw/ は state

公式 docs では、agent workspace は「agent の home」であり、file tools と workspace context が使う唯一の working directory だと説明されています。デフォルトは ~/.openclaw/workspace です。ただし、ここは hard sandbox ではありません。sandbox を有効にしていない限り、relative path は workspace 基準でも、absolute path なら host 上の別の場所にも届きます。

ここを雑に理解すると、workspace に config や token を混ぜ込みがちです。しかし実際には役割が違います。

  • ~/.openclaw/workspace
    • AGENTS.md や memory のような、エージェントに継続して読ませたい文脈
    • 長期メモ、日次メモ、作業手順、判断基準
    • private git で戻せるようにしておきたい「頭の中」
  • ~/.openclaw/
    • openclaw.json
    • auth profiles や credentials
    • session transcripts と metadata
    • managed skills などの state

この分離が大事なのは、バックアップ単位と漏えいリスクが違うからです。workspace は「残したい文脈」ですが、~/.openclaw/ は「漏らしたくない状態」を含みます。両方を同じ repo に突っ込む設計は雑です。

workspace に置くもの、置かないもの

OpenClaw の FAQ と workspace docs を合わせて読むと、memory は plain Markdown files です。日次メモは memory/YYYY-MM-DD.md、長期メモは MEMORY.md に置かれます。要するに workspace は、モデルの長期記憶をファイルで管理する場所です。

私なら workspace に置くものは次に絞ります。

  • AGENTS.md などの恒久指示
  • MEMORY.md と日次 memory
  • 再利用する手順書
  • プロジェクト単位の判断メモ

逆に、置かない方がいいものは次です。

  • API key や OAuth token
  • openclaw.json
  • session transcript 一式
  • 共有 repo に出したくない個人情報

公式 docs も、~/.openclaw/openclaw.jsoncredentials/agents/<agentId>/sessions/ などは workspace repo に commit すべきではないと明示しています。workspace を memory repo として扱うなら、秘密情報は workspace ではなく state 側か OS の秘密管理に寄せるのが基本です。

sandbox を有効にすると「今どこで作業しているか」が変わる

OpenClaw で workspace 設計がややこしくなる最大の理由はこれです。sandboxing を有効にして workspaceAccess"rw" でない場合、tools は host の workspace ではなく ~/.openclaw/sandboxes 配下の sandbox workspace で動きます。

つまり、次の誤解が起きやすいです。

  • host の ~/.openclaw/workspace にあるはずのファイルが見えない
  • memory を書いたのに別セッションでは反映されないように見える
  • bind mount したフォルダに対して、想定より広い権限が通ってしまう

設計としては、こう割り切るのが安全です。

  1. 常用する durable memory は host workspace に置く
  2. untrusted input や public channel は sandbox 前提で分ける
  3. bind が必要なら :ro を基本にする
  4. sandbox 内の作業ディレクトリは「host workspace の写し」だと理解する

FAQ でも、bind mounts は sandbox filesystem walls を迂回するので、敏感なものは :ro にしろと書かれています。便利さのために bind を広く開けると、sandbox を入れた意味がかなり薄れます。

backup は workspace と state を分けて考える

公式 docs が強く勧めているのは、workspace を private git repo にして戻せるようにしておくことです。これは筋がいいです。workspace は memory なので、差分で追える方が扱いやすいからです。

最小限なら次で足ります。

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"

ただし、これで OpenClaw 全体の復旧が終わるわけではありません。openclaw backup create は通常 ~/.openclaw の state directory、active config、外出しの credentials directory、workspace directories をまとめてバックアップ対象にします。つまり実務では、次の二層で考えるべきです。

  • workspace backup
    • 目的: 記憶と恒久指示の復元
    • 手段: private git
  • state backup
    • 目的: config や認証状態も含めた復旧
    • 手段: openclaw backup create

もし config が壊れていて workspace discovery が失敗する状況なら、docs は openclaw backup create --no-include-workspace を案内しています。ここでも、workspace と state を別物として扱っていることが分かります。

私ならこう設計する

個人運用なら、まずは次の初期値で十分です。

  • host workspace は 1つに絞る
  • workspace には memory と指示だけ置く
  • secrets は ~/.openclaw/ 側か環境変数へ寄せる
  • sandbox は public input や untrusted task にだけ使う
  • bind は必要最小限、原則 :ro
  • workspace は private git、state は別バックアップ

この設計にしておくと、どこで何が壊れたか切り分けやすいです。memory が飛んだなら workspace 側、認証が飛んだなら state 側、sandbox で見え方が変わるなら workspaceAccess と bind 側を疑えばよい。

よくある失敗

1. workspace を「なんでも置いてよいホームディレクトリ」だと思う

それは違います。workspace は convenience のための置き場ではなく、エージェントの durable memory を育てる場所です。雑多な secrets や一時ファイルを積むと、検索も復旧も悪化します。

2. sandbox を有効にしたのに host workspace を前提に話してしまう

sandbox 実行時は、agent が実際に見ている workspace が別物になりえます。ここを分からないまま不具合調査すると、かなり遠回りします。

3. workspace の git backup だけで十分だと思う

不十分です。workspace backup は「記憶の復元」であって、config と認証状態の完全復旧ではありません。state backup は別に要ります。

まとめ

OpenClaw の workspace 設計で本当に大事なのは、機能を増やすことではなく境界を明確にすることです。

  • workspace は memory
  • ~/.openclaw/ は state
  • sandbox 時は実作業場所が変わる
  • backup も workspace と state を分ける

この4点を先に決めておけば、OpenClaw はかなり扱いやすくなります。逆にここを曖昧にすると、「なぜか覚えない」「なぜか見えない」「なぜか戻せない」がまとめて起きます。OpenClaw を便利なまま安全に使いたいなら、最初に触るべきはモデル設定より workspace 設計です。

参考情報

WRITTEN BY nidoneko

Full-stack engineer with 8+ years of experience in TypeScript, React, Node.js, and cloud-native development across healthcare, finance, HR, and IoT domains.

View Profile →