Created
May 1, 2026 12:34
-
-
Save vltansky/bba0d8be5e4c03ff6af6533e1fc4ee99 to your computer and use it in GitHub Desktop.
Johnny openclaw
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| *OpenClaw setup that actually works (for me) — running on a $0 always-on home laptop* | |
| *Phone:* IL number bought on zadarma.com (~$1/mo) → connected to WhatsApp Web. Same number does send/receive SMS for verification codes. | |
| *Agents:* multi-group, focused per-context — `main` (me, Telegram DM), `household` (partner+me group), `news` (sandboxed digest agent), `admin` (coding ops), `japan` (trip planner, scoped workspace + own knowledge files). Each agent gets only the tools it needs. | |
| *Johnny has his own identities:* I created separate accounts for him — Google, GitHub, Facebook, Instagram — each with its own CLI + skill. I share access with him granularly (e.g. he can read my Drive but not write; can post to a Telegram group but not DM contacts). No shared logins, no over-permissioning. | |
| *Memory (4-layer, compounds over time):* | |
| - *Short-term:* session transcripts, 1h cache-ttl auto-pruned | |
| - *Long-term:* `MEMORY.md`, qmd-indexed (BM25 + vector + LLM rerank, all local — no API key) | |
| - *Active:* `active-memory` plugin auto-injects recent context for `main` — no manual recall | |
| - *Wiki:* cross-linked notes via `memory-wiki` | |
| - *Dreaming* every 6h promotes high-value recalls into long-term (minScore 0.8, used 3+ times, halfLife 14d) — sleep consolidation | |
| - *Hybrid retrieval* w/ 30-day temporal decay — old memories fade unless recently used | |
| - Exposed as an MCP server (`qmd`) — any agent or sub-agent can query it | |
| - Searches *both* stored facts AND past conversation transcripts — sessions are first-class memory | |
| *Config (redacted):* | |
| ```json | |
| { | |
| "agents": { "defaults": { | |
| "model": { | |
| "primary": "openai-codex/gpt-5.5", | |
| "fallbacks": ["kimi/kimi-code", | |
| "minimax-portal/MiniMax-M2.7", | |
| "minimax-portal/MiniMax-M2.5"] | |
| }, | |
| "memorySearch": { | |
| "enabled": true, "sources": ["memory","sessions"], | |
| "experimental": { "sessionMemory": true }, | |
| "sync": { "intervalMinutes": 15, "watch": true, | |
| "onSessionStart": true, "onSearch": true }, | |
| "query": { "maxResults": 10, "minScore": 0.3, | |
| "hybrid": { "temporalDecay": | |
| { "enabled": true, "halfLifeDays": 30 } } }, | |
| "provider": "gemini" | |
| }, | |
| "contextPruning": { "mode": "cache-ttl", "ttl": "1h" }, | |
| "compaction": { "mode": "safeguard", | |
| "maxActiveTranscriptBytes": 2097152 }, | |
| "humanDelay": { "mode": "natural" }, | |
| "heartbeat": { "every": "30m", "target": "telegram" }, | |
| "blockStreamingDefault": "on" | |
| } }, | |
| "memory": { "backend": "qmd", | |
| "qmd": { "searchMode": "query", | |
| "mcporter": { "enabled": true, "startDaemon": true }, | |
| "update": { "interval": "15m", "onBoot": true } } }, | |
| "plugins": { "slots": | |
| { "memory": "memory-core", "contextEngine": "legacy" }, | |
| "entries": { | |
| "memory-core": { "config": { "dreaming": | |
| { "enabled": true, "frequency": "0 */6 * * *" } } }, | |
| "active-memory": { "config": | |
| { "agents": ["main"], "queryMode": "recent" } }, | |
| "acpx": { "config": { "permissionMode": "approve-all" } } } }, | |
| "browser": { "executablePath": "/usr/bin/google-chrome", | |
| "headless": false, | |
| "extraArgs": ["--disable-blink-features=AutomationControlled", | |
| "--disable-dev-shm-usage", "--no-first-run"] }, | |
| "gateway": { "port": 18789, "bind": "lan", | |
| "http": { "endpoints": | |
| { "chatCompletions": { "enabled": true }, | |
| "responses": { "enabled": true } } } }, | |
| "cron": { "enabled": true, "retry": { "maxAttempts": 3 } } | |
| } | |
| ``` | |
| *Plugins:* acpx · telegram · whatsapp · slack · memory-core · memory-wiki · active-memory · lobster · llm-task · device-pair · browser · tuya · codex · kimi · minimax · groq · openai · web-readability · document-extract · google-meet · bonjour | |
| *MCP servers:* xmcp (local custom :8000) · octocode (codex side, repo navigation) | |
| *Models / API keys:* | |
| - OpenAI Codex (OAuth, ChatGPT sub) — primary, using my subscription | |
| - MiniMax / Kimi — fallbacks — had subscription but canceled it, still active till end of the month | |
| - Gemini — web search + memory rerank + embeddings (one key, three jobs) | |
| - Groq — Whisper-v3-turbo audio | |
| *Integrations:* | |
| - Search/data: Brave · Google Places · OpenSubtitles | |
| - Google Workspace (Drive/Calendar/Sheets/Gmail) via `gogcli` OAuth — Johnny's own account | |
| - GitHub via `gh` + PAT — Johnny's own account | |
| - Facebook + Instagram — Johnny's own accounts (cookie-based, via skills) | |
| - Netlify — site deploys (Japan trip site auto-deploy from master) | |
| - Tuya (cameras) · Google Cast + Google TV Remote (TVs, paired) | |
| - Zadarma SMS (real IL number) · Telegram bot · WhatsApp Web · Slack | |
| - IL rocket-alert WebSocket listener (self-healing via cron) | |
| *Tools (CLIs on the box):* google-chrome (real, stealth) · gh · gog · codex · claude · acpx · qmd · tesseract · ripgrep · sqlite3 · netlify | |
| *Skills (45+, highlights):* | |
| - Smart home: smart-home, spotify, stremio, google-photos, opensubtitles, wolt-orders | |
| - Social: telegram-news-summary, facebook-groups, instagram, x, reddit-readonly, slack-gif-creator | |
| - Coding: create-pr, code-review, architecture-review, fix-merge-conflicts, systematic-debugging, frontend-design, mcp-builder, vercel-react-best-practices (im not using openclaw for coding) | |
| - Docs: docx, xlsx, pptx, content-research-writer | |
| - Ops: openclaw-ops, vpn, browser-automation, find-skills, remember, promptcat | |
| *Why it works:* 1 Gemini key covers search+rerank+embeddings · codex OAuth = $0 primary model · all channels outbound (no public IP, no port forward, no Tailscale) · contextPruning+compaction means long sessions don't blow context · humanDelay:natural makes chat replies feel less robotic · real Chrome+stealth defeats Cloudflare · Johnny has his own identities = clean audit trail + granular permissions |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment