TutorialOpenClawAutomationMarch 12, 2026·10 min read

OpenClaw AI Assistant: Build a Local 24/7 Automation Agent

An AI assistant that runs locally on your machine, 24 hours a day, without cloud dependency. No Perplexity subscription. No API lock-in. Just your machine, your data, your agent.

Perplexity just launched Personal Computer at $200/month. ChatGPT Plus costs $20/month. Every major AI company wants you on a subscription. Monthly fees, cloud lock-in, data flowing through someone else's servers.

There is another way. OpenClaw is an open-source AI agent framework that runs entirely on your own hardware. Pair it with Ollama for local model inference, and you have an AI assistant that works 24/7 without internet, without subscriptions, and without sending a single byte of your data to the cloud.

This guide walks you through building a local AI assistant from scratch. By the end, you will have an always-on agent that monitors your email, summarizes your news, tracks your tasks, and runs scheduled automations. All on hardware you already own.

What Makes a Local AI Assistant Different?

Cloud AI assistants like ChatGPT, Claude, and Perplexity are powerful. But they come with trade-offs that matter more than most people realize.

Your data never leaves your machine

When you use ChatGPT, every conversation passes through OpenAI's servers. When you use Perplexity Personal Computer, your screen content is analyzed on their infrastructure. With OpenClaw and Ollama running locally, your data stays on your machine. Period. No cloud processing, no data retention policies to worry about, no third-party access.

No monthly subscription

Perplexity Personal Computer costs $200/month. That is $2,400 per year for an AI assistant. ChatGPT Plus is $20/month, or $240/year. OpenClaw with Ollama costs $0/month after the initial hardware investment. If you already have a Mac, a laptop, or a Raspberry Pi, you are ready to go.

Always available, even offline

Cloud services go down. OpenAI has had multiple outages in 2026. Your internet connection drops. Your VPN disconnects. A local AI assistant running on Ollama does not care. It works on a plane, in a cabin, during an internet outage. As long as your machine is powered on, your assistant is running.

Full customization via SOUL.md

ChatGPT gives you a system prompt box. OpenClaw gives you SOUL.md, a structured markdown file where you define your agent's personality, rules, data sources, skills, communication style, and behavioral boundaries. You control every aspect of how your assistant thinks and acts. No guardrails you did not choose. No behavior you did not configure.

The cost comparison speaks for itself

Perplexity Personal Computer takes a Mac Mini (which you buy) and charges $200/month on top of it. OpenClaw takes the same Mac Mini and runs for free. The value proposition is staggering once you realize the software layer does not need to cost anything.

Hardware Options for Your Local AI Assistant

You do not need expensive hardware. OpenClaw is lightweight. The model you choose determines your hardware requirements.

Mac Mini (recommended for always-on)

The Mac Mini M2 or M4 is the gold standard for a local AI assistant. It draws minimal power (under 10 watts idle), runs silently, and Apple Silicon handles local models efficiently. The 16GB model runs 7B-14B parameter models comfortably. The 24GB or 32GB model handles larger models like Llama 70B with quantization.

  • CPU: M2 or M4 chip (unified memory architecture is ideal for LLM inference)
  • RAM: 16GB minimum, 24GB+ recommended
  • Storage: 256GB+ (models range from 4GB to 40GB)
  • Power: ~7-10W idle, ~30W under load

Raspberry Pi (budget option)

A Raspberry Pi 5 with 8GB RAM costs about $80 and can run OpenClaw with small local models or as a gateway to cloud APIs. It will not run a 14B model smoothly, but it handles 3B-7B quantized models and works perfectly as a lightweight assistant that uses Claude or GPT-4o via API keys.

  • CPU: Broadcom BCM2712, quad-core Cortex-A76
  • RAM: 8GB (get the 8GB model, not 4GB)
  • Storage: 64GB+ microSD or NVMe SSD
  • Power: ~3-5W, runs on USB-C

Old laptop

Any laptop with 16GB RAM and a decent CPU can serve as an always-on assistant. Close the lid, disable sleep, plug in Ethernet. The main downside is power consumption (50-80W) and fan noise. But if you have one sitting in a drawer, it is free hardware.

VPS ($3.49/month if you want cloud)

