Opbygning af en personlig assistent med OpenClaw¶
OpenClaw er en WhatsApp + Telegram + Discord + iMessage gateway for Pi agenter. Plugins tilføjer Mattermost. Denne guide er den "personlige assistent" opsætning: en dedikeret WhatsApp nummer, der opfører sig som din altid-on agent.
⚠️ Sikkerhed først¶
Du placerer en agent i en position til at:
- køre kommandoer på din maskine (afhængigt af din Pi-værktøjsopsætning)
- læse/skrive filer i dit workspace
- sende beskeder ud via WhatsApp/Telegram/Discord/Mattermost (plugin)
Start konservativt:
- Sæt altid
channels.whatsapp.allowFrom(kør aldrig åbent mod hele verden på din personlige Mac). - Brug et dedikeret WhatsApp-nummer til assistenten.
- Hjertebanken nu standard til hver 30 minutter. Deaktiver indtil du har tillid til opsætningen ved at indstille
agents.defaults.heartbeat.every: "0m".
Forudsætninger¶
- OpenClaw installeret og onboardet — se Kom godt i gang, hvis du ikke har gjort det endnu
- Et andet telefonnummer (SIM/eSIM/forudbetalt) til assistenten
Opsætning med to telefoner (anbefalet)¶
Det her vil du have:
%%{init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#ffffff',
'primaryTextColor': '#000000',
'primaryBorderColor': '#000000',
'lineColor': '#000000',
'secondaryColor': '#f9f9fb',
'tertiaryColor': '#ffffff',
'clusterBkg': '#f9f9fb',
'clusterBorder': '#000000',
'nodeBorder': '#000000',
'mainBkg': '#ffffff',
'edgeLabelBackground': '#ffffff'
}
}}%%
flowchart TB
A["<b>Your Phone (personal)<br></b><br>Your WhatsApp<br>+1-555-YOU"] -- message --> B["<b>Second Phone (assistant)<br></b><br>Assistant WA<br>+1-555-ASSIST"]
B -- linked via QR --> C["<b>Your Mac (openclaw)<br></b><br>Pi agent"]
Hvis du forbinder din personlige WhatsApp med OpenClaw, hver meddelelse til dig bliver “agent input”. Det er sjældent, hvad du ønsker.
5-minutters hurtig start¶
- Par WhatsApp Web (viser QR; scan med assistent-telefonen):
openclaw channels login
- Start Gateway (lad den køre):
openclaw gateway --port 18789
- Læg en minimal konfiguration i
~/.openclaw/openclaw.json:
{
channels: { whatsapp: { allowFrom: ["+15555550123"] } },
}
Send nu en besked til assistentnummeret fra din tilladelseslistede telefon.
Når onboarding er færdig, vi auto-åbne instrumentbrættet og udskrive et rent (ikke tokeniseret) link. Hvis det beder om auth, indsæt token fra gateway.auth.token i Control UI indstillinger. For at genåbne senere: openclaw dashboard.
Giv agenten et workspace (AGENTS)¶
OpenClaw læser driftsinstruktioner og “hukommelse” fra sit workspace-bibliotek.
Som standard bruger OpenClaw ~/.openclaw/workspace som agent arbejdsområde, og vil skabe det (plus starter AGENTS. d, SOUL.md, TOOLS.md, IDENTITY.md, USER.md, HEARTBEAT.md) automatisk på setup/first agent kørsel. BOOTSTRAP.md er kun oprettet, når arbejdsområdet er helt nyt (det bør ikke komme tilbage efter du har slettet det). MEMORY.md er valgfri (ikke auto-oprettet); når det er til stede, er det indlæst for normale sessioner. Subagent sessioner injicerer kun AGENTS.md og TOOLS.md.
Tip: behandle denne mappe som OpenClaws “hukommelse” og gøre det til en git repo (ideelt private) så dine AGENTS.md + hukommelsesfiler er sikkerhedskopieret. Hvis git er installeret, er helt nye arbejdsområder automatisk initialiseret.
openclaw setup
Fuld workspace-struktur + backup-guide: Agent workspace
Hukommelsesworkflow: Memory
Valgfrit: vælg et andet workspace med agents.defaults.workspace (understøtter ~).
{
agent: {
workspace: "~/.openclaw/workspace",
},
}
Hvis du allerede leverer dine egne workspace-filer fra et repo, kan du deaktivere oprettelse af bootstrap-filer helt:
{
agent: {
skipBootstrap: true,
},
}
Konfigurationen, der gør det til “en assistent”¶
OpenClaw har som standard en god assistentopsætning, men du vil typisk justere:
- persona/instruktioner i
SOUL.md - standarder for tænkning (hvis ønsket)
- heartbeats (når du har tillid til den)
Eksempel:
{
logging: { level: "info" },
agent: {
model: "anthropic/claude-opus-4-6",
workspace: "~/.openclaw/workspace",
thinkingDefault: "high",
timeoutSeconds: 1800,
// Start with 0; enable later.
heartbeat: { every: "0m" },
},
channels: {
whatsapp: {
allowFrom: ["+15555550123"],
groups: {
"*": { requireMention: true },
},
},
},
routing: {
groupChat: {
mentionPatterns: ["@openclaw", "openclaw"],
},
},
session: {
scope: "per-sender",
resetTriggers: ["/new", "/reset"],
reset: {
mode: "daily",
atHour: 4,
idleMinutes: 10080,
},
},
}
Sessioner og hukommelse¶
- Sessionsfiler:
~/.openclaw/agents/<agentId>/sessions/{{SessionId}}.jsonl - Sessionsmetadata (tokenforbrug, seneste rute, osv.):
~/.openclaw/agents/<agentId>/sessions/sessions.json(legacy:~/.openclaw/sessions/sessions.json) /neweller/resetstarter en frisk session for denne chat (konfigurerbar viaresetTriggers). Hvis sendt alene, agenten besvarer med en kort goddag til at bekræfte nulstillingen./compact [instructions]komprimerer sessionskonteksten og rapporterer det resterende kontekstbudget.
Heartbeats (proaktiv tilstand)¶
Som standard kører OpenClaw et hjerteslag hver 30 minutter med prompten:
Læs HEARTBEAT.md hvis det eksisterer (arbejdsområde kontekst). Følg den nøje. Udsæt eller gentag ikke gamle opgaver fra tidligere chats. Hvis intet behøver opmærksomhed, svar HEARTBEAT_OK.
Sæt agents.defaults.heartbeat.every: "0m" til at deaktivere.
- Hvis
HEARTBEAT.mdfindes, men reelt er tom (kun tomme linjer og markdown-overskrifter som# Heading), springer OpenClaw heartbeat-kørslen over for at spare API-kald. - Hvis filen mangler, kører heartbeat stadig, og modellen beslutter, hvad der skal gøres.
- Hvis agenten svarer med
HEARTBEAT_OK(eventuelt med kort padding; seagents.defaults.heartbeat.ackMaxChars), undertrykker OpenClaw udgående levering for det heartbeat. - Heartbeats kører fulde agent-ture — kortere intervaller bruger flere tokens.
{
agent: {
heartbeat: { every: "30m" },
},
}
Medier ind og ud¶
Indgående vedhæftninger (billeder/lyd/dokumenter) kan eksponeres til din kommando via skabeloner:
{{MediaPath}}(lokal midlertidig filsti){{MediaUrl}}(pseudo-URL){{Transcript}}(hvis lydtransskription er aktiveret)
Udgående vedhæftede filer fra agenten: inkludere MEDIA:<path-or-url> på sin egen linje (ingen mellemrum). Eksempel:
Here’s the screenshot.
MEDIA:https://example.com/screenshot.png
OpenClaw udtrækker disse og sender dem som medier sammen med teksten.
Driftscheckliste¶
openclaw status # local status (creds, sessions, queued events)
openclaw status --all # full diagnosis (read-only, pasteable)
openclaw status --deep # adds gateway health probes (Telegram + Discord)
openclaw health --json # gateway health snapshot (WS)
Logs ligger under /tmp/openclaw/ (standard: openclaw-YYYY-MM-DD.log).
Næste trin¶
- WebChat: WebChat
- Gateway-drift: Gateway runbook
- Cron + vækninger: Cron-job
- macOS menulinje-companion: OpenClaw macOS-app
- iOS node-app: iOS-app
- Android node-app: Android-app
- Windows-status: Windows (WSL2)
- Linux-status: Linux-app
- Sikkerhed: Security