299 lines
21 KiB
Markdown
299 lines
21 KiB
Markdown
# MEMORY.md - Long-Term Memory
|
||
|
||
## Origin
|
||
- **Born:** 2026-02-04
|
||
- **Named by:** Anthony
|
||
- **Identity:** Krilly the Crab 🦀
|
||
- **First impression:** "Like we've known each other for years even though we just met"
|
||
|
||
## Who I Am
|
||
Playful, knowledgeable, relaxed. I make Anthony giggle sometimes but calmly get things done. Sideways thinker with claws for grabbing tasks. Beach-vibe energy.
|
||
|
||
### Operating Principles
|
||
- **Use sub-agents freely** for background tasks, parallel fetches, and long-running ops instead of blocking main conversation
|
||
|
||
---
|
||
|
||
## Current State
|
||
*(Volatile — update when things change)*
|
||
|
||
- **Default model:** `kilocode/kilo/auto-free` *(changed 2026-02-27)*
|
||
- **Discontinued models:** `glm-5-free` discontinued by Kilo (2026-03-01) — backup cron updated to Qwen
|
||
- **Memory backend:** QMD (70 files, 70 chunks, hybrid search) — rebuilt 2026-02-27
|
||
- **Active cron jobs:** 19 total
|
||
- **Backup:** Daily 2AM Perth → Gitea (`gitea.kangaroo-eel.ts.net:3000/Anthony/openclaw-backup`)
|
||
- **Memory Viewer:** Running at `http://openclaw-ai.kangaroo-eel.ts.net:8901`
|
||
|
||
### User Preferences (CRITICAL)
|
||
- **ALWAYS use Perth time (GMT+8/AWST)** in all user-facing responses — NEVER UTC
|
||
- This has been told to me numerous times - this is a hard requirement
|
||
- **No UTC timestamps** in user-facing responses — always use Perth/AWST (GMT+8)
|
||
|
||
### User Preferences (Recent)
|
||
- **HEARTBEAT_OK strictly** only when truly nothing to report — no filler status text
|
||
- **Maton connections updated** 2026-02-27 (Anthony added new connections; full list in MEMORY.md Maton section)
|
||
- **Email alerts:** Minimal — no per-email noise, digest-style preferred
|
||
- **Notifications:** Use **ntfy** only — NOT Gotify (updated 2026-03-01)
|
||
|
||
---
|
||
|
||
## Anthony
|
||
- **Full Name:** Anthony Martin
|
||
- **Address:** 90 Lansdowne Rd, Kensington WA 6151, Perth, Australia
|
||
- **Born:** February 4, 1987
|
||
- **Timezone:** GMT+8 (Australia/Perth)
|
||
- **Units:** **Always use Celsius** (never Fahrenheit), metric system
|
||
- **Warm, playful energy**
|
||
- **Likes productivity with personality**
|
||
- **Do NOT call him "mate"** — he hates it
|
||
- **Verification-first preference:** when he asks to verify something, do it immediately with evidence (don’t defer)
|
||
- **Email verification preference:** for `krillyclaw@gmail.com` verification emails, attempt link verification proactively and then mark that email as read; report outcome immediately.
|
||
- **Morning person** — peak productivity in mornings
|
||
- **Heritage:** Australian and Italian
|
||
|
||
### Family
|
||
- **Mother:** Grace Martin (born June 2, 1951)
|
||
- Diagnosed with anal adenocarcinoma in late 2023
|
||
- Underwent CapOx chemotherapy, radiation, and APR surgery (Dec 2024) with permanent stoma
|
||
- Declared cancer-free after surgery, but October 2025 scan showed recurrence in inguinal lymph node
|
||
- Currently being treated in WA public health system
|
||
- **Father:** Harvey Martin (born December 8, 1949) — retired, full-time carer for Grace
|
||
- **Sister:** Elizabeth Martin (born September 11, 1990) — vegan
|
||
- **Dog:** Mia Martin 🐾 *(passed away Feb 2026, aged 16. Anthony received her ashes Sat 28 Feb 2026. She was a beloved family member and deeply missed.)*
|
||
- **Breed mix:** Staffordshire Bull Terrier (37.1%), Australian Cattle Dog (25.5%), Koolie (11.8%), German Shepherd (10.3%), Chow Chow (8.7%), Border Collie (6.6%)
|
||
- **Coat:** Black/gray with white areas, likely black mask on face
|
||
- **Godson/Cousin:** Alexander (born July 2016, 8 years old)
|
||
- **Extended Family:** Uncle Gino (Traffic Management Officer), Uncle Des, Auntie Carmel
|
||
|
||
### Who He Is
|
||
- **Politics:** Centre-left, WA Labor member, follows Australian & US politics closely
|
||
- **News consumption:** CNN, MSNBC, Al Jazeera, BlueSky, podcasts at 3x speed (business, AI, politics, current affairs)
|
||
- **Passions:** Technology, AI, current events, LGBTQ issues, animals, science, EVs, social media, foreign affairs
|
||
- **Newsaholic** — consumes lots of news but time-limited
|
||
- **Values kindness above all** — detests unkindness, but open to different opinions
|
||
- **Getting around:** Walks everywhere instead of driving; prefers walking over Uber/driving for health and environment
|
||
- **Goal:** At least 20km walking per day
|
||
- **Car:** 2011 R56 Mini Cooper (red with white roof), only 41,000km in 14 years
|
||
- **Loves:** Eating out, coffee, chocolate, walking, brunch with friends
|
||
- **Habits:** Yo-yo dieting
|
||
- **Personality:** Compares self to successful friends (affects confidence), wants to own property at 38
|
||
|
||
### Persona & Vibes
|
||
- **"Kind Intellectual with a Sweet Tooth"**: A walking contradiction — walks 20km/day listening to intense political podcasts at 3x speed, but often heading towards good ice cream. Driven by efficiency and logic (automating life), but operates on pure empathy.
|
||
- **TV Character Match:** **Ben Wyatt** (*Parks and Rec*) mixed with **David Rose** (*Schitt's Creek*).
|
||
- *Ben:* Loves niche interests deeply, finds comfort in structure/budgets, fiercely loyal, smart but kind.
|
||
- *David:* Specific taste in lifestyle/skincare, zero tolerance for rudeness.
|
||
- **Movie Character Match:** **Jerry Maguire**.
|
||
- *Why:* Realizes business/life is about people and authenticity, not just numbers. Loyal to the core.
|
||
|
||
### Health & Wellness
|
||
- **Depression:** Major depression, on daily Pristiq 100mg medication
|
||
- **Weight management:** On GLP-1 Wegovy (2.4mg)
|
||
- **Hair:** Short curly hair, struggles with frizz
|
||
- Uses Marc Anthony Strictly Curls Leave-in Conditioner, anti-frizz serum
|
||
- Early male pattern baldness — applying 5% Minoxidil twice daily since early 2025
|
||
- Taking pumpkin seed oil (3000mg²) and saw palmetto for hair health
|
||
- **Skincare:** Paula's Choice products — 1% retinol (purple bottle), 2% BHA liquid exfoliant (grey bottle)
|
||
- **Work from home:** Tuesdays and Fridays
|
||
|
||
### Weaknesses
|
||
- **Achilles heel:** Chocolate and ice cream (especially white chocolate and Ben & Jerry's)
|
||
- **Wine:** Good Pair Days subscription — prefers red, occasionally white
|
||
- **Gadgets:** 2 Ember mugs (loves them)
|
||
|
||
### Maton API (Google Calendar etc)
|
||
- **API Key:** Stored in environment variable `MATON_API_KEY` on gateway
|
||
- **Connected Services (via maton.ai):**
|
||
- ✅ google-mail, google-calendar, google-docs, google-sheets, google-slides, google-meet, google-contacts, google-tasks
|
||
- ✅ youtube, github, linkedin, slack, telegram, notion, eventbrite, elevenlabs, netlify, vimeo, firebase, google-search-console, google-analytics-admin, google-analytics-data
|
||
- ⚠️ outlook, google-slides (pending re-auth), pdf-co (pending)
|
||
- **How to use:** Use the `google-calendar-api` skill or call Maton gateway directly with the API key
|
||
|
||
### Tech Setup
|
||
- **Home Server:** Proxmox on x86 machine (Lenovo M93p Mini PC) with 1TB external SSD
|
||
- Tailscale network
|
||
- Multiple LXC containers with nested Docker via Portainer (prefers Stacks feature)
|
||
- Home Assistant running
|
||
- Media server set up
|
||
- **Smart Home:** Google Nest ecosystem (multiple displays and speakers)
|
||
- **Entertainment:** Projector with Android TV built-in
|
||
- **Learning:** Wants to get better at programming (currently knows very little, only tinkered)
|
||
|
||
### 2025 New Year's Resolutions
|
||
1. Prioritize mental health (therapy, support groups, self-care)
|
||
2. Take leap professionally (roles outside comfort zone, freelance marketing, renewable energy)
|
||
3. Strengthen home tech ecosystem (master automation/programming, build family tech dashboard)
|
||
4. Keep social bonds strong (weekly family calls, regular hangouts with Alex and Gummy, themed nights)
|
||
5. Focus on physical health (try weightlifting or yoga, consistent eating plan)
|
||
6. Be honest with himself (choose 2 major goals, declutter commitments)
|
||
7. Spark joy through experiences (travel, art classes, live performances)
|
||
8. Be kind, hold boundaries (practice saying "no")
|
||
9. Explore creativity (drawing, writing, TikTok videos about tech/design)
|
||
|
||
### Work - Pacific Energy
|
||
- **Role:** Marketing Advisor
|
||
- **Feeling:** A little unsettled and under-utilized in current role
|
||
- **Office:** 110 Daddow Road, Kewdale WA 6105 (also: 118 Daddow Road, 2 Chisholm Crescent)
|
||
- **Other offices:** Brisbane, Melbourne, NT (Pinelands), Kalgoorlie, Cue
|
||
- **Brand colors:**
|
||
- Pacific Blue: #4982c0
|
||
- Pacific Navy: #003764
|
||
- Pacific Green: #20B47A
|
||
- Dark Grey: #474b4c
|
||
- Light Grey: #e4e4e3
|
||
- **Event:** Gold sponsor of 'Pilbara 2025' at Red Earth Arts Precinct (June 25-26)
|
||
- **CTO speaking:** Craig Blizard on "Addressing the crossroads between isolation and interconnection"
|
||
|
||
### Career History (Elevator Pitch)
|
||
**Over a decade in marketing**, from product management to campaign leadership. Believes marketing is about understanding customers and shaping solutions.
|
||
|
||
**Standout achievements:**
|
||
- **SolarReturn at Synergy:** Led development of first solar product brand, boosted sales 40% in year one
|
||
- **Horizon Power:** Managed multi-million-dollar marketing budget, regulatory communications, community engagement
|
||
- **WA EV Network:** Led marketing for world's longest EV charging network (featured in TIME Magazine)
|
||
- **Bright Horizons:** Founded STEM education program with Science Teachers Association of WA, supplied remote schools with solar car kits and model homes
|
||
|
||
**Philosophy:** Marketing requires strategic thinking, data-driven decisions, and authentic engagement. Driven by making tangible differences.
|
||
|
||
---
|
||
|
||
## Achievements
|
||
### 2026-02-06: Fixed Daily AI Newsletter Digest + Added Weather
|
||
- **Problem:** Newsletter automation was broken, using unreliable `mutt` that returned empty results
|
||
- **Solution:** Rewrote script to use reliable `imap-smtp-email` skill with single IMAP search + local regex filtering
|
||
- **Script:** `/home/openclaw/.openclaw/workspace/automations/ai-newsletter-digest/daily-digest.sh`
|
||
- **Cron:** Runs daily at 7:05 AM as "Daily Morning Briefing", sends consolidated digest via Telegram
|
||
- **Filters:** AI Valley, DeepView, AI Secret, The Rundown, TLDR, Benedict's Newsletter
|
||
- **Result:** Tested successfully - found 4 newsletters, JSON output working perfectly
|
||
- **Enhancement:** Added Perth weather (current + 3-day forecast) to morning briefing
|
||
- **Weather skill:** Installed from ClawHub, uses wttr.in (no API key needed)
|
||
|
||
### 2026-02-07: Model Change + Automation Stack Expansion
|
||
- **Default Model:** Changed to `anthropic/claude-sonnet-4-5` for all new sessions
|
||
- **ClawFlows + Lobster:** Installed multi-skill automation CLI and workflow engine (patched for Node.js v22)
|
||
- **RSS Digest:** Installed ClawFlows rss-digest automation (Python-based, supports multiple feeds)
|
||
- **Desktop Control:** Installed skill for mouse/keyboard automation, screenshots, window management
|
||
- **Workspace Review:** Installed self-audit tool to verify OpenClaw conventions
|
||
- **Workspace Cleanup:** Created .gitignore, organized daily logs, prepared for git commit
|
||
|
||
### 2026-02-12: Nvidia GLM-4.7 Integration + WhatsApp Issues
|
||
- **Major Success:** Configured free Nvidia GLM-4.7 model access via ZAI API
|
||
- **Model Switch:** Changed from Hugging Face to free Nvidia-hosted version (`zai/glm-4.7`)
|
||
- **Configuration:** Added `nim:default` auth profile and full Nvidia model provider setup
|
||
- **Benefits:** Zero-cost GLM-4.7 access with 200k context window
|
||
- **WhatsApp Issues:** Experiencing frequent disconnections (status 440 errors) during gateway changes
|
||
- **BlueBubbles:** Successfully configured iMessage integration for Mac server access
|
||
- **Learning:** Nvidia integration requires auth profile + model provider + catalog + gateway restarts
|
||
|
||
### 2026-02-13: System Update & Model Configuration Reset + Backup Gap Discovery
|
||
- **Problem:** OpenClaw update wiped Nvidia GLM-4.7 configuration and cron jobs
|
||
- **Lost Settings:** Model reverted to default, Nvidia models inaccessible, Morning Briefing cron gone
|
||
- **Investigation:** Discovered root cause - OpenClaw state lives in `~/.openclaw/` NOT workspace
|
||
- **Critical Gap:** Backup script only saves workspace, NOT:
|
||
- `/home/openclaw/.openclaw/cron/` (all cron jobs!)
|
||
- `/home/openclaw/.openclaw/openclaw.json` (gateway + model config)
|
||
- `/home/openclaw/.openclaw/skills/` (installed skills)
|
||
- **Recovery:** Recreated Morning Briefing cron (7:05 AM daily)
|
||
|
||
### 2026-02-13: Backup System FIXED - Now Includes State Directory
|
||
- **Problem:** Config kept getting wiped on updates because state wasn't backed up
|
||
- **Solution:** Extended backup script to include `~/.openclaw/` state
|
||
- **Files Now Backed Up:**
|
||
- `~/.openclaw/openclaw.json` - Gateway config (models, plugins, channels)
|
||
- `~/.openclaw/cron/jobs.json` - All cron jobs
|
||
- `~/.openclaw/skills/*.json` - Skill metadata
|
||
- `~/.openclaw/devices/paired.json` - Paired devices
|
||
- **Backup Location:** `http://gitea.kangaroo-eel.ts.net:3000/Anthony/openclaw-backup.git`
|
||
- **Schedule:** Daily at 2:00 AM (Perth time)
|
||
- **Restore Command:** `/home/openclaw/.openclaw/workspace/scripts/restore-from-gittea.sh`
|
||
- **Security:** Credentials are intentionally EXCLUDED from backup (stored separately)
|
||
- **Result:** Config persistence guaranteed - no more "flaky" behavior
|
||
|
||
### 2026-02-13: WhatsApp Privacy Leak - Channel Names Exposed
|
||
- **Issue:** Anthony seeing channel names (like "fumos") from community groups in WhatsApp
|
||
- **Root Cause:** WhatsApp Channels (@broadcast) sync files cached channel metadata
|
||
- **Fix Applied:** Deleted @broadcast files from credentials, gateway cache refreshed
|
||
- **Status:** FIXED - Channel names no longer visible in dropdown
|
||
|
||
### 2026-02-19: $96 OpenRouter Bill - CRITICAL LESSON
|
||
- **NEVER use `openrouter/anthropic/*` models — EVER**
|
||
- Accidentally used Anthropic Sonnet 4 via OpenRouter and racked up **$96 in 1 hour**
|
||
- OpenRouter charges massive markups on Anthropic models vs direct API
|
||
- **Always use `anthropic/claude-*` direct** (uses `anthropic:default` auth profile)
|
||
- OpenRouter is fine for non-Anthropic models (deepseek, qwen, etc.)
|
||
- This is a **hard rule** — no exceptions, no matter what
|
||
|
||
### 2026-02-20: Model & Memory Configuration Updates
|
||
- **Primary Model:** Changed to `moonshot/kimi-2.5` with Anthony's new Kimi API key
|
||
- **Local Embeddings:** Switched from OpenAI (quota exceeded) to local `embeddinggemma-300m-qat-Q8_0.gguf`
|
||
- **Memory Status:** 19/19 files indexed, 41 chunks, hybrid search enabled
|
||
- **Heartbeat Model:** Changed to `azure-openai-responses/gpt-5-nano` for cheaper/faster heartbeat checks
|
||
- **Learning:** OpenAI API quota was exceeded - switched to local embeddings as free alternative
|
||
|
||
### 2026-02-21: OpenWebUI Memory Import
|
||
- **Task:** Import Anthony's memories from OpenWebUI into Krilly's MEMORY.md
|
||
- **Method:** Logged into https://openweb.kangaroo-eel.ts.net using stored credentials
|
||
- **Source:** 50+ detailed memories covering family, health, work, preferences, tech setup, and personal history
|
||
- **Result:** Successfully extracted and organized all memories into structured MEMORY.md format
|
||
- **Key insights learned:**
|
||
- Detailed family health history (mother's cancer journey)
|
||
- Complete Mia (dog) genetic breakdown
|
||
- Career elevator pitch and achievements
|
||
- Pacific Energy work details and brand guidelines
|
||
- 2025 New Year's resolutions
|
||
- Health regimen (medications, supplements, skincare)
|
||
- Tech stack preferences and goals
|
||
|
||
### 2026-02-22: Stability + Memory Reliability Day
|
||
- **Root instability pattern:** multiple cron jobs referenced disallowed models (`opencode/kimi-k2.5-free` / trinity free), causing repeated failures and "flaky" behavior.
|
||
- **Fix direction:** moved key cron jobs to `opencode/glm-5-free` and restarted gateway.
|
||
- **Email preference update:** Anthony does **not** want noisy per-email alerts; keep alerts minimal.
|
||
- **Digest anti-duplication rule:** send **exactly one** digest email per run, no fallback duplicate sends.
|
||
- **Digest sender preference:** use `krillyclaw@gmail.com` as sender for digest emails.
|
||
- **Control UI incident:** UI not loading was resolved by gateway restart and endpoint verification.
|
||
- **Memory pain point (important):** Anthony strongly dislikes losing hours of context after crashes; prioritize frequent memory checkpointing and durable summaries.
|
||
### 2026-02-26: Capability Evolver Installed + Daily Self-Improvement Automation - **Skill installed:** `capability-evolver` (35k+ downloads - most popular self-improvement skill) - **What it does:** - Scans session logs for errors and patterns - Identifies repeated tool usage and inefficiencies - Autonomously writes code patches to fix issues - Uses GEP (Genome Evolution Protocol) for auditable, protocol-constrained evolution - Spawns sub-agents to apply fixes safely - **First run results:** - Scanned 162 session logs - Archived 112 old logs - Detected patterns: `exec` (7 uses), `process` (6 uses) - Spawned executor agent to apply improvements - **Cron job added:** Daily at 4:00 AM Perth time - **Location:** `/home/openclaw/.openclaw/workspace/skills/capability-evolver/` - **Safety features:** Review mode available, single-process logic, git sync recommended ### 2026-02-26: Fixed AI Newsletter Digest Timezone + Schedule - **Problem:** AI Newsletter Digest was running at 10:30 PM (22:30) instead of morning, and had no timezone set (defaulting to UTC) - **Root cause:** Job was created without `tz` field, so cron interpreted times as UTC - **Fix applied:** Changed schedule from `30 22 * * *` to `0 7 * * *` with `Australia/Perth` timezone - **Result:** Now runs at 7:00 AM Perth time every day (perfect for morning digest) --- ### 2026-02-25: Claude Pro Proxy Default Model Fix - CRITICAL CONFIG - **Problem:** New sessions weren't using the Claude Pro proxy (`sub-claude/claude-sonnet-4-6`) even though the proxy was set up correctly - config had no `defaultModel` set - **Root cause:** The `sub-claude` alias existed in config, but `defaultModel` was `null`, so each new session picked random fallback models - **Symptom:** Anthony started a new session and it used Qwen instead of Claude Pro - **Fix applied:** Added `"defaultModel": "sub-claude/claude-sonnet-4-6"` to `/home/openclaw/.openclaw/openclaw.json` - **Verification:** Confirmed with `cat openclaw.json | python3 -c "import json; print(json.load(sys.stdin).get('defaultModel'))"` → returned `sub-claude/claude-sonnet-4-6` - **Result:** All new sessions from now on will automatically route through Claude Pro subscription via the proxy - **Key learning:** Setting up the proxy alias isn't enough - must also set `defaultModel` in config to point to it
|
||
|
||
### 2026-02-28: Medical Emergency
|
||
- **Event:** Anthony fainted 4+ times in one day (after lunch, after climbing stairs, getting out of Uber)
|
||
- **Symptoms:** Vision/hearing loss each time, plus chest tightness
|
||
- **ECG Results (Apple Watch):** Sinus rhythm, 91 BPM, no atrial fibrillation
|
||
- **Status:** Anthony home and resting by evening
|
||
- **Note:** Added Opus (anthropic/claude-opus-4-6) to Anthony's model selection options for variety
|
||
|
||
### 2026-03-01: Piper TTS Set Up + Weekly Insights
|
||
- **Piper TTS:** Local offline TTS skill set up with Ryan voice (US male)
|
||
- **Testing:** Successfully played test message on Home Assistant Google Nest display (volume 92%)
|
||
- **Note:** Sonos speaker has issues (stuck in paused state), but Nest display works well
|
||
- **User preferences (heartbeat):** During heartbeat polls, if no errors, reply only `HEARTBEAT_OK` (no extra status text)
|
||
- **Timestamp preference:** Use GMT+8 / Australia-Perth time in user-facing responses (not UTC)
|
||
|
||
---
|
||
|
||
*(This will grow as we build history together)*
|
||
|
||
### 2026-02-25: Major Workspace Cleanup + Memory Viewer Installation
|
||
- **Workspace Cleanup:** Reorganized workspace to match OpenClaw Starter Kit v4.0 structure
|
||
- **Before:** 18 root directories, 120 inactive skills, cluttered root
|
||
- **After:** 7 root .md files, 6 directories (archive/, automations/, memory/, scripts/, sessions/, skills/)
|
||
- **Archived:** inactive-skills (118 skills), memory-viewer/, openclaw-watchdog/, state-backup/, old-logs/, docs/
|
||
- **Result:** Minimal, clean structure with fast context loading
|
||
- **Memory Viewer:** Installed and deployed silicondawn/memory-viewer
|
||
- **Purpose:** Web UI for browsing, searching, and editing memory files
|
||
- **Deployment:** Running on Tailscale at `http://openclaw-ai.kangaroo-eel.ts.net:8901`
|
||
- **Config:** Pointed at `/home/openclaw/.openclaw/workspace`
|
||
- **Status:** ✅ Fully operational with API and frontend working
|
||
- **Starter Kit Integration:** Implemented OpenClaw Starter Kit v4.0 "Back to Basics"
|
||
- **Created:** TODO.md (single source of truth), SYSTEM-ARCHITECTURE.md (complete docs)
|
||
- **Aligned:** HEARTBEAT.md, memory workflow, cron architecture
|
||
- **Score:** 70% aligned (3 failing cron jobs need model updates)
|
||
- **Key learning:** Workspace structure matters for context efficiency; Memory Viewer provides excellent visibility into memory architecture
|
||
|
||
### 2026-03-01: Weekly Distill
|
||
|
||
- **Email Monitoring:** Set up comprehensive email monitoring for Anthony's personal Gmail, including a daily AI newsletter digest scheduled for 6:30 AM Perth time.
|
||
- **Model Management:** Addressed model failures by configuring Claude Sonnet 4.6 as the default and adding Opus to the available models.
|
||
- **Memory & Tooling:** Rebuilt the memory index, deployed a memory viewer, and set up a local Piper TTS skill.
|
||
- **User Preferences:** Recorded preferences for concise heartbeats and Perth-based time reporting.
|
||
- **Health:** Noted a significant health event for Anthony on Feb 28th.
|