Daily backup: 2026-02-23 - memory updates, config changes

This commit is contained in:
2026-02-23 00:00:15 -08:00
parent d4a4768e18
commit eb834306f7
9 changed files with 428 additions and 6 deletions

27
.gitignore vendored Normal file
View File

@@ -0,0 +1,27 @@
# News Digest database files
scripts/news_digest/*.db
scripts/news_digest/*.db-journal
scripts/news_digest/*.log
# Python cache
__pycache__/
*.pyc
*.pyo
*.pyd
.Python
*.so
# Virtual environments
venv/
env/
ENV/
# IDE
.vscode/
.idea/
*.swp
*.swo
# OS
.DS_Store
Thumbs.db

View File

@@ -54,6 +54,23 @@ _这份文件记录持续性项目和重要状态跨会话保留。_
---
### 4. 每日新闻摘要 (News Digest)
**状态**: 已激活,运行中
**创建**: 2026-02-22
**配置**:
- 目录: `~/.openclaw/workspace/scripts/news_digest/`
- 主脚本: `send_digest.py`
- Cron ID: `cc95dcf3-0d6c-44f4-90af-76b836ca0c87`
- 时间: 每天早上 5:00 AM (PST)
- **运行模式**: **isolated subagent** (thinking=low, timeout=5min)
- 配置: `config.json`
**功能**:
- RSS 抓取 → Ollama 摘要 → 邮件发送
- 发送方: youlu@luyanxin.com → lu@luyx.org
---
## 📝 重要规则
### 邮件发送规则v2
@@ -87,8 +104,9 @@ _这份文件记录持续性项目和重要状态跨会话保留。_
| 普拉提监控 | `~/.openclaw/workspace/scripts/ucla_pilates_monitor.py` |
| 待办提醒 | `~/.openclaw/workspace/scripts/reminder_check.py` |
| 邮件处理器 | `~/.openclaw/workspace/scripts/email_processor/` |
| 新闻摘要 | `~/.openclaw/workspace/scripts/news_digest/` |
| 待办列表 | `~/.openclaw/workspace/reminders/active.md` |
---
_最后更新: 2026-02-18_
_最后更新: 2026-02-22_

View File

@@ -43,6 +43,30 @@ himalaya message write # 写新邮件(交互式)
- **youlu@luyanxin.com → lu@luyx.org**: 直接发送,无需确认
- 其他所有对外邮件: 仍需确认
### News Digest 新闻摘要
**自动任务Cron + Subagent**
- 时间:每天早上 5:00 AM (PST)
- Cron ID: `cc95dcf3-0d6c-44f4-90af-76b836ca0c87`
- 模式isolated subagentthinking=lowtimeout=5min
**本地配置:**
- 目录:`~/.openclaw/workspace/scripts/news_digest/`
- 主脚本:`send_digest.py`
- 配置:`config.json`
- 数据库:`news_digest.db`
- 日志:`news_digest.log`
**详细用法:**`~/.openclaw/workspace/scripts/news_digest/README.md`
**手动运行:**
```bash
cd ~/.openclaw/workspace/scripts/news_digest
./send_digest.py
```
**功能:** RSS 抓取 → Ollama 摘要 → 邮件发送到 lu@luyx.org
---
Add whatever helps you do your job. This is your cheat sheet.

0
crontab.backup.20260222 Normal file
View File

13
crontab.txt Normal file
View File

@@ -0,0 +1,13 @@
# OpenClaw 定时任务 - 小鹿
# 时区: America/Los_Angeles (PST)
SHELL=/bin/bash
PATH=/usr/local/bin:/usr/bin:/bin
# 每日新闻摘要 - 早上 5:00
0 5 * * * cd ~/.openclaw/workspace/scripts/news_digest && ./run.sh -v >> ~/.openclaw/workspace/logs/news_digest.log 2>&1 && python3 ~/.openclaw/workspace/scripts/news_digest/send_digest.py >> ~/.openclaw/workspace/logs/news_digest.log 2>&1
# 每日待办提醒 - 早上 8:00
0 8 * * * cd ~/.openclaw/workspace && python3 scripts/reminder_check.py 2>&1 | ~/.local/bin/himalaya message write --to lu@luyx.org --from youlu@luyanxin.com --subject "📋 今日待办清单"
# UCLA 普拉提课程监控 - 9:00, 13:00, 21:00
0 9,13,21 * * * cd ~/.openclaw/workspace && python3 scripts/ucla_pilates_monitor.py 2>&1 | ~/.local/bin/himalaya message write --to lu@luyx.org --from youlu@luyanxin.com --subject "📢 UCLA 普拉提课程更新"

54
memory/2026-02-22-1854.md Normal file
View File

@@ -0,0 +1,54 @@
# Session: 2026-02-22 18:54:50 UTC
- **Session Key**: agent:main:main
- **Session ID**: c082e01b-b757-45bc-ad20-a31deef51d9d
- **Source**: telegram
## Conversation Summary
user: 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.
Current time: Sunday, February 22nd, 2026 — 4:00 AM (America/Los_Angeles)
assistant:
assistant: HEARTBEAT_OK
user: System: [2026-02-22 08:00:13 PST] Cron (error): 📋 今日待办清单 (2026-02-22)
🟡 中优先级:
• 给过敏医生打电话约过敏针 (🔴 逾期 4 天) | 约集群过敏针(免疫治疗),需要定期打针建立耐受
• 打电话给progyny问Pacific Bill (🔴 逾期 2 天) | 周五前询问Pacific Bill相关事宜
• 跟进iui保险报销 (🔴 逾期 1 天) | 确认iui人工授精费用保险报销进度避免过期
• 跟accolade确认保险覆盖 (🟡 明天) | 确认保险是否cover b超和erica wang的office visit
📁 管理文件: ~/.openclaw/workspace/reminders/active.md
A scheduled reminder has been triggered. The reminder content is:
Cron (error): 📋 今日待办清单 (2026-02-22)
🟡 中优先级:
• 给过敏医生打电话约过敏针 (🔴 逾期 4 天) | 约集群过敏针(免疫治疗),需要定期打针建立耐受
• 打电话给progyny问Pacific Bill (🔴 逾期 2 天) | 周五前询问Pacific Bill相关事宜
• 跟进iui保险报销 (🔴 逾期 1 天) | 确认iui人工授精费用保险报销进度避免过期
• 跟accolade确认保险覆盖 (🟡 明天) | 确认保险是否cover b超和erica wang的office visit
📁 管理文件: ~/.openclaw/workspace/reminders/active.md
Please relay this reminder to the user in a helpful and friendly way.
Current time: Sunday, February 22nd, 2026 — 8:00 AM (America/Los_Angeles)
assistant: 早!今天的待办提醒来了 📋
有 **4 件事**还在 pending其中几个已经逾期了
**🔴 逾期的:**
- **给过敏医生打电话约过敏针** — 逾期 4 天(免疫治疗,要定期打针)
- **打电话给 progyny 问 Pacific Bill** — 逾期 2 天
- **跟进 iui 保险报销** — 逾期 1 天(避免过期)
**🟡 今天的:**
- **跟 accolade 确认保险覆盖** — 确认 b 超和 Erica Wang 的 office visit 是否 cover
---
需要我帮你做点什么吗?比如:
- 查一下医生/诊所的电话?
- 整理一下要问的问题清单?
- 把这些事项同步到你的日历?

160
memory/2026-02-22-2335.md Normal file
View File

@@ -0,0 +1,160 @@
# Session: 2026-02-22 23:35:54 UTC
- **Session Key**: agent:main:main
- **Session ID**: 56c1b3fc-1da3-4aa0-899f-c0735213812b
- **Source**: telegram
## Conversation Summary
user: Conversation info (untrusted metadata):
```json
{
"message_id": "1288",
"sender": "8481137853"
}
```
删除
assistant: 已删除 `launch_subagent.py`,现在目录里只剩核心文件:
```
config.json # 配置RSS feeds、Ollama 设置)
main.py # 主程序(抓取 + 摘要)
README.md # 文档
requirements.txt # Python 依赖
run.sh # 启动脚本
send_digest.py # 邮件发送
```
user: Conversation info (untrusted metadata):
```json
{
"message_id": "1290",
"sender": "8481137853"
}
```
再测试一下整个流程吧,拿新闻然后给我发邮件
assistant: 超时了。让我检查一下当前状态:
assistant: 有 38 篇文章在数据库里。让我直接发邮件:
assistant: ✅ 邮件发送成功38 篇文章
检查一下你的邮箱,应该能收到完整的新闻摘要了。
**摘要情况:**
- Hacker News: 10 篇
- 联合早报: 10 篇
- 澎湃新闻: 10 篇
- 36氪: 8 篇(无摘要,只有标题和链接)
36氪的内容抓取还是有问题但其他三个源都正常。
user: Conversation info (untrusted metadata):
```json
{
"message_id": "1294",
"sender": "8481137853"
}
```
36氪确实是挂了你有什么推荐的国内科技新闻源
assistant: 几个不错的替代品,都有 RSSHub 支持:
| 媒体 | RSSHub 地址 | 特点 |
|------|-------------|------|
| **虎嗅** | `https://rsshub.isrss.com/huxiu/article` | 科技商业深度报道 |
| **极客公园** | `https://rsshub.isrss.com/geekpark/breakingnews` | 创业公司、产品评测 |
| **爱范儿** | `https://rsshub.isrss.com/ifanr/app` | 硬件评测、生活方式 |
| **品玩** | `https://rsshub.isrss.com/pingwest/status` | 中美科技、出海 |
| **机器之心** | `https://rsshub.isrss.com/synced/latest` | AI/机器学习专业 |
| **量子位** | `https://rsshub.isrss.com/qbitai/latest` | AI新闻、大模型 |
**推荐替换方案:**
```json
{
"url": "https://rsshub.isrss.com/huxiu/article",
"name": "虎嗅",
"category": "China",
"enabled": true
}
```
虎嗅文章质量高、反爬虫没那么严格,摘要生成应该没问题。要我帮你更新配置吗?
user: Conversation info (untrusted metadata):
```json
{
"message_id": "1296",
"sender": "8481137853"
}
```
少数派呢
assistant: 少数派也有 RSSHub 支持:
```json
{
"url": "https://rsshub.isrss.com/sspai/index",
"name": "少数派",
"category": "China",
"enabled": true
}
```
**少数派特点:**
- 高质量生活方式 + 效率工具内容
- 用户投稿制,文章比较实用
- 反爬虫相对友好
要我帮你把 36氪 换成少数派吗?还是同时保留多个源?
user: Conversation info (untrusted metadata):
```json
{
"message_id": "1298",
"sender": "8481137853"
}
```
晚点 LatePost怎么样
assistant: 晚点 LatePost 也是不错的选择,财经科技深度报道。让我查一下 RSSHub 支持:
assistant: 晚点 LatePost 有 RSSHub 支持!
**路由:** `/latepost/:proma?`
| 栏目 | ID | 说明 |
|------|-----|------|
| 最新报道 | (空)| 默认,全部文章 |
| 晚点独家 | 1 | 独家深度 |
| 人物访谈 | 2 | 人物专访 |
| 晚点早知道 | 3 | 早报/快讯 |
| 长报道 | 4 | 长篇特稿 |
**配置示例:**
```json
{
"url": "https://rsshub.isrss.com/latepost",
"name": "晚点 LatePost",
"category": "China",
"enabled": true
}
```
或者只看"晚点早知道"
```json
{
"url": "https://rsshub.isrss.com/latepost/3",
"name": "晚点早知道",
"category": "China",
"enabled": true
}
```
晚点内容质量很高,深度商业报道,反爬虫应该比 36氪 友好。要我帮你更新配置吗?
user: Conversation info (untrusted metadata):
```json
{
"message_id": "1301",
"sender": "8481137853"
}
```
我都选好了已经放到config里面了就这样吧
assistant: 好的,配置完成!明天早上 5 点会按新配置运行,有问题随时叫我。

120
memory/2026-02-23-0708.md Normal file
View File

@@ -0,0 +1,120 @@
# Session: 2026-02-23 07:08:45 UTC
- **Session Key**: agent:main:main
- **Session ID**: 1fb67e04-8d70-4cf7-a787-82d15494d707
- **Source**: telegram
## Conversation Summary
assistant: 🌿 好主意,我来更新 TOOLS.md
assistant: ✅ **已更新 TOOLS.md**
添加了 News Digest 的完整信息:
- Cron 配置和时间
- 本地文件路径
- 5 个 RSS 源列表
- 手动运行命令
现在所有工具都记在 cheat sheet 里了。
user: Conversation info (untrusted metadata):
```json
{
"message_id": "1348",
"sender_id": "8481137853",
"sender": "8481137853"
}
```
不需要写5个rss源倒是写一下如果要看用法的话参考README
assistant: ✅ **已简化**
RSS 源列表删掉了,改成指向 README 的提示。这样以后改配置也不用更新 TOOLS.md 了。
user: Conversation info (untrusted metadata):
```json
{
"message_id": "1350",
"sender_id": "8481137853",
"sender": "8481137853"
}
```
- 配置:`config.json`5 个 RSS 源) 你这里还是写着5个rss源
assistant: ✅ 搞定,现在彻底干净了。
user: Conversation info (untrusted metadata):
```json
{
"message_id": "1352",
"sender_id": "8481137853",
"sender": "8481137853"
}
```
对了在workspace的git repo里面加个gitignore,ignore新闻摘要脚本文件夹里面的数据库
assistant: 🌿 好,让我检查并更新 .gitignore
assistant: ✅ **已创建 .gitignore**
排除了新闻摘要的数据库文件:
- `scripts/news_digest/*.db`
- `scripts/news_digest/*.db-journal`
- `scripts/news_digest/*.log`
顺便加了一些常见的 Python 和 IDE 忽略规则。
user: Conversation info (untrusted metadata):
```json
{
"message_id": "1355",
"sender_id": "8481137853",
"sender": "8481137853"
}
```
我从什么文件能看得出来新闻摘要交给subagent去做了呢
assistant: 🌿 三个地方可以确认:
**1. 最权威Cron 列表**
```bash
openclaw cron list | grep news
```
Target 列显示 `isolated` 就是 subagent 模式(`main` 是主会话)。
**2. MEMORY.md**
我之前记录了项目,但没写 subagent 模式——需要更新一下。
**3. TOOLS.md**
写了"模式isolated subagentthinking=low"。
要我更新 MEMORY.md 把 subagent 配置写进去吗?这样以后查长期记忆也能看到。
user: Conversation info (untrusted metadata):
```json
{
"message_id": "1357",
"sender_id": "8481137853",
"sender": "8481137853"
}
```
更新一下MEMORY.md
assistant: ✅ **已更新 MEMORY.md**
添加了新闻摘要项目,明确标注了:
- **运行模式: isolated subagent** (thinking=low, timeout=5min)
- Cron ID 和时间
- 功能流程
也更新了项目索引表和最后更新时间2026-02-22
现在三个地方都能查到 subagent 配置了:
1. `openclaw cron list` — Target 列
2. **MEMORY.md** — 项目详情
3. **TOOLS.md** — 快速参考
user: Conversation info (untrusted metadata):
```json
{
"message_id": "1359",
"sender_id": "8481137853",
"sender": "8481137853"
}
```
好,就这样吧,谢谢。
assistant: 🌿 不客气,明天早上 5 点见分晓。晚安!

View File

@@ -1,8 +1,8 @@
{
"settings": {
"hours_lookback": 24,
"retention_days": 30,
"max_articles_per_feed": 10
"retention_days": 14,
"max_articles_per_feed": 6
},
"ollama": {
"model": "kamekichi128/qwen3-4b-instruct-2507:latest",
@@ -28,9 +28,15 @@
"enabled": true
},
{
"url": "https://rsshub.isrss.com/36kr/hot-list",
"name": "36氪 热榜",
"category": "China",
"url": "https://rsshub.isrss.com/reuters/world",
"name": "Reuters",
"category": "World",
"enabled": true
},
{
"url": "https://rsshub.isrss.com/readhub",
"name": "ReadHub",
"category": "Tech",
"enabled": true
}
]