Commit Graph
54 Commits
Author SHA1 Message Date
root e3663f681d feat: add keyword cleanup docs, skill updates, and delivery compatibility fix 2026-04-14 09:51:57 +08:00
root a06f2a1d08 chore: update term configs, skill docs and Python 3.10 compat
- term_change_log: record watch term add history
- term_watchlist: add initial watch terms from cleanup review
- term_aliases: minor update
- filter_context.personal: reorganize interest keywords
- keyword-cleanup-review skill: clarify JSON as formal artifact, markdown as temp review copy
- openclaw_delivery: add Python <3.11 UTC import compat
- daily-keyword-index-design: update suggestion artifact semantics
2026-04-14 09:51:57 +08:00
zhuyongxin c0194647d8 feat: add sort params 2026-04-13 17:42:39 +08:00
root c528e0abc7 fix(article-summary): 修复 article_summary pipeline 的 3 个 bug
1. Bug 3 (文件名含斜杠导致路径错误):
   - safe_title 生成时用 .replace('/', '-') 处理 '/' 字符
   - 同时清理连续 dash (--+) 和首尾 dash
   - 原本只处理空格,导致含 '/' 的标题写出路径错误

2. Bug 2 (delivery payload 格式不匹配):
   - 新增 '_iter_selected_items' 对 'candidates' 数组格式的支持
   - 自动 normalize selected_ids 的 'cand:' 前缀
   - candidate 条目同时支持 item_id 字段(新增)和 candidate_id(兼容)
   - 传入 delivery payload + candidate_id 时可正常匹配

3. Pipeline 补充 item_id 字段:
   - OpenClawCandidateInput 加 item_id 字段
   - build_openclaw_candidate_input 填充 item_id
   - 使得后续 article-summary 可通过 item_id 关联 extracted 文件
2026-04-13 17:38:40 +08:00
root 52ce6bfdf5 fix: validate article summary extracted path input 2026-04-11 23:04:13 +08:00
root c58d8114cd feat: add async job entrypoint for freshrss pipeline 2026-04-11 22:12:11 +08:00
root 10f9cd088f fix: fallback to repo .env for reader pipeline settings 2026-04-11 16:29:19 +08:00
root 2053cccfef feat(reader): add async article summary jobs 2026-04-10 16:37:43 +08:00
root 87d18e4263 feat: harden article summary timeout and fallback 2026-04-07 21:08:06 +08:00
root 2df0af5b82 docs: add openclaw orchestration flow for reader MCP 2026-04-07 15:57:39 +08:00
root 4f219ef92f docs: formalize reader MCP workflow service handoff 2026-04-07 15:32:46 +08:00
root c622bc6247 Implement minimal resume_run for freshrss runs 2026-04-07 15:19:44 +08:00
root d91cdbc6c9 docs: narrow resume_run minimal recovery design 2026-04-07 15:00:19 +08:00
root 4a02894c43 Add MCP delivery payload and run report queries 2026-04-07 13:49:06 +08:00
root d9173fbe0f feat: add MCP run status query tools 2026-04-07 11:17:05 +08:00
root 7563aa8fea docs: add reader MCP architecture and implementation plan 2026-04-07 10:57:46 +08:00
root 72a6853c03 Add run-state persistence for FreshRSS pipeline 2026-04-07 10:48:00 +08:00
root 3a85d47f00 docs: record formal digest artifact workflow 2026-04-01 18:32:25 +08:00
root b5ec58cd6a feat: add public digest brief output for openclaw 2026-04-01 16:48:03 +08:00
root 5b51332075 docs: clarify openclaw handoff boundaries 2026-03-31 18:55:15 +08:00
root f72c9ad2b1 docs: translate README to Chinese 2026-03-31 16:05:50 +08:00
root 660f03674b docs: align reader docs with digest SOP defaults 2026-03-31 15:55:15 +08:00
wdm ca86705646 Translate skill docs (article-deep-summary, llm-summary-review, keyword-cleanup-review) from English to Chinese 2026-03-30 23:14:22 +08:00
zhuyongxin 5b8df317ef Add article-deep-summary skill and enrich article summary prompt
- Create skills/article-deep-summary/SKILL.md and agents/openai.yaml
- Relax prompt constraints to allow 2-4 sentence elaboration per field
- Add validation output for reference article
- Update plan checklist as completed
2026-03-30 18:44:30 +08:00
zhuyongxin e24db99baa Add plan for article-deep-summary skill 2026-03-30 17:04:24 +08:00
wdm 1edbc2b736 Remove __pycache__ files from git tracking 2026-03-30 01:12:18 +08:00
wdm 9aa833d2c8 Move CODE_REVIEW.md to plans/ directory 2026-03-30 01:10:05 +08:00
wdm 40fccbd0cc Update README: add generate_article_summaries tool and single-item format support 2026-03-30 01:06:17 +08:00
wdm d3417e29e1 Support single-item extracted file format in summarize_selected_articles 2026-03-30 01:01:43 +08:00
wdm 8575033528 Relax summary field max_length from 140 to 300 characters 2026-03-29 17:58:19 +08:00
wdm ed0e3a9c7d feat: make article summary prompt independent from daily digest
- Add outputs/prompts/article-summary-prompt.txt with deep knowledge
  note schema (core_conclusion, main_argument, key_methods, etc.)