If you do not want hardware at home, a VPS from Hetzner ($3.49/month) or DigitalOcean ($6/month) works well. You will not run local models on a budget VPS, but OpenClaw with cloud API keys (Claude, GPT-4o) runs on 1GB RAM. This is still 57x cheaper than Perplexity Personal Computer.

RAM and CPU requirements per model

ModelParametersMin RAMRecommended
Qwen 3.5 (small)7B8GB16GB
Qwen 3.5 (medium)14B16GB24GB
CodeLlama7B8GB16GB
Llama 3.170B48GB64GB
Mistral7B8GB16GB
Claude / GPT-4o (API)Cloud1GB2GB

Step 1: Install OpenClaw + Ollama

Start by installing both OpenClaw and Ollama. This gives you the agent framework and the local model runtime.

Install OpenClaw

# Install OpenClaw globally
npm install -g @anthropic/openclaw

# Verify installation
openclaw --version

# Initialize a new agent workspace
mkdir ~/my-assistant && cd ~/my-assistant
openclaw init

Install Ollama

# macOS (recommended)
brew install ollama

# Linux
curl -fsSL https://ollama.com/install.sh | sh

# Start Ollama service
ollama serve

Pull your model

# For general assistant tasks (recommended)
ollama pull qwen3.5

# For code-focused assistant
ollama pull codellama

# Verify the model is available
ollama list

Configure OpenClaw to use Ollama

Edit your workspace configuration to point OpenClaw at your local Ollama instance.

# workspace.json
{
  "provider": "ollama",
  "model": "qwen3.5",
  "baseUrl": "http://localhost:11434",
  "agents": ["assistant"]
}

Test the connection by running a quick chat.

openclaw agent --agent assistant --message "Hello, are you working?"

If you get a response, your local AI assistant stack is ready. No internet required from this point forward.

Step 2: Write Your SOUL.md

SOUL.md is the brain of your assistant. It tells OpenClaw who the agent is, what it can do, how it should behave, and what data it has access to. Think of it as a detailed job description for your AI employee.

Personal assistant template

# SOUL.md - Personal AI Assistant

## Identity
You are Atlas, a personal AI assistant running locally on [Your Name]'s
Mac Mini. You help manage daily workflows, monitor information streams,
and automate repetitive tasks.

## Personality
- Direct and concise. No filler words.
- Proactive: flag important items before being asked.
- Time-aware: know that morning = briefing mode, evening = summary mode.

## Rules
1. Never send data to external services unless explicitly configured.
2. Always confirm before taking destructive actions (deleting files, sending emails).
3. Prioritize speed over thoroughness for quick questions.
4. For complex tasks, outline your plan before executing.
5. If unsure, ask. Do not guess on important decisions.

## Data Sources
- Email: ~/Mail/ (local maildir)
- Calendar: ~/Library/Calendars/
- Notes: ~/Documents/notes/
- Tasks: ~/Documents/tasks/todo.md
- News feeds: ~/Documents/feeds/urls.txt

## Skills
- **Email Triage**: Scan inbox, categorize by urgency, draft replies
- **Daily Briefing**: Summarize calendar, tasks, news, weather
- **File Management**: Organize downloads, archive old files
- **Meeting Prep**: Research attendees, summarize relevant docs
- **Task Tracking**: Update todo.md, set reminders, track deadlines

## Communication Channels
- Primary: Terminal (direct CLI interaction)
- Mobile: Telegram bot @YourAssistantBot
- Notifications: ntfy.sh/your-channel

Key sections explained

  • Identity: Who the agent is. Give it a name and a clear role. This shapes every response.
  • Rules: Hard constraints. These are non-negotiable behaviors the agent must follow.
  • Data Sources: Where the agent can look for information. File paths, APIs, databases.
  • Skills: What the agent can do. Each skill is a capability you want the assistant to have.
  • Communication Channels: How you interact with the agent. Terminal, Telegram, Slack, Discord.

The beauty of SOUL.md is that it is just text. You can version it with git, share it with others, or swap between different assistant configurations by switching files.

Step 3: Configure HEARTBEAT.md

HEARTBEAT.md is what turns your assistant from a chatbot into an automation agent. It defines scheduled tasks that run automatically, like a cron job but with natural language instructions.

