Guide OpenClaw the complete
A personal AI assistant that runs on your machine, 24/7
OpenClaw is an open-source personal AI assistant that runs locally on your machine. It connects to WhatsApp, Telegram, and Discord — and from there controls your entire computer: managing emails, scheduling meetings, running scripts, browsing the internet, and building automations.
What is OpenClaw?
OpenClaw is an open-source project created by Peter Steinberger — a developer who wanted a real AI assistant that works like a "background coworker". The idea is simple: an AI that has eyes and hands — sees your screen, downloads emails, runs scripts, and performs tasks in the real world.
Unlike ChatGPT or Claude, which you talk to in a browser, OpenClaw runs locally on your machine — the data doesn't leave to external servers, it works even without an internet connection (with a local model), and you send it messages through apps you already have: WhatsApp, Telegram, Discord.
Peter Steinberger described OpenClaw as "a smart language model that sits at your desk — sees the screen, types, clicks, sends emails and manages the calendar. Like a personal clerk who works 24/7 and never gets tired."
What's the difference between OpenClaw and others?
| Criterion | OpenClaw | ChatGPT | Claude |
|---|---|---|---|
| Runs locally | ✓ Yes | ✗ No | ✗ No |
| Sends messages via WhatsApp | ✓ Yes | ✗ | ✗ |
| Computer control | ✓ Full | Partial | Computer Use |
| Persistent memory | ✓ 24/7 | Limited | Projects |
| Cron Jobs and automation | ✓ Built-in | ✗ | ✗ |
| Open source and free | ✓ Yes | ✗ Paid | ✗ Paid |
| AI model | Claude / GPT / local | GPT only | Claude only |
Supported messaging apps
Installation & Setup — step by step
OpenClaw runs on macOS, Windows and Linux. Installation requires Node.js and Git, and setup takes about 15 minutes.
Prerequisites
- Node.js version 18 and up — download from nodejs.org
- Git — to download the code
- An API key for Claude (Anthropic) or OpenAI — at least one of them
- Mac M1/M2/M3 — recommended, but not required
Step 1 — clone the project
# clone the repo
git clone https://github.com/steipete/OpenClaw.git
cd OpenClaw
# install dependencies
npm install
Step 2 — set environment variables
Create a .env file in the project directory:
# AI key — choose at least one
ANTHROPIC_API_KEY=sk-ant-api03-...
OPENAI_API_KEY=sk-proj-...
# default model (Claude recommended)
DEFAULT_MODEL=claude-3-5-sonnet-20241022
# language and region
LANGUAGE=he
TIMEZONE=Asia/Jerusalem
Step 3 — set up an initial identity
OpenClaw requires you to define an "identity" — who you are, what it needs to know about you, and how it should behave. This is saved in a identity.md:
# identity.md — an example
## Who I am
My name is John Doe. A Full Stack developer working from home in Tel Aviv.
Working on a B2B SaaS startup. English is my native language.
## Schedule
- working hours: 09:00-18:00, Sun-Thu
- weekly team meeting: Monday 10:00
- sprint: two weeks
## Tools I use
- Gmail (work): john@startup.example
- GitHub: @israel-dev
- Notion: project management
- Slack: dev team
## Preferences
- short, to-the-point answers
- prefer English, with technical terminology in English
- don't ask for approval on routine tasks
## What not to touch
- don't send commercial emails without approval
- don't delete files without explicit approval
Step 4 — run
# start OpenClaw
npm start
# or in the background (recommended)
npm run start:background
# check that it's running
npm run status
Add OpenClaw to launchctl so it starts automatically with the Mac: npm run install:launchagent. From now on OpenClaw runs in the background 24/7.
Connecting WhatsApp & Telegram
OpenClaw's main interface is your messaging apps. You talk to it on WhatsApp like you'd talk to a friend — and it performs actions in the real world.
Connecting Telegram (the fastest)
Telegram is the simplest way to start:
@BotFather in Telegram, send /newbot, and give the bot a name. You'll get a Token.TELEGRAM_BOT_TOKEN=7614939069:AAGWer...
TELEGRAM_CHAT_ID=123456789 # your ID
npm restart, send a message to your bot. OpenClaw will respond within a second.Connecting WhatsApp
Connecting WhatsApp is more complex because WhatsApp doesn't provide an official API. OpenClaw useswhatsapp-web.js — a library that emulates the WhatsApp Web interface:
# in the .env file
WHATSAPP_ENABLED=true
WHATSAPP_SESSION_DIR=./whatsapp-session
# start with a QR code
npm run connect:whatsapp
A QR image will appear — scan it with WhatsApp on your phone (like connecting WhatsApp Web). From that moment, OpenClaw "sits" in your WhatsApp account and listens for messages.
For the WhatsApp connection it's recommended to use a separate SIM (or a cheap eSIM) rather than your main number. That way OpenClaw won't get mixed up with your personal messages, and you'll control permissions better.
First commands to test
Send OpenClaw a message on Telegram/WhatsApp:
Capabilities & Skills — what OpenClaw can do
OpenClaw comes with over 50 built-in integrations. Here are the most important for everyday use:
Memory & identity — how OpenClaw remembers you
One of OpenClaw's big advantages is Persistent memory — it doesn't "forget" between conversations. It saves everything: your preferences, the decisions you made, the projects you worked on.
The memory layers
identity.md.Useful memory commands
# saving a fact
"Remember that client ABC pays on the 15th of the month and prefers short summaries"
# querying memory
"What do you know about my project with Yoav?"
# clearing
"Forget everything you said about the old project"
# exporting
"Export all my memory to JSON"
Automations & Cron Jobs — working in the background
OpenClaw can perform tasks automatically without your prompt — just like Cron Jobs, but with natural language.
Setting up an automation
You simply tell it in natural language:
Managing automations
# show all active automations
"Show me all the cron jobs I set up"
# stop an automation
"Stop the morning briefing automation"
# edit
"Change the briefing time from 8:00 to 7:30"
# run manually to test
"Run the price-monitoring automation now"
Advanced automations — Multi-Step
OpenClaw supports multi-step automations that run different tools in a specific order:
# a complex automation
"Every Sunday at 09:00:
1. Pull all the GitHub PRs opened this week
2. Check if there are failing tests
3. Write a weekly summary to Notion
4. Send me on Telegram with links to items that need attention"
10 practical uses
OpenClaw works well because you can talk to it in natural language, it understands your context, and it connects to the tools we all use.
Tips & tricks — getting the most out of it
1. Talk to it naturally — it understands well
OpenClaw passes your instructions to Claude or GPT, which have full language support. There's no need to switch languages when giving commands. File names, folders and emails work too.
2. Build custom "Skills"
OpenClaw lets you write Skills — snippets of Python code that extend its capabilities:
# skills/check_price.py
import requests
def check_price(product_name: str, max_price: float) -> str:
"""Checks the price of a product on Amazon"""
# search Amazon
response = requests.get(f"https://api.example.com/price/{product_name}")
current_price = response.json()["price"]
if current_price <= max_price:
return f"✅ The price dropped to ${current_price}! (your max: ${max_price})"
else:
return f"Current price: ${current_price} (still above ${max_price})"
After saving the Skill, you can ask: "Check the price of the iPhone 16 — message me when it's under $900"
3. Parallel running — multiple Instances
You can run several instances of OpenClaw in parallel — one for work, one for home, one for a specific project. Each with a separate identity, memory and integrations.
# Instance 1 — work
PORT=3001 CONFIG_DIR=./work npm start
# Instance 2 — personal
PORT=3002 CONFIG_DIR=./personal npm start
4. Safety — set Guardrails
OpenClaw can do a lot — so it's important to set clear boundaries in identity.md:
# identity.md — a safety section
## What not to do without explicit approval
- don't send emails to external clients
- don't delete files (only move to trash)
- don't make purchases over $30
- don't change system settings
- always ask "are you sure?" before irreversible actions
For the first two weeks, set in identity.md: "before any external action (sending an email, deleting a file, updating the calendar) — stop and ask me for approval". Once you feel comfortable with the tool, relax the restrictions gradually.
5. Logging and tracking — know what OpenClaw is doing
# watch the log in real time
npm run logs
# log of the last 24 hours
npm run logs:day
# check API cost (how many tokens you used)
npm run usage:today
6. Upgrade the model by task
OpenClaw lets you set a different model per task type — a cheap, fast model for simple questions, a strong model for complex tasks:
# config/models.yml
default: claude-3-5-haiku-20241022 # fast and cheap — for everyday commands
complex_tasks: claude-3-5-sonnet-20241022 # strong — for analysis and writing
coding: claude-3-5-sonnet-20241022 # code — Sonnet is excellent for this
local: llama3.1:8b # local — Ollama, full privacy
Ready to start?
OpenClaw is one of the most exciting projects in the world of personal AI. It's not just another chatbot — it's an assistant that actually does work. Open source, free, and running locally.