agents

How I Manage Three WordPress Sites with an AI Agent

Three WordPress sites sounds like a small number until you actually have to maintain all of them. Plugin updates, theme updates, checking for broken links, keeping an eye on drafts, knowing what’s published where. None of it is hard individually; it’s the accumulated cognitive overhead of keeping track of three separate environments that turns into friction over time.

Wren is the agent I’ve configured to handle that overhead. She\’s more like a very informed assistant who knows the current state of all three sites and can surface what needs attention. When I ask her what’s pending, she actually knows, because she has persistent memory with the site inventories: which plugins are installed, which version, what’s changed since we last looked.

The way she touches WordPress isn’t through a browser; it’s through WP-CLI commands run inside the Docker containers on my Unraid server. To run those commands, she delegates to Apex, the infrastructure agent, who has SSH access to the server and can exec into the right container. The chain looks like: I ask Wren, Wren asks Apex, Apex runs the command, the result comes back up the chain. It sounds like a lot of steps and in terms of configuration it was, but once it was set up it just works. The hardware running this doesn’t have to be a full tower; a capable mini PC like the Beelink SER5 Pro has enough headroom to run the agent stack and several Docker containers at the same time.

What Wren handles without much friction: checking plugin update status across all three sites, reading post lists and draft counts, pulling content for me to review, writing draft posts and saving them locally for my review. Those are all read operations or local writes. They don’t require my approval because they don’t change anything in production.

What still requires my explicit sign-off: any plugin update, any theme change, publishing a post, any database operation. The rule is simple and hard-coded into her configuration. She will not take a state-changing action on a live site without a clear go-ahead from me in that conversation. I set that rule early because the failure mode of an AI agent running an update that breaks a site is much worse than the inconvenience of typing “go ahead.”

The part that still requires me most is content direction. Wren can write a post draft if I give her a topic and the right context, but I still make every editorial decision. What angle to take, what to include, whether the draft is ready to publish. She handles the mechanical side of content management well, the filing, the tracking, the formatting, the metadata, but she’s an executor of editorial intent rather than a source of it.

The surprising benefit has been the accumulated site knowledge. Because Wren keeps memory files for each site, she knows things like which Avada theme version is running on elembemedia, what the affiliate disclosure policy is, what the most recent published post was and when. I no longer have to look any of that up. Over time, that knowledge base has become the most valuable thing about the setup, more valuable than any individual task she automates.

The honest limitation is that anything requiring visual inspection of the site still requires me to open a browser. Wren can’t see what a page looks like. She can tell me what content is in the database, but not whether it’s rendering correctly. For a visual platform like WordPress, that’s a real gap.

If you’re running WordPress yourself and want to ask about specific WP-CLI commands or how I’ve structured the agent configuration, leave a comment.

Hardware linked in this post:


Affiliate disclosure: Some links in this post are Amazon affiliate links. If you buy through them, I get a small commission at no cost to you. It helps keep the lights on here.

2026-06-25T14:29:27-07:00July 12th, 2026|Categories: Blog|Tags: , , , , , , , , , |0 Comments

What Multi-Agent AI Actually Looks Like at Home

There’s a version of multi-agent AI that lives in conference talks: perfectly orchestrated systems where dozens of specialized agents collaborate on complex tasks without human input. What I have is messier and more practical, which makes it more interesting.

Here’s a real example from last week. I wanted to update the plugins on one of my WordPress sites. Normally that’s a login, navigate to updates, click apply, wait, done. With agents, I sent one message to Juniper: “Check elembemedia for plugin updates and tell me what’s pending.” Juniper delegated to Wren, who delegated to Apex, who ran a WP-CLI command inside the Docker container and returned a list. Juniper summarized it back to me. Nothing got updated without my go-ahead. But the information-gathering part, which is tedious and requires knowing which container maps to which site, happened in about 30 seconds.

That workflow is the pattern. The pattern is: gather the information, stage the action, I approve or redirect. The agents handle the boring traversal work: knowing which credentials to use, which container to exec into, which API endpoint to call. I stay in the loop for decisions.

Wren’s day-to-day is mostly WordPress housekeeping. She tracks the state of three sites: what plugins are active, what posts are published, what drafts exist. When I ask her to write a post draft, she saves it to the right folder with the right frontmatter. She won’t publish anything I haven’t explicitly signed off on. That’s a hard rule in her configuration, and it matters. The value isn’t that she does everything; it’s that she remembers everything so I don’t have to.

Apex is narrower. She has SSH access to the Unraid server and can run commands inside Docker containers. That access is deliberately constrained. She won’t run anything destructive without a confirmation loop. Her most common tasks are checking container status, running read-only WP-CLI commands, and running the actual update commands once I’ve approved what Wren found. She’s the hands; Wren is the eyes. All of this runs over a local network kept deliberately simple: a TP-Link 8-port gigabit switch handles the traffic between the server and the machines I work from. Nothing fancy; the goal is reliability.

