5.3 KiB
5.3 KiB
项目当前状态简报
当前结论
当前仓库已经具备交付给 OpenClaw 的基础条件。
当前主链路是:
FreshRSS 未读 -> RSS 内容提取 -> LLM 总结 -> 规则过滤 -> OpenClaw delivery payload
OpenClaw 应通过 MCP 工具 run_freshrss_openclaw_pipeline 调用这条链路,而不是自行拼接脚本。
当前已完成
- 已完成 FreshRSS
greaderAPI 接入与未读拉取 - 已完成 FreshRSS 条目到标准化
item的映射 - 已完成 RSS-first 提取策略
- 已完成 LLM 总结与校验闭环
- 已完成规则引擎过滤
- 已完成
ArticleCandidateRecord与OpenClawCandidateInput分层 - 已完成
OpenClawDeliveryPayload批量投递结构 - 已完成 FreshRSS 已读状态回写
- 已完成“仅在最终 payload 成功写盘后再标记已读”的语义
- 已完成 MCP 工具
run_freshrss_openclaw_pipeline - 已完成默认精简输出模式,减少中间文件
- 已完成日报级
keywords词元库与全局词频统计 - 已完成
keyword-cleanup-reviewskill 骨架与 review bundle 脚本 - 已完成低复杂治理层:
term_cleanup_policy/term_watchlist/term_change_log - 已完成采纳建议写回脚本
scripts/apply_term_suggestions.py
当前 MCP 工具
当前服务入口:
src/summary_mcp/server.py
当前暴露的 MCP 工具:
extract_url_contentextract_item_contentfilter_summary_resultrun_freshrss_openclaw_pipeline
其中生产主入口是:
run_freshrss_openclaw_pipeline
当前关键文件
- MCP 服务入口
src/summary_mcp/server.py
- FreshRSS 统一工作流
src/summary_mcp/workflows/freshrss_pipeline.py
- 词元统计核心
src/summary_mcp/core/keyword_index.py
- 词元统计模型
src/summary_mcp/models/keyword_index.py
- 摘要循环
src/summary_mcp/core/summary_loop.py
- 提取主流程
src/summary_mcp/core/pipeline.py
- FreshRSS 集成
src/summary_mcp/integrations/freshrss.py
- 规则引擎
src/summary_mcp/filters/engine.py
- LLM 结果校验
src/summary_mcp/validators/llm_result.py
- OpenClaw candidate 模型
src/summary_mcp/models/article_candidate.py
- OpenClaw delivery 模型
src/summary_mcp/models/openclaw_delivery.py
- 生产脚本入口
scripts/run_freshrss_pipeline.py
- 词元统计重建脚本
scripts/build_keyword_index.py
- 词元清洗 skill
skills/keyword-cleanup-review/SKILL.md
- skill review bundle 脚本
skills/keyword-cleanup-review/scripts/build_review_bundle.py
- 采纳建议写回脚本
scripts/apply_term_suggestions.py
- 清洗治理配置
configs/term_cleanup_policy.jsonconfigs/term_watchlist.jsonconfigs/term_change_log.json
- OpenClaw 交接说明
docs/openclaw/openclaw-handoff.md
当前输出规则
默认生产模式只输出:
raw/freshrss.raw.jsoncandidates/openclaw-delivery-payload.jsonrun-report.json
同时会更新本地运行数据:
data/term_index/daily/YYYY-MM-DD.jsondata/term_index/term_stats.json
如果需要词元清洗审阅输入,可额外生成:
outputs/term_index/review/keyword-cleanup-bundle.json
如果需要在人工确认后把建议正式写入 watchlist / change log,可使用:
scripts/apply_term_suggestions.py
如果需要排障,可开启:
debug_artifacts=true- 或脚本参数
--debug-artifacts
这样才会额外输出逐条中间文件。
当前验证状态
已经验证通过:
- FreshRSS 未读拉取成功
- 已读回写成功
- MCP 工具入口可直接触发完整链路
- 微信公众号样本可直接使用 RSS 提供的
summary内容提取,不再回源抓网页 - 精简输出模式已实际跑通
- 日报级词元统计已通过离线样例验证,确认别名、停用词、非
drop过滤和 rerun 覆盖逻辑正常 keyword-cleanup-reviewskill 已通过quick_validate.py结构校验- review bundle 脚本已实际跑通
apply_term_suggestions.py已通过 dry-run 与临时副本写回验证
当前已知限制
- 当前对 FreshRSS 条目采用 RSS-first 策略,不再回源抓原网页
- 如果 RSS 中没有足够正文内容,该条会直接跳过,不会进入后续总结
- 某些规则仍偏保守,部分内容可能落到
review paywall相关启发式仍可能误判中文文本- Webhook / 主动投递到 OpenClaw 外部接口尚未实现,当前是由 OpenClaw 通过 MCP 主动调用
- 词元清洗 skill 当前已支持“bundle 构建 -> 建议审阅 -> 人工确认写回 watchlist/change_log”,但尚未接入周期性调度
- 当前词元统计仍以前置
OpenClawDeliveryPayload作为日报前代理输入,真实DailyDigest接入后还需切换上游
当前最建议的交接阅读顺序
README.mddocs/openclaw/openclaw-handoff.mddocs/openclaw/openclaw-candidate-input-field-spec.mddocs/openclaw/openclaw-delivery-payload-spec.mddocs/design/daily-keyword-index-design.mdskills/keyword-cleanup-review/SKILL.mdTODO.md
一句话结论
当前仓库已经从“提取 MCP 原型”演进到“可供 OpenClaw 调用的 FreshRSS -> OpenClaw payload 上游处理器”,并已补上第一阶段的日报级词元统计能力和词元清洗 skill 骨架;后续重点转向 skill 周期调度、知识库状态流转和 webhook 接线。