AI Newsletter Digest improvements: fixed QP soft line break decoding, URL extraction, and content cleaning
This commit is contained in:
@@ -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 ✅
|
||||
@@ -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)
|
||||
@@ -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! 🦀
|
||||
Reference in New Issue
Block a user