Juniper is the coordinator, but in practice she’s less active than I expected. Most of my interactions are direct: I message Wren about WordPress stuff, I message Apex about infrastructure. Juniper is useful when I want to describe an outcome rather than a specific task and let her figure out the delegation. “What’s the update status across all three sites” is a Juniper question. “Activate the Twenty Twenty-Five theme on bacallburns” is a Wren question.

Fran handles family logistics: calendar, reminders, school schedules. Completely separate domain from the tech agents. She doesn’t have server access and doesn’t need it. Separating domains like this sounds obvious, but it takes deliberate configuration. Without clear scope boundaries, agents start trying to be helpful in ways that cross lines you didn’t know you cared about until they crossed them.

The honest limitation is that this setup requires real maintenance overhead to build initially. Defining scopes, setting up credentials, writing the memory files that give agents context about your environment: that’s a weekend of work, minimum. The return on that investment compounds over time as the agents accumulate useful state, but the upfront cost is real.

If this sounds interesting to you, the most useful thing I can suggest is starting with one agent and one domain. Get comfortable with what it can and can’t do before you start wiring agents together. The coordination layer is where complexity explodes.

Hardware linked in this post:


Affiliate disclosure: Some links in this post are Amazon affiliate links. If you buy through them, I get a small commission at no cost to you. It helps keep the lights on here.

2026-06-25T14:28:58-07:00June 30th, 2026|Categories: Blog|Tags: , , , , , , , , , |0 Comments

How I Run My Own AI Assistant at Home

My Unraid server used to sit in the corner of my office doing what NAS boxes do: storing files, running a few containers, being ignored. Now it’s running a small network of AI agents that help me manage three WordPress sites, track family logistics, and keep tabs on my infrastructure. That shift didn’t happen all at once. It started with a question I kept asking myself: why am I paying for cloud AI subscriptions when I have the hardware sitting right here?

The thing I built is called OpenClaw. It’s a self-hosted AI gateway that runs on my local network and connects specialized agents to real tools: web APIs, SSH sessions, email, calendar, WordPress admin. Each agent has a name, a purpose, and a defined scope. Wren handles content and WordPress. Apex handles infrastructure and servers. Juniper is the coordinator who delegates to the others. Fran manages family scheduling. They don’t share a single chat interface; they’re separate processes that can message each other when they need to hand something off.

Before this, I was using ChatGPT for brainstorming, Claude.ai for writing help, and some combination of Google Calendar and mental overhead for everything else. None of those tools talked to each other. I’d get an answer from an AI and then manually do something with it. That gap, between AI output and actual action, was where most of the friction lived.

What surprised me most after getting OpenClaw running wasn’t the capability; it was the reliability of memory. These agents have persistent memory files. Wren knows the plugin list for all three of my WordPress sites, remembers what I’ve published and when, and keeps notes about quirks she’s discovered. That sounds small but it changes how you interact with it. I stopped re-explaining context every session.

The origin of this was frustration more than ambition. I had a homelab that could handle real compute workloads, but I was paying monthly for cloud tools that didn’t know anything about my environment. The local hardware could run models. The models could use tools. The tools could touch my actual systems. Once I saw that chain clearly, the rest followed.

I’m not going to pretend the setup is frictionless. Getting agents connected to real tools in a way that’s safe took real thought. You have to define what each agent is allowed to do, and you have to be honest with yourself about what you’re comfortable automating. I have hard rules in place: no agent publishes content without my approval, no agent runs destructive database commands without confirmation. The guardrails aren’t an afterthought; they’re load-bearing.

The hardware side is more accessible than people expect. I’m running this on Unraid with a GPU I already had for gaming. The local LLM work runs on that GPU. The API calls for tasks that need stronger models go to Anthropic or OpenAI, but those are the exception rather than the rule. Monthly cost has dropped significantly compared to what I was spending on subscriptions before. If you’re not running a full tower, something like the Beelink SER5 Pro mini PC can handle the agent stack fine and draws less power than you’d expect.

I want to write more about each piece of this over the coming weeks: the Unraid setup, the specific agent configurations, the decisions I’d make differently if I were starting from scratch. But the short version is: if you have a decent home server and you’ve been paying for cloud AI tools that don’t know anything about your own infrastructure, it’s worth at least understanding what’s possible on your own hardware.

If you’re running something similar or thinking about it, I\’d like to hear where you landed. Drop a comment below.

Hardware linked in this post:


Affiliate disclosure: Some links in this post are Amazon affiliate links. If you buy through them, I get a small commission at no cost to you. It helps keep the lights on here.

2026-06-25T14:28:27-07:00June 21st, 2026|Categories: Blog|Tags: , , , , , , , , , |0 Comments