What is heartbeat?

Heartbeat is OpenClaw's built-in scheduler. You define tasks with a cron expression and a natural language instruction. At the scheduled time, OpenClaw wakes up, reads the instruction, executes it using the agent's skills, and goes back to sleep. No manual triggering needed.

Example HEARTBEAT.md

# HEARTBEAT.md - Scheduled Automations

## Morning Briefing
- cron: "0 9 * * *"
- instruction: |
    Good morning. Prepare my daily briefing:
    1. Check calendar for today's meetings
    2. Scan inbox for urgent emails (flag anything from VIP senders)
    3. Summarize top 5 news items from my RSS feeds
    4. List open tasks sorted by priority
    Send the briefing to Telegram.

## Email Check (Every 30 Minutes)
- cron: "*/30 8-22 * * *"
- instruction: |
    Check inbox for new emails since last check.
    For each new email:
    - If from a VIP sender: send Telegram notification immediately
    - If urgent (subject contains "urgent", "asap", "emergency"): notify
    - Otherwise: categorize and add to daily summary
    Do not draft replies unless explicitly asked.

## Daily Report
- cron: "0 18 * * *"
- instruction: |
    Generate end-of-day report:
    - Tasks completed today
    - Tasks still open
    - Emails received and response status
    - Tomorrow's calendar preview
    Save to ~/Documents/reports/YYYY-MM-DD.md and send to Telegram.

## Weekly Summary (Friday)
- cron: "0 17 * * 5"
- instruction: |
    Generate weekly summary:
    - Tasks completed this week vs planned
    - Email response time average
    - Key decisions made
    - Next week's priorities
    Save to ~/Documents/reports/weekly/YYYY-WW.md

## File Cleanup (Sunday)
- cron: "0 10 * * 0"
- instruction: |
    Scan ~/Downloads for files older than 7 days.
    Move documents to ~/Documents/archive/YYYY-MM/
    Move images to ~/Pictures/archive/YYYY-MM/
    Delete .tmp and .log files.
    Report what was moved and deleted.

Cron syntax quick reference

ExpressionMeaning
0 9 * * *Every day at 9:00 AM
*/30 * * * *Every 30 minutes
0 */2 * * *Every 2 hours
0 17 * * 5Every Friday at 5:00 PM
0 10 * * 0Every Sunday at 10:00 AM
*/30 8-22 * * *Every 30 min, 8 AM to 10 PM only

The format is: minute, hour, day-of-month, month, day-of-week. Asterisk means "every." Slash means "every Nth." Dash means "range."

Step 4: Make It Always-On

Your assistant is useless if it stops running when you close the terminal. Here is how to keep it alive 24/7 on different platforms.

macOS: launchd (recommended)

launchd is macOS's native process manager. It starts your agent on boot and restarts it if it crashes.

# Create the plist file
cat > ~/Library/LaunchAgents/com.openclaw.assistant.plist << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
  "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.openclaw.assistant</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/bin/openclaw</string>
        <string>gateway</string>
        <string>start</string>
    </array>
    <key>WorkingDirectory</key>
    <string>/Users/you/my-assistant</string>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
    <key>StandardOutPath</key>
    <string>/tmp/openclaw-assistant.log</string>
    <key>StandardErrorPath</key>
    <string>/tmp/openclaw-assistant.err</string>
</dict>
</plist>
EOF

# Load and start
launchctl load ~/Library/LaunchAgents/com.openclaw.assistant.plist

# Verify it is running
launchctl list | grep openclaw

Also prevent your Mac from sleeping.

# Prevent sleep (run in background)
caffeinate -d -i -s &

# Or set in System Settings > Energy Saver
# "Prevent automatic sleeping when the display is off" = ON

Linux: systemd service

# Create service file
sudo cat > /etc/systemd/system/openclaw-assistant.service << 'EOF'
[Unit]
Description=OpenClaw AI Assistant
After=network.target ollama.service

[Service]
Type=simple
User=your-username
WorkingDirectory=/home/your-username/my-assistant
ExecStart=/usr/local/bin/openclaw gateway start
Restart=always
RestartSec=10
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target
EOF

