root
b8727f1885
feat: add async resume jobs and doc navigation
2026-04-14 15:55:02 +08:00
root
6705613aa4
fix(reader): include all keep candidates in digest brief
2026-04-14 10:10:25 +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
c622bc6247
Implement minimal resume_run for freshrss runs
2026-04-07 15:19:44 +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
72a6853c03
Add run-state persistence for FreshRSS pipeline
2026-04-07 10:48:00 +08:00
root
b5ec58cd6a
feat: add public digest brief output for openclaw
2026-04-01 16:48:03 +08:00
wdm
1edbc2b736
Remove __pycache__ files from git tracking
2026-03-30 01:12:18 +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
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
9f7b777784
Merge remote-tracking branch 'origin/main'
2026-03-29 00:07:20 +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
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
zhuyongxin
cecf4d3ae7
Add markdown sink for filtered knowledge notes
2026-03-25 10:25:26 +08:00
zhuyongxin
ff3d15b8c4
Add FreshRSS ingestion and rule filtering
2026-03-24 18:37:14 +08:00
zhuyongxin
1dfae8ca19
first commit
2026-03-24 17:01:35 +08:00