docs/reference/AGENTS.default.md
OpenClaw agents use a workspace directory. Default: ~/.openclaw/workspace (configurable via agents.defaults.workspace, supports ~).
mkdir -p ~/.openclaw/workspace
cp docs/reference/templates/AGENTS.md ~/.openclaw/workspace/AGENTS.md
cp docs/reference/templates/SOUL.md ~/.openclaw/workspace/SOUL.md
cp docs/reference/templates/TOOLS.md ~/.openclaw/workspace/TOOLS.md
cp docs/reference/AGENTS.default.md ~/.openclaw/workspace/AGENTS.md
{
agents: { defaults: { workspace: "~/.openclaw/workspace" } },
}
Before proposing or building a custom system, feature, workflow, tool, integration, or automation, check for open-source projects, maintained libraries, existing OpenClaw plugins, or free platforms that already solve it well enough. Prefer those when adequate. Build custom only when existing options are unsuitable, too expensive, unmaintained, unsafe, non-compliant, or the user explicitly asks for custom. Avoid paid-service recommendations unless the user explicitly approves spend. Keep this lightweight, a preflight gate, not a research assignment.
SOUL.md, USER.md, and today+yesterday in memory/ before responding.MEMORY.md when present.SOUL.md defines identity, tone, and boundaries. Keep it current.SOUL.md, tell the user.memory/YYYY-MM-DD.md (create memory/ if needed).MEMORY.md for durable facts, preferences, and decisions.memory.md is legacy repair input only; do not keep both root files on purpose.MEMORY.md when present.SKILL.md when you need it.TOOLS.md (notes for skills).Treat this workspace as the assistant's memory: make it a git repo (ideally private) so AGENTS.md and memory files are backed up.
cd ~/.openclaw/workspace
git init
git add AGENTS.md
git commit -m "Add workspace"
# Optional: add a private remote + push
openclaw CLI via its bundled binary.main session by default; groups and channels/rooms get their own session keys. See Channel routing for the exact key formats. Heartbeats keep background tasks alive.Example roster for a personal-assistant workspace; swap in whichever skills fit your setup.
user:<id> or channel:<id> targets (bare numeric ids are ambiguous).openclaw CLI for scripting; the desktop app handles permissions.openclaw browser CLI (bundled browser plugin) with the OpenClaw-managed Chrome/Brave/Edge/Chromium profile.status, doctor [--deep], start [--headless], stop, tabs, tab [new|select|close], open <url>, focus <id>, close <id>.screenshot [--full-page|--ref|--labels], snapshot [--format ai|aria|--interactive|--efficient], console, errors, requests, pdf, responsebody.navigate, click <ref>, type <ref> <text>, press, hover, drag, select, upload, download, fill, dialog, wait, evaluate --fn <js>, highlight. Actions need a ref from snapshot (CSS selectors are not accepted for actions); use evaluate when you need document.querySelector-style targeting.--json for machine-readable output on any inspection command.