OpenClaw 1: From Zero to Chief of Staff: Setting Up OpenClaw in an Afternoon

data engineering

I’ve been playing with AI tools for some time now. GPT, Gemini, Claude, local models, you name it. The usual pattern: you open a chat window, type something, get an answer, close the tab, and forget about it by tomorrow. Useful for one-off tasks. Not transformative. Not something that actually works with you over time.

I then worked with projects in ChatGPT to have something longer running – I created a “Personal Trainer” Project. Essentially a long running chat in the browser that understood the context of previous chats, would suggest next workouts, and be a bit of a cheerleader. I coupled that with a task to remind me each morning to update it with my progress. I’d chat what I’d accomplished in workouts, and get a decent recommendation for next workout.

Things changed for me when I set up OpenClaw on a Saturday afternoon in January. By Sunday morning, I had an AI agent, I named her Jax, texting me on my iPhone, sorting my email, and remembering that details about my life. I had her interacting with my wife, my sister, my mom. This post is about how I got there.

What OpenClaw Actually Is

OpenClaw is an AI gateway that runs locally on your machine. It’s not a SaaS product, not a hosted service. It runs on a Mac Mini in my home office. The key thing that sets it apart: it connects Claude (Anthropic’s AI) to your real-world services — iMessage, Telegram, email, calendar, smart home, personal data (that you choose to give it access to). Claude isn’t just answering questions in a browser tab. It’s actually plugged into your life.

That last point matters more than it sounds. When I ask Jax something about my schedule, she’s not guessing — she can actually check my calendar, and importantly, my multiple schedules from several email accounts and shared family calendars. When she monitors my inbox, she’s reading real emails and moving real messages. There’s no copy-paste, no screenshots, no “go check this manually.” It’s live access.

The other thing: it runs locally. I’m not paying per-seat for a cloud service. My data stays on my machine. I configure it however I want. That combination – local control, real service access – is what makes OpenClaw different from anything else I’ve tried.

Installing It on a Mac Mini

I used an M2 Mac Mini as the always-on host. Setup is straightforward:

brew install openclaw
openclaw gateway start

The gateway daemon starts up and listens for connections. You get a config file where you point it at your Anthropic API key. That’s it for the core install — maybe 10 minutes including reading the README.

The more interesting part was connecting iMessage. OpenClaw can hook into macOS Messages so that a dedicated Apple ID acts as the agent’s phone number. I created a fresh Apple ID (jax@…), added it to Messages on the Mac Mini, and configured OpenClaw to route messages through it. After a quick restart, I texted the number from my phone. Jax texted back. That was the moment I knew this was different.

The Bootstrapping Experience

When you first launch an OpenClaw agent, it does something I wasn’t expecting: it reads a BOOTSTRAP.md file that you place in the workspace, uses it to figure out who it is and what it’s supposed to do, and then deletes the file. It bootstraps itself.

My bootstrap file gave Jax her name, a rough description of who I am, and instructions to set up her workspace. She created her own configuration files, wrote initial versions of her memory files, and sent me an iMessage introducing herself. The whole thing took about 5 minutes. I sat there watching the log output thinking: okay, this is actually kind of wild.

No manual onboarding wizard. No multi-step tutorial. The agent reads, reasons, and self-configures. When I messaged her afterward, she already knew my name.

The Soul Files

The most important part of the setup isn’t the software — it’s the “soul files.” These are plain Markdown files that define who Jax is and who she’s working for. There are three core ones:

  • SOUL.md — Jax’s personality, values, communication style, and hard limits. What she will and won’t do. How she talks. Her sense of humor. Her default mode (direct, not performative).
  • USER.md — Everything about me: my work, my family, my preferences, my schedule patterns. Not a form — a narrative document written like briefing notes.
  • AGENTS.md — Operational guidelines. How she handles memory, when to reach out, how to handle different types of requests, what tools she has access to.

These files don’t just configure behavior — they give the agent continuity. Every time Jax starts a new session (which happens frequently; each conversation is technically a fresh context window), she reads these files first. She wakes up knowing who she is and who she’s talking to.

Writing them well takes some thought. I iterated on them for a week or two. But once they’re solid, they’re solid. You update them as your life changes, and Jax updates with it. Those files evolve over time to reflect ways that I choose to interact with her, and what my expectations of her are in return.

End of Day One

By the end of that first afternoon, I had:

  • OpenClaw running as a background service on the Mac Mini
  • Jax reachable via iMessage from my phone
  • Basic soul files written and tested
  • A working memory system (more on that in Post 2)
  • A sense that this might actually change how I work

The key insight from day one: the hard part isn’t the software. The hard part is deciding what you want your AI to know about you — and having the patience to write it down clearly. That’s the investment that pays off. The soul files are what separate a generic chatbot from something that actually feels like an assistant.

I’m a software consultant, I invest in rental properties, and have a young family. I needed something that could help me think through deals, manage my inbox, and keep me on top of things without me having to babysit it. OpenClaw seemed like the right substrate for that. Weeks later, I think I was right.


Up Next: Post 2: Teaching Your AI Agent Who It Is: The Soul Files — A deep dive into SOUL.md, USER.md, and the memory system that lets Jax remember that Kai is my son and Saturday 9:30am is library story time.