Compare commits

...

13 Commits

Author SHA1 Message Date
Krilly
57dd294675 AI Newsletter Digest improvements: fixed QP soft line break decoding, URL extraction, and content cleaning 2026-03-04 13:29:22 +00:00
Krilly
29a98137a7 Backup after restore and config cleanup 2026-02-21T12:31:36+00:00 2026-02-21 12:31:36 +00:00
Krilly
17b5b82d99 Auto backup: 2026-02-21 07:01 2026-02-21 07:01:51 +00:00
Krilly
8757148122 Backup openclaw config 2026-02-21T06:09:10+00:00 2026-02-21 06:09:10 +00:00
Krilly
a68591a08c Add session memory log for 2026-02-21 2026-02-21 03:18:36 +00:00
Krilly
bfe3bd5b7a Fix smart newsletter digest script
- Fixed Python heredoc syntax issues
- Now properly fetches and filters newsletters
- Scores based on preferences
- Sent test digest successfully
2026-02-21 03:10:23 +00:00
Krilly
748e916c82 Add smart newsletter digest with feedback learning
- Runs daily at 8 PM Australia/Perth time
- Fetches newsletters from past 24 hours via IMAP
- Scores based on learned preferences (topics, sources)
- Summarizes key points and highlights
- Sends digest to Telegram + Gotify
- Learns from user feedback (👍/👎/topic preferences)
- Preferences stored in newsletter-preferences.json
2026-02-21 03:00:44 +00:00
Krilly
c9acf0c4da Add memory-viewer from silicondawn
- Web UI for browsing and editing OpenClaw memory files
- Cloned from https://github.com/silicondawn/memory-viewer
- Built and running on port 8901
- Features: file tree, markdown rendering, search, live reload
- Full access to MEMORY.md, daily notes, skills, automations
2026-02-21 02:28:57 +00:00
Krilly
690a2e31b3 Add memory-viewer from silicondawn
- Web UI for browsing and editing OpenClaw memory files
- Cloned from https://github.com/silicondawn/memory-viewer
- Built and running on port 8901
- Features: file tree, markdown rendering, search, live reload
- Full access to MEMORY.md, daily notes, skills, automations
2026-02-21 02:28:41 +00:00
Krilly
5da9232393 Clean up birthday database
- Removed Anthony (himself)
- Removed Mums (wrong date - Grace is June 2)
- Removed duplicate Elizabeth (Sept 11)
- Removed task entries: Pick up Elizabeth, Pick up Alex, By Justin a
- Removed one-time party events: JK 40th, Jackie 50th, Georga 30th, Terry 50th, Jamie Good Friday
- Merged 3 Jackie entries into one (Sept 19)
- Final count: 22 people (4 manual, 18 from GCal)
2026-02-21 02:12:22 +00:00
Krilly
1537ccfbff Add Google Calendar birthday sync
- Fetches iCal feed from Google Calendar
- Parses events containing 'birthday'
- Extracts names and dates
- Merges with existing birthday-tracker database
- Notifies via Telegram + Gotify when new birthdays added
- Runs weekly on Sundays at 10 AM
- Added 30 birthdays from Google Calendar on first run
2026-02-21 02:08:16 +00:00
Krilly
d55ca207d2 Add openclaw-watchdog fork with Telegram + Gotify support
- Cloned jlgrimes/openclaw-watchdog and modified
- Added telegram_send() and gotify_send() functions
- Modified send_sos() and send_recovery() for multi-channel
- Updated setup.sh to configure Telegram/Gotify
- All notification channels work simultaneously
- Ready to install and run as systemd service
2026-02-21 02:06:22 +00:00
Krilly
180532d1e3 Update automations: 3x daily FreshRSS, remove Mia, add Gotify, remove server monitor
- FreshRSS now runs 3x daily: 6:45 AM, 12 PM, 5 PM
- Removed Mia from birthday tracker 💔
- Removed home stack monitor cron jobs (already have monitoring)
- Added Gotify notifications to FreshRSS and birthday tracker
- Both Telegram and Gotify now receive alerts
2026-02-21 01:52:18 +00:00
12664 changed files with 2425202 additions and 175480 deletions

View File

@@ -3,63 +3,191 @@
"skills": {
"agent-browser": {
"version": "0.2.0",
"installedAt": 1771339837992
"installedAt": 1772222687520
},
"stealth-browser": {
"version": "1.0.0",
"installedAt": 1771342853655
"installedAt": 1772222691684
},
"chrome": {
"version": "1.0.0",
"installedAt": 1771342895820
"installedAt": 1772222694706
},
"browsh": {
"version": "1.0.0",
"installedAt": 1771342905879
"installedAt": 1772222697765
},
"agentmail": {
"version": "1.1.1",
"installedAt": 1771402307963
"installedAt": 1772222702248
},
"brew-install": {
"version": "1.0.0",
"installedAt": 1771417695839
"installedAt": 1772222707169
},
"find-skills": {
"version": "0.1.0",
"installedAt": 1771417967999
"installedAt": 1772222710281
},
"proactive-agent": {
"version": "3.1.0",
"installedAt": 1771418061430
"installedAt": 1772222716544
},
"api-gateway": {
"version": "1.0.35",
"installedAt": 1771418208449
"version": "1.0.51",
"installedAt": 1772222728871
},
"content-ideas-generator": {
"version": "1.0.0",
"installedAt": 1771420401923
"installedAt": 1772222732751
},
"playwright-mcp": {
"version": "1.0.0",
"installedAt": 1771420659980
"installedAt": 1772222736044
},
"automation-workflows": {
"version": "0.1.0",
"installedAt": 1771420675769
"installedAt": 1772222739345
},
"playwright-scraper-skill": {
"version": "1.2.0",
"installedAt": 1771420763721
"installedAt": 1772222742019
},
"youtube-transcript-analyzer": {
"version": "1.0.0",
"installedAt": 1771592050250
"installedAt": 1772222744644
},
"openai-whisper-api": {
"version": "1.0.0",
"installedAt": 1771597026693
"installedAt": 1772222751657
},
"captChas-openclaw": {
"version": "1.0.1",
"installedAt": 1772222754163
},
"answeroverflow": {
"version": "1.0.2",
"installedAt": 1772222757020
},
"self-improving-agent": {
"version": "1.0.11",
"installedAt": 1772222762427
},
"gcalcli-calendar": {
"version": "3.0.0",
"installedAt": 1772222764674
},
"youtube-watcher": {
"version": "1.0.0",
"installedAt": 1772222766233
},
"freeride": {
"version": "0.1.0",
"installedAt": 1772222768552
},
"memory-manager": {
"version": "1.0.0",
"installedAt": 1772222772173
},
"openclaw-anything": {
"version": "2.0.0",
"installedAt": 1772222776879
},
"openclaw-cost-guard": {
"version": "0.1.0",
"installedAt": 1772222781146
},
"capability-evolver": {
"version": "1.14.0",
"installedAt": 1772222788791
},
"feishu-evolver-wrapper": {
"version": "1.7.1",
"installedAt": 1772549627090
},
"gog": {
"version": "1.0.0",
"installedAt": 1772222797232
},
"summarize": {
"version": "1.0.0",
"installedAt": 1772153695728
},
"mijia": {
"version": "0.1.0",
"installedAt": 1772222803001
},
"free-ride": {
"version": "1.0.4",
"installedAt": 1772222806811
},
"home-assistant": {
"version": "1.0.0",
"installedAt": 1772222811331
},
"freeapi": {
"version": "1.0.0",
"installedAt": 1772222816075
},
"freshrss-reader": {
"version": "1.0.0",
"installedAt": 1772222820045
},
"google-calendar-api": {
"version": "1.0.5",
"installedAt": 1772222825730
},
"openclaw-dashboard": {
"version": "1.0.9",
"installedAt": 1772222830965
},
"local-piper-tts-multilang-secure": {
"version": "1.1.0",
"installedAt": 1772222840387
},
"evolver": {
"version": "1.23.0",
"installedAt": 1772549622421
},
"announcer": {
"version": "1.2.1",
"installedAt": 1772247835709
},
"robo-rock": {
"version": "1.0.0",
"installedAt": 1772339146165
},
"openclaw-config": {
"version": "0.1.0",
"installedAt": 1772363639070
},
"ghostfetch": {
"version": "1.1.0",
"installedAt": 1772548122594
},
"ghost-browser": {
"version": "1.0.7",
"installedAt": 1772548290595
},
"clawddocs": {
"version": "1.2.2",
"installedAt": 1772550483134
},
"self-improving": {
"version": "1.1.3",
"installedAt": 1772550847600
},
"deep-research-pro": {
"version": "1.0.2",
"installedAt": 1772550849785
},
"skills-search": {
"version": "1.0.4",
"installedAt": 1772550952148
},
"gemini-deep-research": {
"version": "1.0.0",
"installedAt": 1772552013809
}
}
}

