AI Newsletter Digest improvements: fixed QP soft line break decoding, URL extraction, and content cleaning

This commit is contained in:
Krilly
2026-03-04 13:29:22 +00:00
parent 29a98137a7
commit 57dd294675
13706 changed files with 2114953 additions and 237629 deletions
+46
View File
@@ -0,0 +1,46 @@
# Cron Jobs Updated to Qwen 3.5 397B 🦀
## Summary
All cron jobs have been updated to use your favorite model: **`nim/qwen/qwen3.5-397b-a17b`**
## Updated Jobs (14 total)
| Job Name | Schedule | Previous Model | New Model |
|----------|----------|----------------|-----------|
| Memory Checkpoint (Hourly) | Every hour | opencode/big-pickle | ✅ Qwen 3.5 |
| Email Monitor (krillyclaw) | Every 5 min | opencode/big-pickle | ✅ Qwen 3.5 |
| Email Monitor (AgentMail) | Every 15 min | opencode/big-pickle | ✅ Qwen 3.5 |
| Daily Cost Budget Check | Every 2 hours | opencode/glm-5-free | ✅ Qwen 3.5 |
| Smart Newsletter Digest | Daily 8:00 PM | opencode/big-pickle | ✅ Qwen 3.5 |
| Memory Distill (Nightly) | Daily 11:40 PM | opencode/big-pickle | ✅ Qwen 3.5 |
| Daily OpenClaw Backup | Daily 2:00 AM | opencode/big-pickle | ✅ Qwen 3.5 |
| Archive Old Sessions | Daily 3:00 AM | opencode/big-pickle | ✅ Qwen 3.5 |
| OpenClaw Daily Digest | Daily 6:30 AM | opencode/big-pickle | ✅ Qwen 3.5 |
| Morning Briefing | Daily 7:05 AM | opencode/big-pickle | ✅ Qwen 3.5 |
| Birthday Tracker | Daily 9:00 AM | opencode/big-pickle | ✅ Qwen 3.5 |
| Weekend Planner | Friday 4:00 PM | opencode/big-pickle | ✅ Qwen 3.5 |
| Weekend Briefing | Sat/Sun 8:00 AM | opencode/kimi-k2.5-free | ✅ Qwen 3.5 |
| Google Calendar Birthday Sync | Weekly Sunday 10:00 AM | opencode/big-pickle | ✅ Qwen 3.5 |
## Benefits
- **Consistency**: All jobs now use the same model you love
- **Reliability**: No more "model not allowed" errors
- **Performance**: Qwen 3.5 397B is powerful and fast
- **Cost**: Using your preferred model efficiently
## Next Runs
All jobs will use Qwen 3.5 on their next scheduled run. No manual intervention needed!
## Notes
- Model change is immediate for all future runs
- Past run history preserved
- No jobs were disabled or rescheduled
- All job payloads remain unchanged (only model updated)
---
**Updated:** Just now
**Total jobs updated:** 14/14 ✅
+122
View File
@@ -0,0 +1,122 @@
# Gateway Reliability - Simple Approach 🦀
## Philosophy (from zach-highley/openclaw-starter-kit)
**Don't build:**
- ❌ Custom watchdog scripts
- ❌ Meta-monitors that watch the watchers
- ❌ Anything with "monitor" or "watchdog" in the name
**Do this instead:**
```
systemd (KeepAlive=true) → 5 AM daily cron (openclaw doctor --fix)
```
That's it. Simple is better.
## How It Works
### 1. systemd Service Manager
- Gateway runs as a systemd service with automatic restart
- If it crashes, systemd restarts it automatically
- No custom scripts needed
### 2. Daily Maintenance Cron
- Runs at 5 AM daily
- Executes `openclaw doctor --fix` to clean up issues
- Prevents accumulation of problems
## Current Setup
### Service Status
```bash
# Check if running
systemctl --user status openclaw-gateway.service
# View logs
journalctl --user -u openclaw-gateway.service -n 50
```
### Daily Maintenance
The 5 AM cron runs:
- `openclaw doctor --fix` - fixes config issues
- Health checks
- Cleans up any accumulated problems
## Commands
```bash
# Check overall status
openclaw status
# Check gateway health
openclaw health
# View recent logs
openclaw logs --tail 200
# Run diagnostics
openclaw doctor --non-interactive
# Manual restart (if needed)
systemctl --user restart openclaw-gateway.service
```
## Why This Is Better
**Before (over-engineered):**
- Custom monitor scripts
- Health check every 2 minutes
- Auto-restart logic
- Multiple logging paths
- Complex failure modes
**After (simple & reliable):**
- systemd handles restarts (built-in, tested)
- One daily maintenance cron
- Uses OpenClaw's built-in health checks
- Easier to debug
- Less to break
## Troubleshooting
### Gateway won't start
```bash
# Check service status
systemctl --user status openclaw-gateway.service
# View logs
journalctl --user -u openclaw-gateway.service --since "1 hour ago"
# Try doctor
openclaw doctor --fix
# Restart service
systemctl --user restart openclaw-gateway.service
```
### High memory usage
- Check session count: `openclaw sessions list`
- Sessions auto-reset daily at 4 AM
- Memory compaction enabled
### Config issues
- Run: `openclaw doctor --fix`
- Check: `openclaw status`
- Backup always at: `~/.openclaw/openclaw.json.bak`
## Lessons Learned
From zach-highley/openclaw-starter-kit:
1. **Keep it simple** - systemd + daily cron is enough
2. **Don't reinvent** - use built-in tools first
3. **MECE** - no overlapping systems
4. **Official docs first** - docs.openclaw.ai
5. **Learn & fix** - error → investigate → fix → document
## Reference
- [zach-highley/openclaw-starter-kit](https://github.com/zach-highley/openclaw-starter-kit)
- [OpenClaw Docs](https://docs.openclaw.ai/)
- [Incident Postmortem](https://github.com/zach-highley/openclaw-starter-kit/blob/main/docs/INCIDENT_POSTMORTEM.md)
+102
View File
@@ -0,0 +1,102 @@
# Gateway Reliability - Simplified! 🦀
## What Changed
I removed all the custom monitoring scripts I created earlier because they violated the core principle from Zach Highley's OpenClaw starter kit: **"Don't build watchdogs."**
## The Simple Truth
**What you actually need:**
```
systemd (auto-restart) + Daily 5 AM cron (openclaw doctor --fix)
```
That's it. Everything else is over-engineering.
## Why I Removed the Scripts
From [zach-highley/openclaw-starter-kit](https://github.com/zach-highley/openclaw-starter-kit):
> **What NOT to build:**
> - ❌ Custom watchdog scripts
> - ❌ Meta-monitors that watch the watchers
> - ❌ Anything with "monitor" or "watchdog" in the name
>
> **The right approach:**
> ```
> launchd/systemd (KeepAlive=true) → 5 AM cron (openclaw doctor --fix)
> ```
> That's it. That's the entire reliability system.
## Current Setup
### 1. systemd Service ✅
- Automatically restarts gateway if it crashes
- No custom scripts needed
- Built into Linux
### 2. Daily 5 AM Maintenance Cron ✅
- Just added: "Daily 5AM Maintenance"
- Runs every day at 5 AM
- Executes `openclaw doctor --fix`
- Checks system health
- Reports issues
### 3. Built-in Health Checks ✅
- `openclaw status` - overall status
- `openclaw health` - gateway health
- `openclaw doctor --fix` - fix issues
## Commands You Actually Need
```bash
# Check if everything is running
openclaw status
# Check gateway health
openclaw health
# Fix issues manually
openclaw doctor --fix
# View logs
openclaw logs --tail 200
# Restart gateway (if needed)
systemctl --user restart openclaw-gateway.service
```
## What I Learned
1. **Simple is better** - My complex monitoring was over-engineering
2. **Use built-in tools** - systemd already does restart monitoring
3. **Don't reinvent** - OpenClaw has built-in health checks
4. **MECE principle** - No overlapping systems
5. **Official docs first** - Should have checked zach's guide earlier!
## Files Changed
**Removed:**
- `scripts/gateway-monitor.sh`
- `scripts/gateway-safe-restart.sh`
- `scripts/gateway-restart.sh`
- `gateway-monitor.service`
- `gateway-monitor.timer`
**Added:**
- Daily 5 AM maintenance cron ✅
- Updated `GATEWAY-MONITORING.md` with simpler approach ✅
**Kept:**
- `GATEWAY-MONITORING.md` (updated with correct philosophy)
## The Bottom Line
Your gateway is now set up with the **recommended simple approach**:
- systemd handles auto-restart
- One daily maintenance cron
- No custom watchdogs
- Easier to debug
- Less to break
Thanks for pointing me to Zach's guide - it saved us from unnecessary complexity! 🦀