chore: Run pnpm format:fix.

This commit is contained in:
cpojer
2026-01-31 21:13:13 +09:00
parent dcc2de15a6
commit 8cab78abbc
624 changed files with 10729 additions and 7514 deletions
+24 -19
View File
@@ -4,6 +4,7 @@ read_when:
- Onboarding a new assistant instance
- Reviewing safety/permission implications
---
# Building a personal assistant with OpenClaw
OpenClaw is a WhatsApp + Telegram + Discord + iMessage gateway for **Pi** agents. Plugins add Mattermost. This guide is the "personal assistant" setup: one dedicated WhatsApp number that behaves like your always-on agent.
@@ -11,11 +12,13 @@ OpenClaw is a WhatsApp + Telegram + Discord + iMessage gateway for **Pi** agents
## ⚠️ Safety first
Youre putting an agent in a position to:
- run commands on your machine (depending on your Pi tool setup)
- read/write files in your workspace
- send messages back out via WhatsApp/Telegram/Discord/Mattermost (plugin)
Start conservative:
- Always set `channels.whatsapp.allowFrom` (never run open-to-the-world on your personal Mac).
- Use a dedicated WhatsApp number for the assistant.
- Heartbeats now default to every 30 minutes. Disable until you trust the setup by setting `agents.defaults.heartbeat.every: "0m"`.
@@ -65,23 +68,23 @@ If you link your personal WhatsApp to OpenClaw, every message to you becomes “
## 5-minute quick start
1) Pair WhatsApp Web (shows QR; scan with the assistant phone):
1. Pair WhatsApp Web (shows QR; scan with the assistant phone):
```bash
openclaw channels login
```
2) Start the Gateway (leave it running):
2. Start the Gateway (leave it running):
```bash
openclaw gateway --port 18789
```
3) Put a minimal config in `~/.openclaw/openclaw.json`:
3. Put a minimal config in `~/.openclaw/openclaw.json`:
```json5
{
channels: { whatsapp: { allowFrom: ["+15555550123"] } }
channels: { whatsapp: { allowFrom: ["+15555550123"] } },
}
```
@@ -109,8 +112,8 @@ Optional: choose a different workspace with `agents.defaults.workspace` (support
```json5
{
agent: {
workspace: "~/.openclaw/workspace"
}
workspace: "~/.openclaw/workspace",
},
}
```
@@ -119,14 +122,15 @@ If you already ship your own workspace files from a repo, you can disable bootst
```json5
{
agent: {
skipBootstrap: true
}
skipBootstrap: true,
},
}
```
## The config that turns it into “an assistant”
OpenClaw defaults to a good assistant setup, but youll usually want to tune:
- persona/instructions in `SOUL.md`
- thinking defaults (if desired)
- heartbeats (once you trust it)
@@ -142,20 +146,20 @@ Example:
thinkingDefault: "high",
timeoutSeconds: 1800,
// Start with 0; enable later.
heartbeat: { every: "0m" }
heartbeat: { every: "0m" },
},
channels: {
whatsapp: {
allowFrom: ["+15555550123"],
groups: {
"*": { requireMention: true }
}
}
"*": { requireMention: true },
},
},
},
routing: {
groupChat: {
mentionPatterns: ["@openclaw", "openclaw"]
}
mentionPatterns: ["@openclaw", "openclaw"],
},
},
session: {
scope: "per-sender",
@@ -163,9 +167,9 @@ Example:
reset: {
mode: "daily",
atHour: 4,
idleMinutes: 10080
}
}
idleMinutes: 10080,
},
},
}
```
@@ -190,14 +194,15 @@ Set `agents.defaults.heartbeat.every: "0m"` to disable.
```json5
{
agent: {
heartbeat: { every: "30m" }
}
heartbeat: { every: "30m" },
},
}
```
## Media in and out
Inbound attachments (images/audio/docs) can be surfaced to your command via templates:
- `{{MediaPath}}` (local temp file path)
- `{{MediaUrl}}` (pseudo-URL)
- `{{Transcript}}` (if audio transcription is enabled)