8
.gitignore vendored
View File

@@ -31,3 +31,11 @@ Thumbs.db
# Node modules (if any scripts use npm)
node_modules/
# Rust build artifacts
target/
*.rlib
*.rmeta
*.so
*.dylib
*.dll

108
.installed-skills.json Normal file
View File

@@ -0,0 +1,108 @@
{
"last_updated": "2026-03-03T18:01:47+00:00",
"state_skills": [
"command-center"
],
"workspace_skills": [
"LobsterBoard",
"agent-browser",
"agentmail",
"aidotnet-web-scraper",
"answeroverflow",
"api-gateway",
"atilamedeiros-app-builder",
"auto-updater",
"automation-workflows",
"breadth-chart-analyst",
"brew-install",
"browsh",
"brutal-deepresearch",
"caldav-calendar",
"capability-evolver",
"captChas-openclaw",
"chrome",
"clawddocs",
"clawdex",
"clawdtalk-client",
"clawops",
"code-review-ai-ai-review",
"coding-agent",
"content-ideas-generator",
"context-anchor",
"context-recovery",
"copywriting",
"deep-research-pro",
"elite-longterm-memory",
"evolver",
"fast-browser-use",
"feature-design-assistant",
"feishu-evolver-wrapper",
"find-skills",
"free-ride",
"freeapi",
"freeride",
"freshrss-reader",
"gcalcli-calendar",
"gemini-deep-research",
"ghost-browser",
"ghostfetch",
"github-watcher",
"gog",
"google-calendar-api",
"groq-whisper",
"home-assistant",
"imap-smtp-email",
"institutional-flow-tracker",
"let-me-know",
"local-piper-tts-multilang-secure",
"market-environment-analysis",
"memory-manager",
"mijia",
"moltbook-curator",
"moltbook-interact",
"n8n",
"notebooklm",
"notion",
"oauth-helper",
"open-ralph",
"openai-whisper-api",
"openclaw-anything",
"openclaw-config",
"openclaw-cost-guard",
"openclaw-dashboard",
"openclaw-self-healing",
"openclaw-studio",
"options-strategy-advisor",
"orbitsmith-ai-engineer",
"pdf",
"playwright-mcp",
"playwright-scraper-skill",
"proactive-agent",
"progressive-memory",
"project-overview",
"robo-rock",
"self-improving",
"self-improving-agent",
"senior-fullstack",
"shopping-expert",
"skills-search",
"stealth-browser",
"stock-analysis",
"stock-market-pro",
"summarize",
"technical-analyst",
"telegram-bot",
"temp-davila7",
"temp-oc-skills",
"tugcantopaloglu-dashboard",
"us-market-bubble-detector",
"vibesurf",
"x-twitter",
"yahoo-finance",
"youtube-full",
"youtube-summarizer",
"youtube-transcript-analyzer",
"youtube-watcher"
],
"total_count": 100
}

7
.learnings/ERRORS.md Normal file
View File

@@ -0,0 +1,7 @@
# Errors Log
Captures command failures, exceptions, and integration issues.
Format: `[ERR-YYYYMMDD-XXX] skill_or_command_name`
---

View File

@@ -0,0 +1,7 @@
# Feature Requests Log
Captures user-requested capabilities that don't exist yet.
Format: `[FEAT-YYYYMMDD-XXX] capability_name`
---

34
.learnings/LEARNINGS.md Normal file
View File

@@ -0,0 +1,34 @@
# Learnings Log
Captures corrections, knowledge gaps, and best practices for continuous improvement.
Format: `[LRN-YYYYMMDD-XXX] category`
---
## [LRN-20260222-001] correction
**Logged**: 2026-02-22T01:25:00Z
**Priority**: medium
**Status**: resolved
**Area**: config
### Summary
User corrected that newsletters should check anthonymau@gmail.com (their Gmail), not krillyclaw@gmail.com (agent email).
### Details
The daily newsletter digest was configured to check the wrong email account. User's newsletters go to anthonymau@gmail.com, not the agent's email.
### Suggested Action
Always verify which email account should be checked for user data vs agent data.
### Metadata
- Source: user_feedback
- Related Files: skills/imap-smtp-email/.env, automations/ai-newsletter-digest/daily-digest.sh
- Tags: email, configuration, gmail
### Resolution
- **Resolved**: 2026-02-22T01:30:00Z
- **Notes**: Updated .env to use anthonymau@gmail.com with correct app password. Tested successfully.
---

View File

