Language / 语言: English (this file) · 中文 README
This folder is a self-contained local toolchain for:
- Fetching RSS feeds and normalizing them into batch files
- Analyzing batches with rules or skill-driven LLM calls
- Writing analysis feedback into feed scoring
- Generating a readable score report
It does not modify the parent project’s src/ tree.
Unified CLI (run from this directory, or prefix paths from the repo root):
python cli.py --helpFrom the monorepo root:
python isolated_rss_codex_agent/cli.py --help| Command | Purpose |
|---|---|
check |
Verify skill mode env (OPENAI_*) |
interactive |
TTY menu (same actions as CLI subcommands) |
fetch |
Pull RSS → inputs/ |
analyze |
Analyze one batch (rules / skill) |
run |
Fetch + analyze + feedback + report |
report |
Generate feed_scores_report.md |
score show / score reset |
Inspect or clear feed scores |
archive |
Archive old inputs/outputs (--interval optional) |
lang show / lang set en|zh |
Persist UI + report language defaults in locale.json |
| Flag | Purpose |
|---|---|
--lang en|zh |
UI strings for this process |
--save-lang |
Save --lang to locale.json (requires --lang) |
--report-lang en|zh |
Language of analysis Markdown |
--save-report-lang |
Save --report-lang to locale.json (requires --report-lang) |
Precedence
- UI:
--lang→RSS_AGENT_LANG→locale.jsonui_lang→en - Report:
--report-lang→RSS_AGENT_REPORT_LANG→locale.jsonreport_lang→en
Example:
python cli.py --lang zh --report-lang zh run --analysis-mode autoStrings live in locales/en.json and locales/zh.json; logic in i18n.py. locale.json is gitignored.
| Path | Role |
|---|---|
cli.py |
Main CLI |
i18n.py, locales/*.json |
UI + report copy |
fetch_batch.py |
Fetch, filter, dedupe, score updates |
analyze_batch.py |
Rules/skill analysis + JSON sidecar |
run_codex_pipeline.py |
End-to-end pipeline |
feed_feedback.py |
Apply analysis outcome to scores |
feed_report.py |
Score report Markdown |
feed_scores.json |
Persistent scores (gitignored in some setups) |
settings.json |
Defaults |
.env.local |
API key / base URL / model |
feeds.txt |
RSS URL list |
schemas/README.md |
JSON schema notes |
policies/ |
Fetch / analysis / scoring rules |
Each batch produces:
- Markdown — human-readable analysis; each item includes Source link / 原文链接 after Action; no trailing
## Original Linksappendix - JSON — same run, machine-friendly
Typical paths:
inputs/<name>.md,inputs/<name>.jsonoutputs/<name>.md,outputs/<name>.json
Check skill mode:
python cli.py checkInteractive menu (real terminal required):
python cli.py interactiveFetch only:
python cli.py fetch --topic "AI, coding, startup opportunities"Analyze only:
python cli.py analyze --input-file inputs/<batch>.md --mode rules
python cli.py --report-lang zh analyze --input-file inputs/<batch>.md --mode skillFull pipeline:
python cli.py run --analysis-mode autoScore report:
python cli.py reportArchive old batches (keeps newest *-rss-batch and paired analyses):
python cli.py archive
python cli.py archive --dry-run -v
python cli.py archive --interval 3600The CLI flow has been exercised with: check, fetch, analyze (rules/skill), run, report, archive, and interactive.
See also RUNBOOK.md for operational notes.
Do not commit .env.local or live API keys. See SECURITY.md for credential handling and a short audit checklist.