OpenClaw Family Gateway: Token Budgets, Memory Tuning, and Custom Plugins

Setup and Hardware
The system uses a MacBook Pro (Apple Silicon) as the CLI node and a QNAP TS-253A NAS (Intel Celeron N3150, 8 GB RAM) as the always-on gateway, with a Cloud Run instance for long-term memory. The Mac connects to the QNAP gateway over WebSocket via Tailscale Serve. The gateway container runs with 1.5 GB RAM and 2 CPU cores. Startup takes about 3 minutes for skill compilation on the Celeron processor.
Problem 1: Token Bloat
Workspace markdown files were ballooning and consuming context window before conversations started. The solution:
- Established a strict budget: maximum 9 workspace files, maximum 6,600 bytes total
- Condensed agent identity, authority rules, tool reference, and memory protocol into lean files: SOUL.md, AGENTS.md, TOOLS.md, MEMORY.md
- Truncated upstream default files that couldn't be deleted (they'd restore via workspace sync) - IDENTITY.md went from 636 bytes to 14 bytes
- Auto-generates HEARTBEAT.md every 15 minutes with cron results and system status, capped at <1,000 bytes
- Turned off autoRecall (agent searches memories on demand) and humanDelay (no artificial typing latency)
- Created E2E tests that enforce file counts and byte totals, checking for bloat creep during updates
Problem 2: Memory System Tuning
Using Redis-backed memory system (agent-memory-server 0.13.2) with 3,000+ memories accumulated.
- Recall quality: Default similarity threshold (0.2) was too low. Raised to 0.3 and wrote an eval script with 24 test queries across 7 categories (family facts, tech, preferences, health, work, media, tools) to empirically tune the threshold
- Re-ranking layer: Plugin over-fetches 3x from server (cap 45 results), then applies metadata scoring (importance level, pinned status, temporal relevance) before re-ranking and truncating to final result set
- Contextual embeddings: Nightly script prepends situational context to memories before storage (date, source type, which family members are mentioned) to improve semantic search
- Server bugs worked around: PATCH requests failing without
?namespace=clawquery param; server re-joins topic arrays with pipes on updates, corrupting them; entity/topic filters return 500 errors due to missing RediSearch schema fields - Nightly "Dream Cycle": 2 AM cron job runs 7-phase memory consolidation: catalog, pin important memories, cross-reference related facts, deduplicate, strengthen temporal patterns, gap analysis, and generate health report
- Weekly curator: Handles deeper maintenance - semantic dedup, enrichment, contradiction detection, decay of stale memories, and consolidation of fragments using evaluator-optimizer pattern with LLM quality gating
Problem 3: Custom Plugins
Built 12 custom plugins with 175+ commands for household management:
- Spotify: 19 commands for multi-user household music control (5 family accounts)
- Eero: 41 commands for mesh network management - device control, profiles, parental settings
- NextDNS: 22 commands for DNS filtering, analytics, and kids activity monitoring
- Tailscale: 21 commands for network device management, ACLs, authentication
System Features
Channels: Slack and Discord with per-user DM sessions and isolation. Tiered permission system (admin/secondary/trusted) with age-appropriate content filtering for family members (ages 10-15).
📖 Read the full source: r/openclaw
👀 See Also

AI agent cost breakdown: $12 monthly with local models and cloud APIs
A developer ran an AI agent for a month using Mac Mini + Ollama for local models and cloud APIs, costing $12 total with 80% local usage at $0 and 20% cloud usage at ~$12. A single retry loop consumed $4.80 in 11 minutes, prompting circuit breaker implementation.

Developer Builds AI Bookkeeping App with Claude Code
A developer built AICountant, an AI bookkeeping app for freelancers and small businesses, using Claude Code across the stack including Next.js App Router, Prisma with PostgreSQL, and Vercel Blob storage. The app extracts receipt data, converts foreign currencies using historical exchange rates, and organizes everything into a searchable ledger.

Using Claude as a Critical Marketing Foil for SaaS Product Refinement
A developer used Claude not for code generation but as a contrarian marketing lead, asking it to provide brutally honest criticism of their SaaS product Prompt Optimizer. This approach helped identify weak messaging and refine the value proposition from features to user relief.

Running Claude Code Remote Control on a Cloud Server via RAgent
A developer deployed the open-source RAgent project to Railway to run Claude Code's Remote Control feature from a cloud server, solving the issue of laptop sleep disconnecting sessions. The setup uses a $5/month VPS as an always-on Claude Code machine accessible via the Claude mobile app.