后端与接口
需要持续追踪产品发布、价格变化…
当用户希望助手自动监控指定主题,并在出现重要进展时通过 Telegram、Discord 或 Email 立即告警或生成周报时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
需要持续追踪产品发布、价格变化、安全漏洞特定
解决思路
- 首次使用时运行 `python3 scripts/setup.py`,按交互向导配置监控。
- 在 setup.py 向导中配置 Topics:输入要监控的主题。
- 在 setup.py 向导中配置 Search queries:为每个主题设置搜索查询。
- 在 setup.py 向导中配置 Keywords:设置表示相关性的关键词。
- 在 setup.py 向导中配置 Frequency:选择 hourly、daily 或 weekly。
- 在 setup.py 向导中配置 Importance threshold:选择 low、medium 或 high 告警阈值。
- 在 setup.py 向导中配置 Weekly digest:将非紧急发现汇总为摘要。
- 让向导创建 `config.json`,之后可手动编辑,或用 `manage_topics.py` 增删主题。
- 手动快速开始:运行 `cp config.example.json config.json` 初始化配置。
- 用 `python3 scripts/manage_topics.py add "Product Updates" --keywords "release,update,patch" --frequency daily --importance medium` 添加主题。
- 用 `python3 scripts/manage_topics.py list` 列出所有主题。
- 用 `python3 scripts/manage_topics.py edit eth-price --frequency hourly` 编辑指定主题的频率等参数。
- 用 `python3 scripts/manage_topics.py remove eth-price` 删除指定主题。
- 用 `python3 scripts/manage_topics.py test eth-price` 测试主题并预览结果,不保存状态。
- 运行 `python3 scripts/monitor.py --dry-run` 做监控干跑测试,不发送告警,只显示将会发生什么。
- 运行 `python3 scripts/setup_cron.py` 设置自动监控 cron。
- 配置每个主题的 name:显示名称。
- 配置每个主题的 query:搜索查询。
- 配置每个主题的 keywords:相关性过滤词。
- 配置每个主题的 frequency:hourly、daily 或 weekly。
- 配置每个主题的 importance_threshold:high 立即告警,medium 重要时告警,low 仅进摘要。
- 配置每个主题的 channels:告警发送渠道,如 telegram、discord。
- 配置每个主题的 context:说明你为何关心,用于 AI 上下文摘要。
- 配置每个主题的 alert_on:触发告警的条件类型。
- 在 settings 中配置 digest_day、digest_time、max_alerts_per_day、deduplication_window_hours、learning_enabled。
- 正常运行时执行 `python3 scripts/monitor.py`,发送告警并保存状态。
- 强制检查指定主题时执行 `python3 scripts/monitor.py --topic eth-price`。
- 详细日志时执行 `python3 scripts/monitor.py --verbose`。
- 按 monitor.py 工作流读取到期主题,基于 frequency 决定是否检查。
- 按 monitor.py 工作流使用 web-search-plus 或内置 web_search 搜索。
- 按 monitor.py 工作流用 AI 重要性评分器给每个结果评分。
- 高重要性结果立即告警。
- 中重要性结果保存到摘要。
- 低重要性结果忽略。
- 更新状态以防止重复告警。
- 运行 `python3 scripts/digest.py` 生成当前周摘要。
- 运行 `python3 scripts/digest.py --send` 生成并发送摘要。
- 运行 `python3 scripts/digest.py --preview` 预览摘要但不发送。
- 摘要输出包含 Highlights、By Topic、Recommendations。
- 根据兴趣在摘要中推荐可新增监控的主题。
- 运行 `python3 scripts/setup_cron.py` 进行交互式定时配置。
- 运行 `python3 scripts/setup_cron.py --auto` 使用默认值自动设置。
- 运行 `python3 scripts/setup_cron.py --remove` 删除 cron 任务。
- 创建 hourly topics cron:`0 * * * * cd /path/to/skills/topic-monitor && python3 scripts/monitor.py --frequency hourly`。
- 创建 daily topics cron:`0 9 * * * cd /path/to/skills/topic-monitor && python3 scripts/monitor.py --frequency daily`。
- 创建 weekly digest cron:`0 18 * * 0 cd /path/to/skills/topic-monitor && python3 scripts/digest.py --send`。
- 将重大突发新闻、价格变化 >10%、匹配关键词的产品发布、所用工具的安全漏洞、你提过的具体问题的直接答案评为 HIGH,立即告警。
- 将相关但不紧急新闻、跟踪产品的小更新、主题内有趣进展、教程/指南、高互动社区讨论评为 MEDIUM,进入摘要。
- 将重复新闻、边缘相关内容、低质量来源、过时信息、垃圾/推广内容评为 LOW,忽略。
- 启用 learning_enabled 后追踪你与哪些告警交互。
- 根据你的行为调整评分权重。
- 根据学习结果建议主题优化。
- 自动调整重要性阈值。
- 学习数据存于 `.learning_data.json`,仅本地保存且不共享。
- 创建 `references/memory_hints.md` 帮助 AI 连接上下文。
- 在 memory_hints.md 中按主题列出背景,例如 AI 模型、安全、技术新闻相关关注点。
- 系统读取 `references/memory_hints.md`。
- 系统扫描最近对话日志(如果可用)。
- 系统将发现匹配到过去上下文。
- 系统生成个性化摘要。
- 配置 Telegram:channels 加 telegram,并设置 telegram_config.chat_id、silent、effects.high_importance、effects.medium_importance;需要 OpenClaw message tool。
- 配置 Discord:channels 加 discord,并设置 discord_config.webhook_url、username、avatar_url。
- 配置 Email:channels 加 email,并设置 email_config.to、from、smtp_server、smtp_port;可使用 SMTP 或 API。
- 配置 alert_on 条件,如 price_change_10pct、keyword_exact_match、source_tier_1、high_engagement。
- 配置 ignore_sources 忽略垃圾来源,如 spam-site.com、clickbait-news.io。
- 配置 boost_sources 提升来源权重,如 github.com、arxiv.org、official-site.com。
- 配置 patterns 正则,如版本号、金额、CVE,例如 `version \d+\.\d+\.\d+`、`\$\d{1,3}(,\d{3})*`、`CVE-\d{4}-\d+`。
- 配置 max_alerts_per_day 限制每日告警总数。
- 配置 max_alerts_per_topic_per_day 限制每个主题每日告警数。
- 配置 quiet_hours.start 和 quiet_hours.end 设置安静时段。
- 使用 `.research_state.json` 记录每个主题的 last_check、last_alert、alerted_urls、findings_count、alerts_today。
- 使用 `.research_state.json` 的 deduplication.url_hash_map 做 URL 去重。
- 使用 `.findings/` 目录存储适合摘要的发现。
- 将发现文件按 `YYYY-MM-DD_topic.json` 命名。
- 开始保守,先设 importance_threshold 为 medium,再根据告警质量调整。
- 使用 context 字段帮助 AI 生成更好的摘要。
- 精炼关键词,添加负关键词过滤噪音,例如 keywords 设为 ["AI", "-clickbait", "-spam"]。
- 启用 learning,让系统随时间改进。
- 每周查看 digest,不要忽略,它能呈现模式。
- 结合 personal-analytics 根据聊天模式获取主题推荐。
- 集成 web-search-plus 自动路由:产品/价格主题到 Serper,研究主题到 Tavily,公司/创业发现到 Exa。
- 集成 personal-analytics:根据对话模式建议主题,例如“你本月问 Rust 12 次,是否监控 Rust 语言更新”。
- 所有数据本地保存,除搜索 API 调用外不使用外部服务。
- 将状态文件加入 gitignore,以便在版本控制工作区中安全使用。
- Memory hints 可选,由你控制共享哪些上下文。
- Learning data 保留在本地,绝不发送给 API。
- 无告警时检查 `crontab -l`,验证渠道配置(Telegram chat ID、Discord webhook),并运行 `python3 scripts/monitor.py --dry-run --verbose` 查看评分。
- 告警太多时提高 importance_threshold,增加 rate limiting,精炼关键词并加负过滤,启用 learning mode。
- 漏重要新闻时降低 importance_threshold,提高检查频率,拓宽关键词,检查 `.research_state.json` 的去重问题。
- Digest 未生成时确认 `.findings/` 目录存在且有内容,检查 digest cron 计划,并手动运行 `python3 scripts/digest.py --preview`。
- 跟踪产品发布:运行 `python3 scripts/manage_topics.py add "iPhone 17 Release" --query "iPhone 17 announcement release date" --keywords "iPhone 17,Apple event,September" --frequency daily --importance high --channels telegram --context "Planning to upgrade from iPhone 13"`。
- 监控竞品:运行 `python3 scripts/manage_topics.py add "Competitor Analysis" --query "CompetitorCo product launch funding" --keywords "CompetitorCo,product,launch,Series,funding" --frequency weekly --importance medium --channels discord,email`。
- 研究主题:运行 `python3 scripts/manage_topics.py add "Quantum Computing Papers" --query "quantum computing arxiv" --keywords "quantum,qubit,arxiv" --frequency weekly --importance low --channels email`。
适用边界 · 注意事项
- 只需一次性查询或临时了解某主题,不需要持续监控和定时告警的场景。
- 没有 cron/定时任务运行环境,或无法配置外部搜索 API、Telegram/Discord/Email 消息渠道的环境。
- 不愿使用外部搜索 API,或不希望助手读取对话历史与 memory hints 的隐私敏感场景。