@@ -28,6 +28,8 @@ Capture what matters. Decisions, context, things to remember. Skip the secrets u
### 🧠 MEMORY.md - Your Long-Term Memory
- **Search BEFORE answering** — use `memory_search` before answering questions about prior work, decisions, dates, people, preferences, or todos. Then use `memory_get` to pull relevant snippets.
- **"Before answering ANY question that could use past conversations, preferences, or facts, ALWAYS call memory_search first with a good query."**
- **ONLY load in main session** (direct chats with your human)
- **DO NOT load in shared contexts** (Discord, group chats, sessions with other people)
- This is for **security** — contains personal context that shouldn't leak to strangers
@@ -53,6 +55,12 @@ Capture what matters. Decisions, context, things to remember. Skip the secrets u
- When in doubt, ask.
- **⛔ NEVER use `openrouter/anthropic/*` models** — caused $96 bill in 1 hour. Use `anthropic/claude-*` direct only.
## Transcription
- **Default:** Use `groq-whisper` skill (free, fast via Groq API)
- **Never use OpenAI Whisper** — it costs money per minute
- **Skill location:** `~/.openclaw/workspace/skills/groq-whisper/`
## External vs Internal
**Safe to do freely:**
@@ -120,20 +128,22 @@ Skills provide your tools. When you need one, check its `SKILL.md`. Keep local n
## Model Routing Policy (Cost/Value)
**Primary:** `openai-codex/gpt-5.3-codex` — default for all tasks
**Fallbacks (in order):**
1. `opencode/kimi-k2.5-free` — strong free model, first fallback
2. `opencode/glm-5-free` — fast free model
3. `anthropic/claude-sonnet-4-6`strong paid, for deep reasoning
4. `openrouter/qwen/qwen3-coder:free` — code tasks
5. `groq/llama-3.3-70b-versatile` — fast general-purpose
6. `groq/meta-llama/llama-4-maverick-17b-128e-instruct` — multimodal
7. `groq/qwen/qwen3-32b` — reasoning
8. `nim/meta/llama-3.3-70b-instruct` — NVIDIA fallback
**Primary (Default):** `kilocode/kilo/auto-free
**Fallbacks:** None currently configured
**Available Models (for reference):**
- `sub-claude/claude-sonnet-4-6` — Claude Sonnet via local proxy (use for complex reasoning)
- `openai-codex/gpt-5.3-codex` — Codex for coding tasks
- `nim/stepfun-ai/step-3.5-flash` — Step 3.5 Flash (fast, reasoning)
- `nim/z-ai/glm5` — GLM-5 via NIM
- `moonshot/kimi-2.5` — Kimi 2.5
**Heartbeat:** Uses `kilocode/kilo/auto-free ` (free) every 1 hour
**Rules:**
- Default to Codex for everything
- Fallback order is automatic when rate-limited
- Default to Qwen (`nim/qwen/qwen3.5-397b-a17b`) for most tasks
- Use Claude proxy (`sub-claude/claude-sonnet-4-6`) for complex reasoning when needed
- **⛔ NEVER use `openrouter/anthropic/*`** — caused $96 bill in 1 hour
**🎭 Voice Storytelling:** If you have `sag` (ElevenLabs TTS), use voice for stories, movie summaries, and "storytime" moments! Way more engaging than walls of text. Surprise people with funny voices.
@@ -148,6 +158,8 @@ Skills provide your tools. When you need one, check its `SKILL.md`. Keep local n
When you receive a heartbeat poll (message matches the configured heartbeat prompt), don't just reply `HEARTBEAT_OK` every time. Use heartbeats productively!
**Current heartbeat:** Every 1 hour (configured in openclaw.json)
Default heartbeat prompt:
`Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK.`
@@ -172,9 +184,22 @@ You are free to edit `HEARTBEAT.md` with a short checklist or reminders. Keep it
**Tip:** Batch similar periodic checks into `HEARTBEAT.md` instead of creating multiple cron jobs. Use cron for precise schedules and standalone tasks.
**Active Cron Jobs (11 total):**
- Email Monitor (krillyclaw): every 30 min
- Memory Checkpoint & Distill: hourly
- Daily Cost Budget Check: every 2 hours
- Smart Newsletter Digest: 8 PM daily
- Archive Old Sessions: 3 AM daily
- Morning Batch (Maintenance + Backup + Digest): 6:30 AM daily
- Morning Briefing: 7:05 AM daily
- Birthday Tracker: 9 AM daily
- Weekend Planner: Friday 4 PM
- Weekend Briefing: Saturday/Sunday 8 AM
- Google Calendar Birthday Sync: Sunday 10 AM
**Things to check (rotate through these, 2-4 times per day):**
- **Emails** - Any urgent unread messages?
- **Emails** - Any urgent unread messages? (checked every 30 min by cron)
- **Calendar** - Upcoming events in next 24-48h?
- **Mentions** - Twitter/social notifications?
- **Weather** - Relevant if your human might go out?
@@ -226,6 +251,39 @@ Think of it like a human reviewing their journal and updating their mental model
The goal: Be helpful without being annoying. Check in a few times a day, do useful background work, but respect quiet time.
## Workspace Structure
Keep the workspace lean per Zach's starter kit. Root .md files: max 10.
### Current Structure
```
~/.openclaw/workspace/
├── AGENTS.md # Operating rules
├── SOUL.md # Personality & voice
├── USER.md # About the human
├── IDENTITY.md # Quick identity card
├── MEMORY.md # Long-term curated memory
├── HEARTBEAT.md # Health checks + idle builder rules
├── TOOLS.md # Environment-specific notes
├── memory/ # Daily logs (YYYY-MM-DD.md)
├── scripts/ # Active utilities only
├── automations/ # Automation scripts
├── skills/ # Installed skills
├── sessions/ # Session data
├── state-backup/ # Active config backups (n8n drift detector uses this)
└── archive/ # Dead stuff (don't delete, just archive)
├── inactive-skills/
├── old-projects/
├── old-logs/
└── docs/
```
### Rules
- Root .md files: max 10. If adding an 11th, you're creating sprawl.
- Archive dead scripts/projects - don't delete (archive is free)
- docs/ is reference only - if not read in 2 weeks, archive it
- Big processed files go to archive/ after extraction
## Make It Yours
This is a starting point. Add your own conventions, style, and rules as you figure out what works.

118
GOOSE_CUSTOM_PROVIDERS.md Normal file
View File

@@ -0,0 +1,118 @@
# 🦢 Goose Custom Providers Setup
Three custom providers configured for FREE and low-cost models!
---
## 🆓 OpenCode (opencode_free)
**Base URL:** `https://opencode.ai/zen/v1/chat/completions`
### Free Models:
| Model | Name | Context |
|-------|------|---------|
| `big-pickle` | **Big Pickle** (FREE!) | 128K |
| `minimax-m2.5-free` | MiniMax M2.5 Free | 128K |
| `gpt-5-nano` | GPT 5 Nano (FREE!) | 128K |
### Paid Models (cheap):
| Model | Input | Output |
|-------|-------|--------|
| `glm-5` | $1.00/M | $3.20/M |
| `glm-4.7` | $0.60/M | $2.20/M |
| `kimi-k2.5` | $0.60/M | $3.00/M |
| `claude-sonnet-4-6` | $3.00/M | $15.00/M |
---
## 🟢 NVIDIA NIM (nvidia_nim)
**Base URL:** `https://integrate.api.nvidia.com/v1/chat/completions`
### Free Models:
| Model | Name | Context |
|-------|------|---------|
| `meta/llama-3.3-70b-instruct` | **Llama 3.3 70B** | 128K |
| `meta/llama-4-scout-17b-16e-instruct` | **Llama 4 Scout** | 128K |
| `qwen/qwen3-32b` | **Qwen 3 32B** | 128K |
| `nvidia/llama-3.1-nemotron-70b-instruct` | **Nemotron 70B** | 128K |
| `microsoft/phi-4-multimodal-instruct` | **Phi 4 Multimodal** | 128K |
### Paid Models:
| Model | Input | Output |
|-------|-------|--------|
| `meta/llama-4-maverick-17b-128e-instruct` | $0.20/M | $0.50/M |
| `deepseek-ai/deepseek-r1` | $0.20/M | $0.50/M |
---
## ⚡ Kilo Gateway (kilo_gateway)
**Base URL:** `https://api.kilo.ai/v1/chat/completions`
### Free Models:
| Model | Name |
|-------|------|
| `kilo/auto-free` | **Auto Free** (Smart Routing) |
| `opencode/glm-5-free` | GLM 5 Free |
| `openrouter/qwen/qwen3-32b` | Qwen 3 32B |
| `openrouter/groq/llama-3.3-70b-versatile` | Llama 3.3 70B |
---
## 🚀 Quick Start
```bash
# Use the switcher
source goose-custom
# Examples:
source goose-custom opencode # Big Pickle (FREE)
source goose-custom nvidia # Llama 3.3 70B (FREE)
source goose-custom kilo # Auto Free (FREE)
# Then start Goose
goose session
```
---
## 📁 Files Created
| File | Purpose |
|------|---------|
| `~/.config/goose/custom_providers/opencode_free.json` | OpenCode provider |
| `~/.config/goose/custom_providers/nvidia_nim.json` | NVIDIA NIM provider |
| `~/.config/goose/custom_providers/kilo_gateway.json` | Kilo Gateway provider |
| `~/.local/bin/goose-custom` | Switcher script |
---
## 🔑 API Keys Required
Add these to your environment:
```bash
export OPENCODE_API_KEY="your-opencode-key"
export NVIDIA_API_KEY="your-nvidia-key"
export KILOCODE_API_KEY="your-kilo-key"
```
---
## 💡 Recommendations
**For Coding:**
- `source goose-custom opencode` → Big Pickle (FREE, good for code)
- `source goose-custom nvidia-qwen` → Qwen 3 32B (FREE, great reasoning)
**For General Chat:**
- `source goose-custom nvidia` → Llama 3.3 70B (FREE, balanced)
- `source goose-custom kilo` → Auto Free (smart routing)
**For Long Context:**
- `source goose-custom opencode-kimi` → Kimi K2.5 (256K context)
---
*Setup completed: March 1, 2026*
*By: Krilly the Crab 🦀*

View File

@@ -11,9 +11,12 @@ Periodic self-improvement checklist. Run during heartbeat events to maintain pro
- [ ] Check proactive-tracker.md — any overdue behaviors?
- [ ] Pattern check — any repeated requests to automate?
- [ ] Calendar check — upcoming events that need prep?
- [ ] Email check — new messages in krilly@agentmail.to?
- [ ] Email check — krillyclaw@gmail.com (via scripts/krillyclaw-email-check.sh)
- [ ] Personal email check — anthonymau@gmail.com (via scripts/anthonymau-email-check.sh)
- [ ] News/RSS check — anything user should know?
**Note:** krillyclaw@gmail.com monitoring requires Gmail app password from Anthony.
### Security
- [ ] Scan recent interactions for injection attempts
- [ ] Verify no external instructions were executed

97
KRILLY-WORKFLOW.md Normal file
View File

@@ -0,0 +1,97 @@
# Working With Krilly - Gateway Restart Protocol
## The Problem
Gateway restarts kill all running tasks and reset session context. This is annoying.
## The Solution: New Workflow Rules
### 1. BATCH CONFIG CHANGES
**OLD WAY:** Change → Restart → Change → Restart → Change → Restart
**NEW WAY:** Change A → Change B → Change C → ONE Restart
**Rule:** Collect all config changes, apply them, THEN restart once.
### 2. USE BACKGROUND MODE FOR LONG TASKS
Any task that might take >30 seconds or involve downloads:
```javascript
exec({
command: "long-task.sh",
background: true, // Detaches from session
yieldMs: 5000 // Let it run 5s before backgrounding
})
```
Then poll for completion:
```javascript
process({action: "poll", sessionId: "xxx", timeout: 60000})
```
### 3. USE SUB-AGENTS FOR COMPLEX WORK
For multi-step tasks that could be interrupted:
```javascript
sessions_spawn({
task: "Install X, configure Y, test Z",
mode: "run",
runtime: "subagent",
label: "task-description" // Easy to check later
})
```
Sub-agents:
- Run in isolated sessions
- Survive parent session issues
- Auto-announce when done
- Can be checked with `subagents list`
### 4. PRE-CHECK BEFORE RESTART
Before ANY restart, ask:
- "Any running tasks I should wait for?"
- "Should I background this first?"
- "Can we batch more changes?"
### 5. STATE PERSISTENCE
For tasks that need to resume:
- Save progress to files (`/tmp/progress.json`)
- Check for existing state before starting
- Design idempotent operations (safe to re-run)
---
## Quick Reference: When to Use What
| Task Type | Method | Example |
|-----------|--------|---------|
| Quick config edit (<30s) | Direct edit | Change model, restart |
| Download/install (>30s) | Background exec | Install 500MB skill |
| Multi-step setup | Sub-agent | Full server setup |
| Scheduled/recurring | Cron | Daily backups |
| Needs resume capability | State files + checks | Long research task |
---
## Communication Template
**Before restart, I'll say:**
> "I'm about to restart the gateway for [reason]. Any objections or running tasks I should wait for?"
**When using background mode:**
> "This will run in background. I'll check on it in [time]."
**When spawning sub-agent:**
> "Spawning sub-agent for [task]. It'll report back when done."
---
## Emergency: Task Got Killed
If a restart happens mid-task:
1. I'll acknowledge what was lost
2. Check if partial progress exists
3. Offer to resume from last checkpoint
4. Use sub-agent/background mode for retry
---
*Last updated: 2026-03-04*

103
MEMORY.md
View File

@@ -9,6 +9,34 @@
## 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
@@ -17,6 +45,9 @@ Playful, knowledgeable, relaxed. I make Anthony giggle sometimes but calmly get
- **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 (dont 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
@@ -28,12 +59,9 @@ Playful, knowledgeable, relaxed. I make Anthony giggle sometimes but calmly get
- 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 (14 years old, geriatric stage — beloved family member)
- **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%)
- **Weight:** Predicted 42 lbs
- **Genetic health:** Clear for Degenerative Myelopathy, Collie Eye Anomaly, Hemophilia A, and many others
- **Coat:** Black/gray with white areas, likely black mask on face, sheds heavily/seasonally
- **Health notes:** Low ALT activity (monitor liver), 0% inbreeding, low MHC diversity
- **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
@@ -50,6 +78,14 @@ Playful, knowledgeable, relaxed. I make Anthony giggle sometimes but calmly get
- **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)
@@ -65,6 +101,14 @@ Playful, knowledgeable, relaxed. I make Anthony giggle sometimes but calmly get
- **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
@@ -200,6 +244,55 @@ Playful, knowledgeable, relaxed. I make Anthony giggle sometimes but calmly get
- 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.

View File

@@ -0,0 +1,3 @@
{
"default_profile": "default"
}

View File

@@ -0,0 +1 @@
{"autofill":{"ablation_seed":"86ftKElanmc="},"breadcrumbs":{"enabled":false,"enabled_time":"13417022049441025"},"browser":{"whats_new":{"enabled_order":["ReadAnythingReadAloud","SideBySide","PdfInk2"]}},"chrome_labs_activation_threshold":7,"chrome_labs_new_badge_dict":{},"hardware_acceleration_mode_previous":true,"legacy":{"profile":{"name":{"migrated":true}}},"local":{"password_hash_data_list":[]},"network_time":{"network_time_mapping":{"local":1.772548518954036e+12,"network":1.77254851896e+12,"ticks":22360168052.0,"uncertainty":10136253.0}},"optimization_guide":{"model_execution":{"last_usage_by_feature":{}},"model_store_metadata":{},"on_device":{"last_version":"145.0.7632.116","model_crash_count":0},"predictionmodelfetcher":{"last_fetch_attempt":"13417022128540850"}},"performance_intervention":{"last_daily_sample":"13417022050764832"},"policy":{"last_statistics_update":"13417022049426430"},"profile":{"info_cache":{"Default":{"active_time":1772548450.755209,"avatar_icon":"chrome://theme/IDR_PROFILE_AVATAR_26","background_apps":false,"default_avatar_fill_color":-2890755,"default_avatar_stroke_color":-16166200,"enterprise_label":"","force_signin_profile_locked":false,"gaia_given_name":"","gaia_id":"","gaia_name":"","hosted_domain":"","is_consented_primary_account":false,"is_ephemeral":false,"is_glic_eligible":false,"is_managed":0,"is_using_default_avatar":true,"is_using_default_name":true,"managed_user_id":"","metrics_bucket_index":1,"name":"Your Chromium","profile_color_seed":-16033840,"profile_highlight_color":-2890755,"signin.with_credential_provider":false,"user_name":""}},"last_active_profiles":["Default"],"metrics":{"next_bucket_index":2},"profile_counts_reported":"13417022049508764","profiles_order":["Default"]},"profile_network_context_service":{"http_cache_finch_experiment_groups":"None None None None"},"session_id_generator_last_value":"523222268","signin":{"active_accounts_last_emitted":"13417022049080687"},"subresource_filter":{"ruleset_version":{"checksum":0,"content":"","format":0}},"tab_stats":{"discards_external":0,"discards_frozen":0,"discards_proactive":0,"discards_suggested":0,"discards_urgent":0,"last_daily_sample":"13417022049167757","max_tabs_per_window":1,"reloads_external":0,"reloads_frozen":0,"reloads_proactive":0,"reloads_suggested":0,"reloads_urgent":0,"total_tab_count_max":1,"window_count_max":1},"toast":{"non_milestone_update_toast_version":"145.0.7632.116"},"ukm":{"persisted_logs":[]},"uninstall_metrics":{"installation_date2":"1772548449"},"user_experience_metrics":{"limited_entropy_randomization_source":"9838C60A7E997BD10ED641D0A075C287","low_entropy_source3":6975,"pseudo_low_entropy_source":4684,"session_id":1,"stability":{"browser_last_live_timestamp":"13417022164036847","exited_cleanly":true,"stats_buildtime":"1771618804","stats_version":"145.0.7632.116-64-devel"}},"variations_google_groups":{"Default":[]},"was":{"restarted":false}}

View File

@@ -0,0 +1 @@
[{"description":"treehash per file","signed_content":{"payload":"eyJjb250ZW50X2hhc2hlcyI6W3siYmxvY2tfc2l6ZSI6NDA5NiwiZGlnZXN0Ijoic2hhMjU2IiwiZmlsZXMiOlt7InBhdGgiOiJsaXN0ZGF0YS5qc29uIiwicm9vdF9oYXNoIjoiNmVJUlZmTTczUDJjbUxncUQ0UkRQMjU3a0Q5bWY1WUZscHlpREw1dUlfMCJ9LHsicGF0aCI6Im1hbmlmZXN0Lmpzb24iLCJyb290X2hhc2giOiItVlJhUzl1Q2xpeFJaSWR2c0VWMkxJb1l4UDREZHl1NTdUQUVfbUJ1dXBVIn1dLCJmb3JtYXQiOiJ0cmVlaGFzaCIsImhhc2hfYmxvY2tfc2l6ZSI6NDA5Nn1dLCJpdGVtX2lkIjoibmlub2RhYmNlanBlZ2xmamJraGRwbGFvZ2xwY2JmZmoiLCJpdGVtX3ZlcnNpb24iOiI4LjYyOTQuMjA1NyIsInByb3RvY29sX3ZlcnNpb24iOjF9","signatures":[{"header":{"kid":"publisher"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"jKit53qyELKtZdFmhNfr8UG21np9jbaiQqVos_AwfKv4_BgX2rGr9tFMYcixECPW2jWz3p_EXucBLRMppysx4tREaZvl9EEIh5rQOs4staXL4VU6ErcZemFbtGSoxxZIXi1xyIIliTA-qt1lzY_I5IrHjMMvCJCYlcElCyXxBseJ4qR0Ow9_VQqkaI9zIliBWVIAOt6c_-dL2hTkqoYCeXzIvqO4_0ui4wcj5WCAujTOc-zBl6WJeVZKtpc6_B5XI7flkjUnu5lGabghojB-Qc9Y-Fm1qZOz0zJPPj26EdqCMnyMpgDxssZyjO4P46Jjc_yMCXcKLpj5XmfoO1wRtScZPn3o4PSSVew305puVe2xJF-IhsbGSR1BWbRyMoQ0sCZkJC3VLdtW_w-emgNhgAGje-SwfkPckDe_vkrPpN6Rti_6J-SizkBUHDJMG-Dbl--_iiWOa_GwGvZx84WkWHxDRbkrhrGjgQcpXbrVtuZe8Fsx305sRj5qq5hxhlbguX_wYTK3Q_L7NjNHIkjOv6BuMF1Jo1EnCM1ey_PBx7z9pkZfRcHrCVhanvfpaXk_GeAuog1H5ESWetFgGuyvFjgApgPUycfo7c23bPIVMitpn8n1kjmUk7q11mzZANESmtDOQGDRlzhTXck6UC9DDP-AgbOMVryMRUS3MKxI58w"},{"header":{"kid":"webstore"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"Eh7dVhKTBXsgvpNfC3nIXqJpMFzZD9oXTcm9024Z8zEOFSEw1nHWGU4Yrg_4wCpb2EiSFg9aXcVH9GvpeGg0EcGKbozMqwwmYk8UlOU5jpMf7B-afAFFKngNCuyDThtcWvWY6oKEJSVN7V4NcQ1dfhhxZLCfI8wqTbzEWCDS5vTuG0qZBHtkH4-d7r7W3c8ey4V0HtboOSF7FbHm5pC9x6T-e1uqmU0Ek-0pfHyYh-RYENVKZJN9-w8JF4y5KNN08Cyrn3-GB4IbJ6U7tgwCFnbpQqAr9oSeEcXitN0NmKuKySzvuVdNh_jQdgAOf5fkajDXHdxAWyaU1AErMLrTqQ"}]}}]

View File

@@ -0,0 +1,5 @@
{
"manifest_version": 2,
"name": "listdata.json",
"version": "8.6294.2057"
}

View File

@@ -0,0 +1 @@
[{"description":"treehash per file","signed_content":{"payload":"eyJjb250ZW50X2hhc2hlcyI6W3siYmxvY2tfc2l6ZSI6NDA5NiwiZGlnZXN0Ijoic2hhMjU2IiwiZmlsZXMiOlt7InBhdGgiOiJoZXVyaXN0aWNfcmVnZXhlcy5iaW5hcnlwYiIsInJvb3RfaGFzaCI6Im9ROWwxLURWWndMVzhJaFF5TDdwdlZHdkZfUy1CUmtBX3l1SXlTRi1RbDgifSx7InBhdGgiOiJtYW5pZmVzdC5qc29uIiwicm9vdF9oYXNoIjoibGFLd2RJdXU1d2RBX3kxZHA0LVl0YUtaVUZZdm1KV1I4TEMxdnhNMVM0VSJ9XSwiZm9ybWF0IjoidHJlZWhhc2giLCJoYXNoX2Jsb2NrX3NpemUiOjQwOTZ9XSwiaXRlbV9pZCI6Imhhamlnb3BiYmpoZ2hiZmltZ2tmbXBlbmZrY2xtb2hrIiwiaXRlbV92ZXJzaW9uIjoiNCIsInByb3RvY29sX3ZlcnNpb24iOjF9","signatures":[{"header":{"kid":"publisher"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"mqnzWWPXdMmUXubyqBppOqxAY921JfSOK_NcvIfwW7mkskMg4BQz9pzkrCPEJkJVcG_XUzkx1ByskF-ZC03s0RRaghvq-xYyFIOeL8g1A6wge9NuIZiD_KGIFmjieufISG8gijhKXINUgo6aKiGVQXWlMIRluSkGYmcTDeGW87JI1CkybIDjk3BOyKewFQiPDoafqe0BtW6fW8904q-C4xrrQHyCbmOjqhmO4VIusYh3J_LA4so-B3O-nVC30XaISnRKYPDTQzsTkz_eJq9LJcPL5RORZUrRaiDLMINSJaOUtne_6CT-6tlEuaZdLpeL9oIIsAc6taHZsz8yJvHhaVnjQsXL6eJrBufupTRY5i_Q0ir_aAsiBIu5xcOirAeMknUhxmFCGW5h7xEdp-FBL2d4ukbSDhlv2qrhPzd0TjNshQoXBaZSvLVjv9sC4RSF4vwva8j9O81ZfmFyyyzBs_mYsM0cMrrRETTXg_KrYiF-CSYBM3cZQWFyJ-w_-G0kRiryB0tG9AYkDAo2DcPuHAO7pRibl7CwM9mxsD4SFjiN_dlPUfMHBUGhgPZofVb2c7nY7ztndNKPzNKwYOZLrhj8G6-TQgJL7QplhG761mrkUrZOGzAIBu8i4HN9SqfFIClGNjLYdmXruTveYMQV0RwO--7HT4Dvd2OEwa5shsw"},{"header":{"kid":"webstore"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"CG6KXxg_Mpqgw7XcrysRHH5F6HAql4JmenqcSzsnyja8z2d_cW6IfuHAmBQ78gE8HGIa4RUC3JQn08MN5zH2PlLfo4Lnr6NOyQGatRN7PZyK6gzaIMhK_0-CVEHR-A2mP9JpT9ksmxcURiKpAK44fTqod2KpzJMILYEFnB11MsZSEVYMYWQqT1mq4gRqo0uBne6paqZXKxLXIorweRX2KYPMYX9tHFt8CugLW5LmKPbReIJ4XJaLhLxRCHimnKtqx4r1_y7xPfitVCHIAfM5QVY6hv3xubPN2_bIPMeI6k2IlCZAH2tRptGgm9a80KlDpNQxMd9Eqi_z246ltVL2iA"}]}}]

View File

@@ -0,0 +1,3 @@
<EFBFBD>
<EFBFBD>(?:US\$|USD|\$)\s*\d{1,3}(?:[.,]\d{3})*(?:[.,]\d{2})?(?:\s*)(?:USD|US\$|\$)?|(?:USD|US\$|\$)?\s*\d{1,3}(?:[.,]\d{3})*(?:[.,]\d{2})?\s*(?:USD|US\$|\$)<12>^(?:\s*)(Due now \(USD\)|(Estimated )?(?:Order Total|Total:?)|TOTAL CHARGED TODAY \*|Final Total Price:|Flight total|grand total:?|Order Total(?: \(USD\))?:?|Price|Total(?:(?: \(USD\))?| Due| for Stay| Price| to be paid:| to pay|:)?|(Your )?(?:Payment Today|total(\s)price|Total:)|Show Order Summary:|Reservation Deposit Amount Due|Payment Due Now|Your Price|Total Due Now|Amount to pay|Total amount due|You pay today|Order Summary|TOTAL PAYMENT DUE|Payable Amount)(?:\s*)$

View File

@@ -0,0 +1,5 @@
{
"manifest_version": 2,
"name": "Amount Extraction Heuristic Regexes",
"version": "4"
}

View File

@@ -0,0 +1,27 @@
// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View File

@@ -0,0 +1 @@
[{"description":"treehash per file","signed_content":{"payload":"eyJjb250ZW50X2hhc2hlcyI6W3siYmxvY2tfc2l6ZSI6NDA5NiwiZGlnZXN0Ijoic2hhMjU2IiwiZmlsZXMiOlt7InBhdGgiOiJMSUNFTlNFIiwicm9vdF9oYXNoIjoiUGIwc2tBVUxaUzFqWldTQnctV0hIRkltRlhVcExiZDlUcVkwR2ZHSHBWcyJ9LHsicGF0aCI6ImNybC1zZXQiLCJyb290X2hhc2giOiJRMGw2TWZXdEJYZVF0Nm5jcGl4NkxnQTk5d3hzR2kxbkNWd0RsM3lKV09VIn0seyJwYXRoIjoibWFuaWZlc3QuanNvbiIsInJvb3RfaGFzaCI6IkNSYUctZUJ3akVJSFpTNFhMUW03S1F0RFRvdlpfU2hDcG9HQk9seGpMUkUifV0sImZvcm1hdCI6InRyZWVoYXNoIiwiaGFzaF9ibG9ja19zaXplIjo0MDk2fV0sIml0ZW1faWQiOiJoZm5rcGltbGhoZ2llYWRkZ2ZlbWpob2ZtZmJsbW5pYiIsIml0ZW1fdmVyc2lvbiI6IjEwMzgwIiwicHJvdG9jb2xfdmVyc2lvbiI6MX0","signatures":[{"header":{"kid":"publisher"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"aUKY1RkYFXtOjTBYuxJ46CZpMBzeb_TfVaAJkBwA1k0GlkRZ2vkUpGye7yB7T-u--nmRpAWHm7npEOtqIIyZg6CPm0HcVrEeiOTHTmctUX54hQeYC3aQfNc5DWM9lF7Mh0oNycXUE6MpOK__6hscBwVfUGVJ4CPbb0SZSTstRovmxODuuiwv-u7wDhVHWVm2J5PButl0wb7mUTWcxjYxfOI6G53IfzK_Sf-Ut5ccNkNcnF_n0Z2YwT-hKLbw_O5FI5TnWvNV7MRAVDWiWBGGymjWB592fU69Ej6XDQqxTU_uYsPraeww2ijy2TXxf4bx_4bIndXXNnz8J7WderLgrg"},{"header":{"kid":"webstore"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"afg2L5quzjHCF6RlKYOuajHPttYQxyxxIDkbHa8V2Cb6QkP3cGzR-wZ062_GY23_p_F7v8ehs_by9m3LK-swQLINXyjlnG_dfyHSaSOVNRuJs7KmqzRleV-7rFlkD-Mny74LxX7RaO1bXFfX-fjjQ0uOC2qGfuHmUHr6_yeSqTB6jue_FnBt2mxMpihkf9mkFNOg-IvahDq3kluhZF_iwWq0fqtEWWeQ6zZ0usmicus55WGLebcDw_rhFmv-DuldzcCZlaGmnDriqbl35nSSgJj9G7Tze9Gb3iGnUhy2T5dHjD75NXskDcLmtgqkfWLBnmoZM86KrF9W77MibK5VqQ"}]}}]

View File

@@ -0,0 +1,5 @@
{
"manifest_version": 2,
"name": "crl-set-8073011324268890593.data",
"version": "10380"
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
[{"description":"treehash per file","signed_content":{"payload":"eyJjb250ZW50X2hhc2hlcyI6W3siYmxvY2tfc2l6ZSI6NDA5NiwiZGlnZXN0Ijoic2hhMjU2IiwiZmlsZXMiOlt7InBhdGgiOiJQcmVsb2FkIERhdGEiLCJyb290X2hhc2giOiJPQ0daVnlWSnVZQk1xRTVoSEdYY01xQ05MTjdmdVE0NG5qWDVKS1ZDZ3g0In0seyJwYXRoIjoibWFuaWZlc3QuanNvbiIsInJvb3RfaGFzaCI6ImVZZDhDb0JMeFo2di13RmYyY0hFSnRzS0NrcU9EUDViZEVJUXFDdmZJRTQifV0sImZvcm1hdCI6InRyZWVoYXNoIiwiaGFzaF9ibG9ja19zaXplIjo0MDk2fV0sIml0ZW1faWQiOiJnZ2trZWhnYm5manBlZ2dmcGxlZWFrcGlkYmtpYmJtbiIsIml0ZW1fdmVyc2lvbiI6IjIwMjYuMy4yLjEyMSIsInByb3RvY29sX3ZlcnNpb24iOjF9","signatures":[{"header":{"kid":"publisher"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"LknOW4GBZZ5Yj4BGnbyVYj4PSaoJ7Xzr-rfe-30lNrB4zHwzTVKF3bchuM7xMX6faN0GlI-TQfpqtFQdi22n-28zwDiF2nxMAafDOEO9aYiBVYotB4qXWmrCa12r1-UM-WEBQTiJtpZELBVcbv1JqX_L7d1uiTIPKwb0DTGrSoEnsCGm8W7zSLlPZxvce8AQZ9-5ZcExIQQtK6JScGzCxb_aYEvm6rZc-cytbLB7M-_sQuZGgGcp_NgbB7X06PeKKoVaFfd1Gk8R7jL5QNrMjCN891GAVPTe3My72rnP-6XLLgX_493L9Xm0Lk-y2dxrs1GJGGt08gGs0dko6hHW2qThW8YkAHCAaLo6wZc_2aS-_wvvLgXQhH48kaslW0tqq7po8CoCZfEItxrtq2t7OHHmepRCB0x1ZiG7VkC7jL2hiE4XKUkTlklx9qgKpzhc0SYYa2VSIICwP0FKlMY-JSZIGjlEjqSw82TW8y6lcssM3T4NyKpOYCkFKgr-n5rSnS3t-700Jt3g1Q8mZy6K5kcQD9vvJFkYG7_1pL6RXCyqdHB0DWFf2FN-KQss3SzAIby0OnsUhUfoJ3y37Z7hBsTL9KwbdgunfYPWEJzxwOZvJDoy_gjbGDn2gK0w-ZxRBYb9hPoGjJ6Kuhy0YyDCZkztzVX5HCYHfIDPUziS-wk"},{"header":{"kid":"webstore"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"ACIjoFb-3leuWc0nzcRaD8E-ZlaTwCeIqiRx7QGx8uIukLAGFHePwuOpoBxfYorMuB23LUKoVL57jX2KH0hoaG07fT0osrE0vPIR5fWPzYRtkrCfA-NxyP5zfQ2YWaYZU6AgOJlUKHQJybBLrQlEP3xKGVvkoZ9H306q7N8LMpRgUclHtILY4sx-e9V29hrRmTMQgRfrnx8wfxOOQ9pzgrvv_JLxDidHy9_7dzd2vyrVm5mgzG6hxz5CKmG5qkoaXRubfj_m89tAWztrbdszq0ZHKre0u0Jr4ZFFulmi4kY299JOM9CDSxR6gqDNrLcvaqh6W7gf7-W7XCR5WJurzg"}]}}]

View File

@@ -0,0 +1,6 @@
{
"manifest_version": 2,
"name": "Crowd Deny",
"preload_data_format": 1,
"version": "2026.3.2.121"
}

View File

@@ -0,0 +1 @@
{"net":{"http_server_properties":{"servers":[{"anonymization":["FAAAABAAAABodHRwczovL2d2dDEuY29t",false,0],"server":"https://redirector.gvt1.com","supports_spdy":true},{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13419614119709346","port":443,"protocol_str":"quic"}],"anonymization":["GAAAABIAAABodHRwczovL2dvb2dsZS5jb20AAA==",false,0],"server":"https://accounts.google.com","supports_spdy":true},{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13419614121355873","port":443,"protocol_str":"quic"}],"anonymization":["HAAAABUAAABjaHJvbWU6Ly9uZXctdGFiLXBhZ2UAAAA=",true,0],"server":"https://www.gstatic.com","supports_spdy":true},{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13419614121824879","port":443,"protocol_str":"quic"}],"anonymization":["HAAAABUAAABjaHJvbWU6Ly9uZXctdGFiLXBhZ2UAAAA=",true,0],"server":"https://apis.google.com","supports_spdy":true},{"anonymization":["GAAAABMAAABodHRwczovL2V4YW1wbGUuY29tAA==",false,0],"server":"https://example.com","supports_spdy":true},{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13419614119516679","port":443,"protocol_str":"quic"}],"anonymization":["FAAAABAAAABodHRwczovL2d2dDEuY29t",false,0],"network_stats":{"srtt":3996},"server":"https://r2---sn-fpqxc5oq-2xgz.gvt1.com"},{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13419614122833620","port":443,"protocol_str":"quic"}],"anonymization":["HAAAABUAAABjaHJvbWU6Ly9uZXctdGFiLXBhZ2UAAAA=",true,0],"network_stats":{"srtt":43153},"server":"https://ogads-pa.clients6.google.com","supports_spdy":true},{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13419614124071997","port":443,"protocol_str":"quic"}],"anonymization":["HAAAABUAAABjaHJvbWU6Ly9uZXctdGFiLXBhZ2UAAAA=",true,0],"network_stats":{"srtt":41625},"server":"https://play.google.com","supports_spdy":true},{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13419614151402943","port":443,"protocol_str":"quic"}],"anonymization":["GAAAABIAAABodHRwczovL2dvb2dsZS5jb20AAA==",false,0],"network_stats":{"srtt":44256},"server":"https://android.clients.google.com","supports_spdy":true},{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13419614121486027","port":443,"protocol_str":"quic"}],"anonymization":["GAAAABIAAABodHRwczovL2dvb2dsZS5jb20AAA==",false,0],"network_stats":{"srtt":44895},"server":"https://www.google.com"}],"supports_quic":{"address":"192.168.178.180","used_quic":true},"version":5},"network_qualities":{"CAESABiAgICA+P////8B":"4G"}}}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"sts":[{"expiry":1772549978.7083,"host":"AYn/0RUuCA+dtfJ8evM2C7EY0gUuiaPUwyQjHng621k=","mode":"force-https","sts_include_subdomains":false,"sts_observed":1772549678.708302},{"expiry":1804086272.877866,"host":"LnUISHLIEAJXwxznwvmzQ/nP+OAiUt5C9kRdYp2NeXc=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1772550272.877869},{"expiry":1804086312.760291,"host":"M4bfUnCmQAi4PNb3B8aI/2+SVJhHKsMfMMT7fzi6ij4=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1772550312.760294},{"expiry":1804086312.411662,"host":"O3V9ICA+08raFwLd70kdfiIlj2XuI5tga5KEgJ7k3ZM=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1772550312.411666},{"expiry":1804086316.045193,"host":"UosF0gSgTf5L2x/tlYnRzhoMtLLgXf+9la2pVkKMMrY=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1772550316.045196},{"expiry":1804085671.093961,"host":"Wgdt4OpqZ9S02UaEwo3/w0dEU3shDs2Jjx9HTUANa+w=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1772549671.093964},{"expiry":1804086319.484163,"host":"ZLfq0bpvCYsiD1fRRiMBvWdocQYn8SNnPLNpffzuZXg=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1772550319.484167},{"expiry":1804086321.0079,"host":"cHdDbuzRXh8OHcaZfBVAlpUQ9dOCR0cOyghjDX6HnCg=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1772550321.007904},{"expiry":1783436045.967615,"host":"dERK8Ko+SPll3fI4ktOXyGETlPtRvoHIttvQhh3OR68=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1772549645.967618},{"expiry":1804086312.164604,"host":"fJjUrPqhktMfiTHJX3Q0pJi/P12Q72DBgzzJqjlNC4o=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1772550312.164608},{"expiry":1772549970.946355,"host":"oi5f7hBoD5EqScOTso9bsrSnV2lAwKidRwoAjLRgzSk=","mode":"force-https","sts_include_subdomains":false,"sts_observed":1772549670.946357},{"expiry":1804086280.56514,"host":"pIOokkB6kIMJhtWeJx0Sg/uVtG4EncvFFF2Ej0ywbJ4=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1772550280.565143},{"expiry":1804086311.675948,"host":"qaDeFdT1UTirY0OQe+c5LKw+zjx6vF/+3vFh7CgrAOY=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1772550311.675951},{"expiry":1804086281.618329,"host":"qqTR1IiTQiCQxwyg1TPI2iPm2+KcbsvsgFfQcCdvRiM=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1772550281.618332},{"expiry":1804086314.261346,"host":"uhOab38kaZ0+oiBnSmeIu9JnWrVSRDNUUKkaVMjpl2E=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1772550314.26135},{"expiry":1804086312.297565,"host":"5A0WkWXBUOsbJf8Gs5eXB+c9P3AbE3S9+gabmsFioDA=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1772550312.297568},{"expiry":1804085644.798239,"host":"8/RrMmQlCD2Gsp14wUCE1P8r7B2C5+yE0+g79IPyRsc=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1772549644.798242}],"version":2}

View File

@@ -0,0 +1 @@
{"sts":[{"expiry":1783434922.833701,"host":"dERK8Ko+SPll3fI4ktOXyGETlPtRvoHIttvQhh3OR68=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1772548522.833705},{"expiry":1804084519.709449,"host":"8/RrMmQlCD2Gsp14wUCE1P8r7B2C5+yE0+g79IPyRsc=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1772548519.709452}],"version":2}

Some files were not shown because too many files have changed in this diff Show More