- Add ArticleSummaryResult Pydantic model for the new schema
- Add validate_article_summary_payload() validator
- Add optional validator param to run_loop_payload(); defaults to
  existing validate_llm_result_payload so daily digest is unaffected
- Update article_summary.py: new prompt path, new validator, new
  Markdown output with Chinese section headers
2026-03-29 16:49:05 +08:00
wdm 79509fd1ba Add detailed step comments to _process_item helper 2026-03-29 16:27:11 +08:00
wdm 3d58408687 Refactor: split run_freshrss_pipeline into internal helpers
Extract three internal helpers to reduce the main function from ~330
lines to ~80 lines:
- _process_item(): handles per-item extract/summarize/filter/build
- _build_and_persist_delivery(): builds payload and persists keyword index
- _build_run_report(): assembles status counts and run report dict

No behavior changes. External signature and return shape unchanged.
2026-03-29 16:27:11 +08:00
wdm 78039eff47 Document drop rule constraint: stop_on_match must be true
Add explicit authoring constraint in filter-rule-engine-usage.md:
all drop rules must set stop_on_match=true to prevent low-priority
drop rules from overriding high-priority keep decisions.
2026-03-29 16:27:11 +08:00
wdm a2f6f8a28d Improve _load_required_env error message clarity
Distinguish between missing argument and missing environment variable
in the RuntimeError message to speed up debugging.
2026-03-29 16:27:11 +08:00
wdm 2d9a38e465 Refactor context passing: pipeline now accepts dict directly
Eliminate the NamedTemporaryFile workaround in server.py by adding a
`context` dict parameter to run_freshrss_pipeline. The pipeline resolves
filter context from the dict first, falling back to context_path, then
defaulting to an empty FilterContext. Remove unused json/tempfile imports.
2026-03-29 16:27:11 +08:00
wdm ced6142b59 Add .idea/ to .gitignore 2026-03-29 16:27:11 +08:00
root 7bb9bef12f prd: add article summary prompt independent PRD 2026-03-29 16:10:43 +08:00
root 7dd0894a35 prd: add article summary prompt independent PRD 2026-03-29 16:08:19 +08:00
root 15bbbd9809 Merge branch 'main' of http://119.29.78.52:3000/osiman/reader 2026-03-29 00:54:57 +08:00
root a111c3ddd7 docs: document default daily knowledge base 2026-03-29 00:51:43 +08:00
wdm 9f7b777784 Merge remote-tracking branch 'origin/main' 2026-03-29 00:07:20 +08:00
wdm 40e896fa01 Remove local Claude settings file 2026-03-29 00:02:49 +08:00
wdm 41f7ac0e91 Add inline comments to core modules and code review notes
Added explanatory comments to server.py, freshrss_pipeline.py, pipeline.py,
freshrss.py, keyword_index.py, summary_loop.py, and filters/engine.py.
Also added CODE_REVIEW.md with prioritized improvement suggestions.
2026-03-28 23:59:50 +08:00
root 9fd21c59f5 feat: keep per-item extracted outputs by default 2026-03-28 23:14:18 +08:00
root 0a00a97724 feat: add article summary post-processing flow 2026-03-28 00:08:38 +08:00
zhuyongxin 3940db1443 Update OpenClaw handoff with keyword governance 2026-03-27 17:07:05 +08:00
zhuyongxin 32ad584348 Add keyword cleanup governance workflow 2026-03-27 16:59:52 +08:00
zhuyongxin 100044e1f7 feat: add freshrss openclaw pipeline and clean repo 2026-03-26 16:48:19 +08:00
zhuyongxin 27fe1e8882 Refine OpenClaw payloads and reorganize docs 2026-03-26 10:20:07 +08:00