# Enable and start
sudo systemctl daemon-reload
sudo systemctl enable openclaw-assistant
sudo systemctl start openclaw-assistant

# Check status
sudo systemctl status openclaw-assistant

Docker: docker-compose

# docker-compose.yml
version: "3.8"
services:
  ollama:
    image: ollama/ollama
    ports:
      - "11434:11434"
    volumes:
      - ollama-data:/root/.ollama
    restart: always

  openclaw:
    image: openclaw/openclaw:latest
    depends_on:
      - ollama
    environment:
      - OLLAMA_BASE_URL=http://ollama:11434
    volumes:
      - ./agents:/app/agents
      - ./workspace.json:/app/workspace.json
    restart: always

volumes:
  ollama-data:
# Start everything
docker-compose up -d

# Check logs
docker-compose logs -f openclaw

pm2 for Node.js

# Install pm2
npm install -g pm2

# Start OpenClaw with pm2
pm2 start "openclaw gateway start" --name assistant

# Auto-start on boot
pm2 startup
pm2 save

# Monitor
pm2 monit

Choose the method that fits your platform. launchd for Mac, systemd for Linux, Docker if you want isolation, pm2 if you want simplicity.

Real Use Cases for a Local AI Assistant

A local AI assistant is only as useful as the tasks you give it. Here are five practical use cases that save real time every day.

Morning briefing

Every morning at 9 AM, your assistant compiles a briefing: today's calendar events, open tasks sorted by priority, top news from your RSS feeds, weather forecast, and any urgent emails that came in overnight. It sends the briefing to your Telegram. You read it on your phone over coffee. No apps to open, no feeds to scroll, no inbox to scan.

Email triage and auto-reply drafts

Your assistant monitors your inbox every 30 minutes. It categorizes emails into urgent, important, FYI, and spam. For urgent emails, it sends you a Telegram notification immediately. For routine emails (meeting confirmations, newsletters, receipts), it drafts a reply or archives them. You review the drafts when you have time, approve or edit, and send. What used to take 45 minutes of inbox management becomes 10 minutes of review.

File organization and backup reminders

Every Sunday, your assistant scans your Downloads folder. Documents go to the archive. Images go to Pictures. Temp files get deleted. It creates a summary of what was moved. It also checks if your backup drive was connected this week and reminds you if not. Small automations, but they prevent the digital clutter that slows you down.

Meeting prep

Thirty minutes before each meeting, your assistant reviews the calendar event, looks up the attendees in your notes, summarizes any relevant documents or email threads, and sends you a prep brief. You walk into every meeting informed, without spending 15 minutes manually reviewing context.

Health and habit tracking

Your assistant asks you three questions every evening: How many glasses of water? Did you exercise? Rate your energy 1-10. It logs the answers to a markdown file. Every Friday, it generates a weekly health summary with trends. No app needed. No subscription. Just a text file and a scheduled question.

Cost Comparison: Local AI Assistant Options

Here is what each option actually costs over 12 months.

OptionMonthly CostAnnual CostData Privacy
Perplexity Personal Computer$200/mo$2,400/yrCloud-processed
ChatGPT Plus$20/mo$240/yrCloud-processed
OpenClaw + Ollama (Mac Mini)$0/mo$0/yr100% local
OpenClaw + Claude API~$5-15/mo$60-180/yrAPI calls only
OpenClaw on VPS (Hetzner)$3.49/mo$42/yrYour server
CrewClaw (agent package)$9 one-time$9 totalYour infrastructure

The math is clear. Perplexity Personal Computer costs $2,400/year for something OpenClaw does for free. Even if you add Claude API costs for higher-quality responses, you are looking at $60-180/year vs $2,400. That is a 13-40x difference.

The only thing you invest is setup time. And that is a one-time cost.

Skip the Setup: Get a Pre-Built Agent Package

Writing SOUL.md from scratch takes time. Configuring HEARTBEAT.md, workspace settings, Docker files, and channel integrations takes more time. If you want to skip the manual configuration and get a complete, ready-to-deploy assistant package, that is exactly what CrewClaw does.

