OpenClaw के साथ एक व्यक्तिगत सहायक बनाना¶
OpenClaw Pi एजेंट्स के लिए एक WhatsApp + Telegram + Discord + iMessage gateway है। Plugins Mattermost जोड़ते हैं। यह गाइड "personal assistant" सेटअप के लिए है: एक समर्पित WhatsApp नंबर जो आपके हमेशा‑ऑन एजेंट की तरह व्यवहार करता है।
⚠️ सुरक्षा पहले¶
आप एक एजेंट को ऐसी स्थिति में रख रहे हैं जहाँ वह:
- आपकी मशीन पर कमांड चला सकता है (आपके Pi टूल सेटअप पर निर्भर)
- आपके वर्कस्पेस में फ़ाइलें पढ़/लिख सकता है
- WhatsApp/Telegram/Discord/Mattermost (plugin) के माध्यम से संदेश वापस भेज सकता है
संयम से शुरू करें:
- हमेशा
channels.whatsapp.allowFromसेट करें (अपने व्यक्तिगत Mac पर कभी भी ओपन-टू-द-वर्ल्ड न चलाएँ)। - सहायक के लिए एक समर्पित WhatsApp नंबर उपयोग करें।
- Heartbeats अब डिफ़ॉल्ट रूप से हर 30 मिनट में चलते हैं। सेटअप पर भरोसा होने तक इसे निष्क्रिय करने के लिए
agents.defaults.heartbeat.every: "0m"सेट करें।
पूर्वापेक्षाएँ¶
- OpenClaw इंस्टॉल और ऑनबोर्ड किया हुआ — यदि अभी तक नहीं किया है तो Getting Started देखें
- सहायक के लिए एक दूसरा फ़ोन नंबर (SIM/eSIM/प्रीपेड)
दो-फ़ोन सेटअप (अनुशंसित)¶
आप यह चाहते हैं:
%%{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"]
यदि आप अपने व्यक्तिगत WhatsApp को OpenClaw से लिंक करते हैं, तो आपको आने वाला हर संदेश “agent input” बन जाएगा। आमतौर पर आप ऐसा नहीं चाहते।
5-मिनट त्वरित प्रारंभ¶
- WhatsApp Web को पेयर करें (QR दिखेगा; सहायक फ़ोन से स्कैन करें):
openclaw channels login
- Gateway शुरू करें (इसे चलता रहने दें):
openclaw gateway --port 18789
~/.openclaw/openclaw.jsonमें एक न्यूनतम config रखें:
{
channels: { whatsapp: { allowFrom: ["+15555550123"] } },
}
अब allowlist किए गए फ़ोन से सहायक नंबर पर संदेश भेजें।
जब ऑनबोर्डिंग समाप्त होती है, हम डैशबोर्ड अपने आप खोलते हैं और एक साफ़ (नॉन-टोकनाइज़्ड) लिंक प्रिंट करते हैं। If it prompts for auth, paste the token from gateway.auth.token into Control UI settings. To reopen later: openclaw dashboard.
एजेंट को एक वर्कस्पेस दें (AGENTS)¶
OpenClaw अपने वर्कस्पेस डायरेक्टरी से ऑपरेटिंग निर्देश और “मेमोरी” पढ़ता है।
डिफ़ॉल्ट रूप से, OpenClaw एजेंट workspace के रूप में ~/.openclaw/workspace का उपयोग करता है, और सेटअप/पहली बार एजेंट रन के दौरान इसे (साथ में प्रारंभिक AGENTS.md, SOUL.md, TOOLS.md, IDENTITY.md, USER.md, HEARTBEAT.md) स्वचालित रूप से बना देता है। BOOTSTRAP.md केवल तब बनाया जाता है जब workspace बिल्कुल नया हो (इसे हटाने के बाद यह दोबारा नहीं आना चाहिए)। MEMORY.md वैकल्पिक है (स्वतः निर्मित नहीं होता); यदि मौजूद हो, तो इसे सामान्य सत्रों में लोड किया जाता है। Subagent सत्रों में केवल AGENTS.md और TOOLS.md जोड़े जाते हैं।
टिप: इस फ़ोल्डर को OpenClaw की “memory” की तरह मानें और इसे एक git repo बनाएं (आदर्श रूप से निजी), ताकि आपकी AGENTS.md + मेमोरी फ़ाइलें बैकअप हो सकें। If git is installed, brand-new workspaces are auto-initialized.
openclaw setup
पूरा वर्कस्पेस लेआउट + बैकअप गाइड: Agent workspace
मेमोरी वर्कफ़्लो: Memory
वैकल्पिक: agents.defaults.workspace के साथ एक अलग वर्कस्पेस चुनें (समर्थन करता है ~)।
{
agent: {
workspace: "~/.openclaw/workspace",
},
}
यदि आप पहले से किसी repo से अपने वर्कस्पेस फ़ाइलें शिप करते हैं, तो आप बूटस्ट्रैप फ़ाइल निर्माण को पूरी तरह अक्षम कर सकते हैं:
{
agent: {
skipBootstrap: true,
},
}
“एक असिस्टेंट” बनाने वाला config¶
OpenClaw डिफ़ॉल्ट रूप से एक अच्छा असिस्टेंट सेटअप देता है, लेकिन आमतौर पर आप यह ट्यून करना चाहेंगे:
SOUL.mdमें persona/निर्देश- थिंकिंग डिफ़ॉल्ट्स (यदि वांछित)
- हार्टबीट्स (जब भरोसा हो जाए)
उदाहरण:
{
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,
},
},
}
सत्र और मेमोरी¶
- सत्र फ़ाइलें:
~/.openclaw/agents/<agentId>/sessions/{{SessionId}}.jsonl - सत्र मेटाडेटा (टोकन उपयोग, अंतिम रूट, आदि):
~/.openclaw/agents/<agentId>/sessions/sessions.json(legacy:~/.openclaw/sessions/sessions.json) /newor/resetstarts a fresh session for that chat (configurable viaresetTriggers). यदि इसे अकेले भेजा जाए, तो एजेंट रीसेट की पुष्टि करने के लिए एक छोटा सा hello जवाब देता है।/compact [instructions]सत्र संदर्भ को संक्षिप्त करता है और शेष संदर्भ बजट की रिपोर्ट करता है।
हार्टबीट्स (प्रोएक्टिव मोड)¶
डिफ़ॉल्ट रूप से, OpenClaw हर 30 मिनट में निम्न prompt के साथ एक heartbeat चलाता है:
Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. यदि किसी चीज़ पर ध्यान देने की आवश्यकता नहीं है, तो HEARTBEAT_OK का जवाब दें।
अक्षम करने के लिए agents.defaults.heartbeat.every: "0m" सेट करें।
- यदि
HEARTBEAT.mdमौजूद है लेकिन प्रभावी रूप से खाली है (केवल खाली पंक्तियाँ और markdown हेडर्स जैसे# Heading), तो API कॉल बचाने के लिए OpenClaw हार्टबीट रन छोड़ देता है। - यदि फ़ाइल गायब है, तो हार्टबीट फिर भी चलता है और मॉडल तय करता है कि क्या करना है।
- यदि एजेंट
HEARTBEAT_OKके साथ उत्तर देता है (वैकल्पिक रूप से छोटा padding; देखेंagents.defaults.heartbeat.ackMaxChars), तो OpenClaw उस हार्टबीट के लिए आउटबाउंड डिलीवरी को दबा देता है। - हार्टबीट्स पूर्ण एजेंट टर्न चलाते हैं — कम अंतराल अधिक टोकन खर्च करते हैं।
{
agent: {
heartbeat: { every: "30m" },
},
}
मीडिया इन और आउट¶
इनबाउंड अटैचमेंट्स (छवियाँ/ऑडियो/डॉक्स) टेम्पलेट्स के माध्यम से आपके कमांड तक पहुँचाए जा सकते हैं:
{{MediaPath}}(local temp फ़ाइल पथ){{MediaUrl}}(pseudo-URL){{Transcript}}(यदि ऑडियो ट्रांसक्रिप्शन सक्षम है)
Outbound attachments from the agent: include MEDIA:<path-or-url> on its own line (no spaces). उदाहरण:
Here’s the screenshot.
MEDIA:https://example.com/screenshot.png
OpenClaw इन्हें निकालता है और टेक्स्ट के साथ मीडिया के रूप में भेजता है।
संचालन चेकलिस्ट¶
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)
लॉग्स /tmp/openclaw/ के अंतर्गत रहते हैं (डिफ़ॉल्ट: openclaw-YYYY-MM-DD.log)।
अगले कदम¶
- WebChat: WebChat
- Gateway ops: Gateway runbook
- Cron + wakeups: Cron jobs
- macOS मेनू बार सहचर: OpenClaw macOS app
- iOS नोड ऐप: iOS app
- Android नोड ऐप: Android app
- Windows स्थिति: Windows (WSL2)
- Linux स्थिति: Linux app
- सुरक्षा: Security