I run a personal AI system with four agents and an autonomous build harness across a Mac, a cloud VPS, and a local GPU server. They deploy websites, build software, run scheduled operations, and manage a shared knowledge base โ all from my phone. This page documents the patterns, not the passwords.
Four agents and one build harness, spread across a Mac, a cloud VPS, and a local GPU rig. Different models, different jobs, different cost profiles. Not every question needs Opus.
GLM 5.1 Cloud through Ollama on OpenClaw. The primary agent I reach for everything. Orchestrates specs, deploys, strategy, and all conversations with me. Has SSH to the VPS for production deploys. Dispatches builds to the Wright harness. Reachable via Telegram and Apple Watch action button.
Claude Opus on OpenClaw, running on a cloud VPS. Previously powered by unlimited Claude access through Ampere.sh โ that arrangement is ending, so Harbinger is being wound down. Still active and handling workhorse tasks while credits last, then will be sunset. Cloud failover will be revisited when the right pricing model exists.
GLM 5.1 Cloud through Ollama. Maintains the Tillerman Brain โ triaging the inbox, merging duplicates, updating stale entities, and enforcing naming conventions across the knowledge graph. Runs autonomously on a cron schedule.
Claude Haiku on OpenClaw. Runs once daily at 7 AM โ sweeps GitHub, X/Twitter, and curated sources for new content. When I send a URL or content I want to remember, Archivist ingests it, extracts the relevant information, and files it into the Brain with proper frontmatter and wikilinks. Every inbound piece of content passes through a StegGuard protocol โ a prompt injection scanner that catches hidden instructions or adversarial payloads before anything enters the knowledge graph. Cheapest model, runs on a tight schedule. The coverage is what matters, not the frequency.
Not an agent. Wright watches an inbox directory for spec files, then runs Kiro autonomously: spec review, build, QA, fix loops. Eitan writes the spec, Wright builds it, Eitan deploys the result. Kiro replaced Claude Code as the primary build engine โ we have free access for a year through AWS. All Claude Code skills, MCP integrations, and hooks transferred cleanly to Kiro's native steering files and MCP support.
These are the patterns that survived contact with reality.
Match the model to the task. Haiku for discovery sweeps and classification. GLM 5.1 Cloud (via Ollama) for primary agent work and Brain maintenance โ fast, capable, and cost-effective. Opus for the highest-stakes reasoning. Most agent frameworks default to the most expensive model for everything โ that's how costs blow up.
Multiple layers of redundancy: OpenClaw on jMac (Eitan and Archivist), Hermes Agent on jMac (Atlas), and OpenClaw on a cloud VPS (Harbinger, being wound down). Ollama provides local model inference โ GLM 5.1 Cloud runs through it as the primary model, with local models as fallback if the API goes down entirely. The system degrades instead of dying.
Instead of monolithic agents, extend them with skills โ self-contained instruction files that load on demand when context matches. A skill for SEO audits. A skill for PDF editing. A skill for research. Agents stay lean; capabilities grow without bloating the base prompt. ClawHub is the registry.
All agents read and write the same Markdown knowledge graph. No database, no JSONL entity graphs, no manual HOT/WARM/COLD bucket management. The Brain is 340+ Markdown files with YAML frontmatter and [[wikilinks]] โ Archivist feeds it, Atlas cleans it, Eitan uses it. OpenClaw indexes all of it with vector embeddings and full-text search under the hood, so semantic recall is fast without any schema to maintain. Working memory (active tasks, protocols, live context) lives in a separate fast-access layer.
Every agent is reachable via Telegram. No dashboards, no SSH for daily ops. Deploy a site, kick off a build, check server status โ all from the phone. An action button relay lets me trigger Eitan from my Apple Watch with voice. The cockpit is the phone.
Each agent has a soul file โ a document defining its ethical ground, what it will and won't do, and how it handles edge cases. Derived from the Guardian framework (Forrest Landry's Immanent Metaphysics). Symmetry ethics: say the same thing regardless of audience. Continuity ethics: behave the same regardless of who's watching. Not decoration โ it's what prevents autonomous agents from drifting.
Agents run scheduled jobs without being asked. Archivist sweeps GitHub, X/Twitter, and curated sources for new content once daily at 7 AM, sanitizes it through StegGuard, and files it into the Brain. Atlas triages the Brain on a regular schedule โ merging duplicates, archiving stale entries, enforcing structure. This isn't a human checking in and saying "go do this" โ the agents maintain the knowledge base autonomously. I review the results, not the process.
Every piece of external content passes through a StegGuard protocol before entering the Brain. StegGuard is a prompt injection scanner that catches hidden instructions, adversarial payloads, and steganographic attacks embedded in URLs, markdown, and scraped content. When you let autonomous agents ingest content from the open web, the attack surface is enormous โ StegGuard is the immune system.
Skills are SKILL.md files that load on demand when the agent detects a matching context. Currently running 20+ skills across agents. Here's what's actually installed:
Kiro is Amazon's spec-driven AI coding IDE โ a VS Code fork with native MCP support, Agent Hooks, and Steering Files. The Wright harness runs it with 81 skills, 38 security plugins, 54 design references, and 24 hooks. Not a vanilla coding agent โ a fully armed build environment. All Claude Code skills and MCP integrations transferred cleanly.
Kiro with full filesystem access, MCP servers for workflow automation (n8n) and live library docs (Context7). Spec-driven workflow: Eitan writes the spec, Kiro generates structured requirements, plans tasks, and implements sequentially with human checkpoints. Desktop observability via claude-devtools. Steering Files replace CLAUDE.md; Agent Hooks replace Claude Code hooks.
UI UX Pro Max โ 161 reasoning rules, 67 UI styles, 96 color palettes, 57 font pairings, 13 tech stacks. Plus 54 extracted DESIGN.md files from production sites (Linear, Stripe, Vercel, Supabase, Notion, Figma, etc.). Say "build it like Linear" and it reads the actual design system.
38 professional security plugins. Static analysis (CodeQL + Semgrep), variant analysis, supply chain risk auditing, insecure defaults detection, mutation testing, property-based testing, and custom rule authoring. From an actual security firm.
15 skills covering AI search visibility โ citability scoring, AI crawler analysis, schema markup, llms.txt generation, platform-specific optimization, competitive analysis, and auto-generated client proposals with PDF export.
11 skills from Single Brain โ growth experiments with real statistics, cold outbound optimization, CRO audits, podcast-to-content multiplication, revenue intelligence, and value-based pricing frameworks.
Language-specific patterns for Python, Rust, Go, Kotlin, Java, C++, Perl, Laravel, Django, and Spring Boot. TDD workflows, e2e testing, database migrations, API design, and MCP server development patterns.
24 hooks across 7 lifecycle phases. Auto-format on edit, security scanning, PR alerts, build-complete notifications, quality gates, cost tracking, and strategic compaction. The Everything Claude Code (ECC) plugin ties it together with session-level evaluation.
The hardest problem in long-running agents is memory. Tiered HOT/WARM/COLD systems, JSONL entity graphs, Google Drive wikis โ I tried all of them. What actually works is the simplest thing: a shared folder of Markdown files.
projects/ holds things I'm building. tools/ holds third-party software Archivist discovers. concepts/ holds theological and philosophical ideas. properties/ holds real estate. The Archivist ingests from GitHub, X, and URLs I send it โ every piece passes through StegGuard before filing. Atlas periodically cleans up: merging duplicates, archiving stale entries, enforcing naming conventions. Clear separation of ingest and maintenance.
Open source where it matters. Managed services where the cost-benefit makes sense. Distributed across a Mac, a cloud VPS, and a GPU server.
Own the compute. Data lives on machines I control. Cloud is for capability and redundancy, not custody.
Static first. Every website is HTML files served by Caddy. No frameworks unless the task demands it.
Right model, right cost. Haiku for discovery. Sonnet for research. Opus for hard problems. Cost discipline is architecture.
Agents do the work. I steer. They build, deploy, research, and maintain the knowledge base. My job is direction and decisions.
Phone is the cockpit. Everything is reachable from Telegram. Deploy a website, start a build, check a server โ from anywhere.
Degrade, don't fail. Three frameworks, local GPU models, mesh VPN, cloud backup. If one thing goes down, the system gets slower, not dead.
Let crons do the boring work. Discovery, ingestion, triage, morning briefs โ all automated. I review outputs, not processes.
Sanitize everything. StegGuard scans all external content before it enters the Brain. Autonomous ingestion without security is an open door.
Ethics are structural. Every agent has a soul file. Not because AI needs morality, but because autonomous systems need constraints that don't drift.