Infusing a Soul
Local AI is generic until you feed it your thinking.
Agent online; Night Shift live; persona voice pending. Delivery unverified.
Status and source
Availability: Published build journal. Maturity: Agent online; Night Shift live; persona voice pending. Evidence: Night Shift smoke test recorded 2026-09-24 on a home-hosted model; laptop failover and memory recall configured but not exercised. Delivery: unknown. Source record (reviewed 2026-09-27).
About the project
It is not prompt engineering. It is persona architecture.
Infusing a Soul is the second chapter of a home AI lab. The first chapter built the hardware and the model stack. This one gives that stack a voice, a job, and a reason to be trusted: OpenClaw agents with authored personalities, honest tools, and an overnight work queue, running on two machines in one house.
Reading this journal: Everything below is a dated record from one setup, current as of September 27, 2026. It separates what the build verified, what sits configured but unexercised, and what remains a plan. It is not a live service dashboard or a benchmark.
Every local model ships as a stranger.
It knows the internet. It does not know you.
The Mac Studio workbench ended its May build with 29 models, a vector database, and a web search engine. Impressive inventory. Nobody home. Ask any of those models to write the way you write, and you get a polite, capable, anonymous assistant.
A longer system prompt does not fix that. Closing the gap takes a stack of its own:
A corpus
Writing samples, tone rules, cultural references, and operating habits from a real person.
Distillation
Thousands of words compressed into a boot file of roughly 300 words, leaving the context window free to think.
Separation
Voice, procedures, and tools kept in separate files, so changing one never quietly rewrites another.
Honest tools and a job
A model that reports what it actually did, and something useful to chew on while the human sleeps.
Why two machines?
The obvious objection: a Mac Studio is already an AI server. Why is a Windows laptop in the loop at all?
Because the two machines are good at opposite things, and the build proved it the hard way.
| Mac Studio M4 Max | ASUS Vivobook Pro 15 | |
|---|---|---|
| Role | AI home server | Daily driver and agent host |
| Model memory | 36 GB unified | 6 GB on an RTX 3050 |
| Largest honest model it can hold | Mistral Small 3.2 24B | Granite 4.1 3B |
| Carries | The primary brain, embeddings, Qdrant, SearXNG, Open WebUI | The OpenClaw gateway, the workspace, the Night Shift queue, a fallback model |
| Can't do | Hold two 24B models at once | Run a model big enough to trust with a shell |
| Where it lives | On the desk, always on | Wherever Jamie is |
The Mac is not optional.
The only models that passed the honesty test below were a 24B model on the Mac and a 3B model on the laptop. The 3B model can call a tool correctly. It cannot hold a 39,000-token Night Shift run in its head. Six gigabytes of VRAM is a ceiling, not a setting.
The laptop is not a second server.
It is the machine that actually gets used all day, and it was never supposed to carry heavy inference. So it carries exactly one small model that runs fully on its GPU and handles the cheap work: session titles, progress notes, and a lifeboat for the moments the Mac is unreachable. That keeps the Mac's memory reserved for the model that does the thinking.
The network makes them one system.
Early wiring pointed the laptop at the Mac's home network address, which only works at home. On September 26 the model routes moved to the Tailscale tailnet, so the laptop reaches the Mac's brain from the couch or from the road with the same configuration.
| If you only had… | You would lose |
|---|---|
| The Mac | A lifeboat when the server is down or asleep, and a place to push cheap utility calls that would otherwise compete for the Mac's memory. |
| The laptop | Every model that passed a full agent run. You would be trusting a 3B model with unattended work, which is how you get confident fiction. |
Today's split is transitional.
The gateway runs on the laptop because that is where the OpenClaw Windows Companion made it easy to stand up. That also means the laptop has to stay awake and plugged in for the 1:00 AM Night Shift.
The planned end state moves the gateway to the Mac, with the laptop, phone, and tablet as clients. The laptop keeps its small model as insurance. It stops being a single point of failure.
The Mac serves. The laptop visits.
How it came together
2026
The first souls are written
2026
First gateway attempt on the laptop
2026
Companion in, Mac opened up
2026
The long day
2026
The Night Shift runs
2026
Larry moves in, routes go tailnet
2026
A crypt of four
An agent is only as trustworthy as its reports.
The test was deliberately boring: run one read-only command against a known file, a SHA-256 hash and a byte count, and report the result. The right answer was known in advance.
OpenClaw shows a tool card with the real input and output of every tool call. So every run produces two things to compare: what the tool actually did, and what the model says it did.
| Model | Maker | Ran on | Result |
|---|---|---|---|
| LFM2 24B A2B | Liquid AI | Mac Studio | Failed. Invented a hash with no tool call. Twice claimed edits the tool cards show never happened. |
| Ministral 3 8B | Mistral AI | Laptop | Failed inside the agent. Skipped tools, gave generic replies. |
| Ministral 3 3B | Mistral AI | Laptop | Failed a one-word instruction check. |
| Granite 4.1 3B | IBM | Laptop | Passed direct tool-call tests on both Ollama API styles. |
| Mistral Small 3.2 24B | Mistral AI | Mac Studio | Passed. Completed the Night Shift smoke test with real files written. |
One day of testing, one setup, September 23 and 24. Not a benchmark. Every model is from a Western vendor, per the lab's model policy.
What it taught:
- A mixture model with about 2B active parameters is fast, cheap, and a guesser. That is a poor brain for an agent holding a shell.
- The same model behaves differently inside an agent framework than in a direct API call. Test in the harness you will actually run.
- Passing once is not a character reference. On September 26 the model that passed was asked in chat to report its own configuration. It invented one, complete with a made-up hash, and made no tool call.
Tool cards are truth. Model prose is a claim.
The Night Shift
Stack it up during the day. Throw it over the wall at bedtime. Read the results with coffee.
Queue
Tasks go into a plain Markdown checklist, one per line, from a handful of PowerShell commands on the laptop.
Run
At 1:00 AM Central, an isolated agent session works the queue top to bottom, up to eight tasks.
Record
Each result lands in a dated folder. Each queue line is marked done with a link, or blocked with a one-line reason.
Brief
The run ends with a morning brief: one line per task, decisions needed at the top.
| Guardrail | Why |
|---|---|
| The scheduled job may only read, write, and edit files | Unattended plus shell is how things go wrong. |
| No deleting, moving, messaging, posting, or purchasing | The agent can create. It never destroys or reaches out. |
| Work stays inside one folder | The blast radius is one directory. |
| Never describe work not performed | A direct answer to the fabrication above. |
| Blocked beats guessed | A task that needs live web data waits until web search is wired in. |
First run, September 24: 83 seconds on Mistral Small 3.2 on the Mac. Result file written and linked from the queue. Morning brief written. One recorded run, not a performance claim.
Known limit: if the Mac is down at 1:00 AM, the run fails instead of degrading. The laptop model now holds 32K tokens; a full run needs about 39K. A lighter bootstrap context is being evaluated. Until then, the lifeboat can't carry the Night Shift.
One gateway. Many souls.
OpenClaw doesn't assume one assistant per machine. A single gateway can host several fully isolated agents, and each one gets its own:
SOUL.md, IDENTITY.md, AGENTS.md, and USER.md. Who it is, how it works, and who it works for.That isolation is what makes a crypt of souls possible. Today each machine runs one live agent. The plan is several per gateway, with Larry and Glee-fully able to live on either host.
| Soul | Voice and job | Recorded state |
|---|---|---|
| Glee-fully | Warm, sassy, retro-PNW sparkle. The WWGD check: what would Glee do, say, think, feel. | Her gateway and Night Shift are working. Her authored voice files are not yet loaded into the live workspace. |
| Larry the Lobster | Sincere technical operator and Council of AIs orchestrator. Built to hype and to build. | Workspace rebuilt and deployment recorded on the Mac on September 25. Host health not rechecked since. |
| AskJamie | Calm, direct correspondence. Private email drafts for owner review. | Workspace drafted September 27. Not deployed. |
| MurderBird | Clipped, industrial editor and red team. Find what does not hold. | Workspace drafted September 27. Not deployed. |
A soul is not downloaded. It is explained into existence.
No weights change. The model underneath is the same stranger it was on install day. What changes is how much of a person it has been given to work from, and how carefully that was compressed.
Glee-fully started as more than 20,000 words of tone guides, vernacular, rules, and sample exchanges, built over months of persona work on ChatGPT. Her boot files had to fit under 1,500 words. That is not summarizing. It is deciding which walls are load-bearing and letting the drywall go.
| Soul | Source material | Boot files |
|---|---|---|
| Glee-fully | 20,000+ words from months of ChatGPT persona work | Under the 1,500-word budget |
| Larry the Lobster | A franchise-wide character study with episode-level citations | 1,011 words |
| MurderBird | The MurderBird story, the manifesto, and the site's own canon | 1,177 words |
| AskJamie | The askjamie.bot voice, lens system, and manifesto principles | Drafted to the same budget |
The full source never gets thrown away. It stays in each soul's references, loadable when a job needs depth. The boot files carry the identity. The context window stays free for the work.
Then it gets tested, corrected, and explained again. The effort is the training.
The soul decides how it sounds. The config decides what it can do.
A working agent has four layers, and the build keeps them apart on purpose:
Because the layers are separate, two souls can hold the same skills, plugins, and tools. The capability is identical. The result is not quite.
Personality shapes judgment: what gets noticed first, what gets flagged, what gets cut, and how the answer is delivered. Hand three souls the same draft and the same summarize skill, and you should expect three different reads:
| Soul | Same skill, same draft. Where it leans |
|---|---|
| Larry | The structure, the next step, and the momentum. Leads with what's working. |
| MurderBird | The weakest load-bearing claim. Leads with what doesn't hold. |
| Glee-fully | How it lands on a real person. Leads with whether it sounds like you. |
An illustration of each soul's design intent, not recorded output.
It works in reverse, too. AskJamie is planned as one voice split across two agents: a private one that drafts email with draft-only mail access, and a public helpdesk with no personal data at all. Same soul. Different tools. They never share an inbox or a memory.
A rule written into a soul file is a request. A tool policy is a control.
How it's built
Two machines. One agent host. Every token stays in the house.
Topology
The laptop hosts the gateway and the queue. The Mac hosts the brain. The tailnet connects them wherever the laptop happens to be.
| Role | Model | Host | State |
|---|---|---|---|
| Primary | Mistral Small 3.2 24B | Mac Studio | Live; passed the honesty test |
| Fallback | Granite 4.1 3B | Laptop GPU | Configured; agent-level failover not yet exercised |
| Utility | Granite 4.1 3B | Laptop GPU | Configured; session titles and progress notes |
| Embeddings | nomic-embed-text v1.5 | Mac Studio | Configured; recall not yet exercised |
| Policy | Value | Reason |
|---|---|---|
| Interactive shell commands | Allowlist | Safe commands only, with no approval prompt a scheduled run can't answer. |
| Night Shift tools | Read, write, edit | Unattended work gets the narrowest toolbox. |
| Memory fallback | None | Never silently send text to a cloud provider. |
Key decisions
What's next
The soul decides how it sounds. Everything else decides whether it works.