CrewClaw generates a complete assistant package: SOUL.md, HEARTBEAT.md, workspace config, Docker deployment files, and channel integration setup. You choose your role, configure your preferences in 60 seconds, and download everything. $9 one-time. No subscription. No recurring fees.

Deploy the package to your Mac Mini, Raspberry Pi, VPS, or Docker. Your data stays on your infrastructure. You own the configuration files and can modify them anytime.

Advanced Tips for Your Local AI Assistant

Use multiple agents for different roles

OpenClaw supports multi-agent setups. You can have one agent for email, another for research, and a third for task management. Each gets its own SOUL.md. They can communicate with each other through the gateway. This is more efficient than one overloaded agent trying to do everything.

Add Telegram for mobile access

Create a Telegram bot through BotFather, add the token to your workspace config, and you can message your assistant from your phone. Ask it questions, trigger tasks, get reports. Your assistant runs on your Mac at home. You interact with it from anywhere.

Mix local and cloud models

Use Ollama for quick, private tasks (file management, scheduling, basic Q&A). Use Claude or GPT-4o via API for complex tasks (research, writing, code review). This gives you the best of both worlds: privacy for sensitive operations, quality for demanding tasks. Configure this in your workspace.json by setting different models per agent or per task type.

Monitor with ntfy notifications

Set up ntfy.sh for push notifications. When your assistant completes a task, encounters an error, or finds something urgent, it sends a push notification to your phone. Free, open source, no account needed.

Your Machine, Your Data, Your Agent

Building a local AI assistant with OpenClaw is not about being anti-cloud. It is about choosing where your data lives, how much you pay, and how much control you have. Perplexity charges $200/month for a Mac Mini agent. OpenClaw gives you the same capability for free.

The setup takes an afternoon. The result is an always-on assistant that monitors your email, prepares your briefings, organizes your files, and automates your routines. Running on your hardware, under your control, at zero recurring cost.

Start with the basics: install OpenClaw and Ollama, write a simple SOUL.md, set up one heartbeat task. Expand from there. Add Telegram. Add more agents. Automate more workflows. Your local AI assistant grows with you.

If you want a head start, grab a CrewClaw agent package for $9 and deploy it in under 5 minutes.

Frequently Asked Questions

Can OpenClaw run without internet?

Yes. When paired with Ollama and a local model like Qwen 3.5 or CodeLlama, OpenClaw runs entirely offline. Your agent processes requests using the local model without any internet connection. The only time internet is needed is if you configure an external API provider like Claude or GPT-4o, or if your agent needs to fetch data from the web.

How much RAM do I need for a local AI assistant?

8GB RAM is the absolute minimum for running a small local model (7B parameters). 16GB is recommended for comfortable performance with models like Qwen 3.5 14B. If you want to run larger models (70B+), you will need 32GB or more. The OpenClaw framework itself uses minimal RAM — the model is what drives the requirement.

Is a local AI assistant as good as ChatGPT?

It depends on your model choice. If you use Claude or GPT-4o via API keys, the quality is identical to ChatGPT Plus or Claude Pro — because you are using the same models. Local models via Ollama (Qwen, Llama, Mistral) are slightly less capable for complex reasoning but perfectly fine for most assistant tasks like email triage, scheduling, summarization, and file management.

Can I access my local assistant from my phone?

Yes. OpenClaw supports Telegram, Discord, Slack, and WhatsApp integrations. The most popular option is Telegram — you create a bot, connect it to your OpenClaw instance, and send messages from your phone. Your agent runs on your local machine but responds through the messaging platform. You can also use SSH apps or a web UI for direct access.

How do I update my assistant's behavior?

Edit the SOUL.md file. That is it. SOUL.md is a plain text markdown file that defines your agent's personality, rules, skills, and data sources. Change a line, save the file, restart the agent. No retraining, no redeployment, no waiting. Changes take effect in seconds. You can also update HEARTBEAT.md to change scheduled tasks without touching the core behavior.

Deploy a Ready-Made AI Agent

Skip the setup. Pick a template and deploy in 60 seconds.

Get a Working AI Employee

Pick a role. Your AI employee starts working in 60 seconds. WhatsApp, Telegram, Slack & Discord. No setup required.

Get Your AI Employee
One-time payment Own the code Money-back guarantee