Files
simon 3b44f64f66 refactor: 清理历史 AI Agent 文档残留 + 重构 docs/ + Pipeline 健壮性修复
- docs: 删除 CLAUDE.md / continuation.md / english-news-plan.md 及旧版 intlnews_usage.*,
        统一迁移到 docs/{README,architecture,quickstart,usage,pipeline,configuration,deployment,development,faq}.md
- README: 精简为仓库入口,指向 docs/
- configs/sources.yaml: 更新注释指向新文档
- .env.example: 修正 DashScope Embedding 端点说明

Pipeline 修复:
- dedup/llm/embedding/vectorstore/reporter: 过滤 M2 no_content / 空正文,避免污染下游与 Qdrant
- dedup/pipeline: 改为先写唯一文件再写指纹,避免崩溃导致文章永久丢失
- crawler/orchestrator: sources_crawled 改为“尝试数”,成功数 = crawled - failed
- crawler/storage: write_index_jsonl 从文章路径推断日期,修复跨天/测试路径问题
- scheduler/pipeline: STEP_TIMEOUTS 实际生效(SIGALRM)
- scheduler/reporter: emb_count 排除 index.json;日报跳过无原文事件
- vectorstore/pipeline: payload 增加 source_ids;--recreate --all 时空日期也重建 collection
- app/cli: extract/dedup/translate/embed/index/pipeline 支持 --date;embed/index 支持 --all;crawl 全源失败返回非零
- scripts: domestic_full/crawl_8g/crawl_2g/pipeline 安全加载 .env;M1 全失败不标记且最终退出码=1
2026-08-22 20:47:53 +08:00

94 lines
2.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 快速开始
## 1. 环境要求
- Python 3.11(项目支持 `>=3.11,<3.13`)
- [uv](https://docs.astral.sh/uv/) 包管理器
- Linux(推荐 Pi 4 / 8GB 内存或更高)
- 可选但推荐:Playwright 浏览器依赖、Xvfb、Privoxy/Shadowsocks(用于海外访问)
## 2. 安装依赖
```bash
# 在项目根目录执行
uv sync
# 如需开发依赖(pytest、ruff)
uv sync --extra dev
```
## 3. 配置环境变量
```bash
cp .env.example .env
```
然后编辑 `.env`,至少配置以下密钥:
| 变量 | 用途 |
|------|------|
| `DEEPSEEK_API_KEY` | M4 翻译+事件抽取、M7 日报摘要(DeepSeek) |
| `QWEN_API_KEY` 或 `DASHSCOPE_API_KEY` | Qwen LLM、M5 向量化(Embedding 复用兼容端点) |
| `DASHSCOPE_API_KEY` | M5 `text-embedding-v3` 向量化 |
| `QDRANT_URL` / `QDRANT_API_KEY` | 远程 Qdrant(可选;默认本地文件模式可留空) |
| `NEWS_DB_*` | M9 日报入库 MySQL(`NEWS_DB_PASSWORD` 必填) |
完整变量说明见 [配置说明](configuration.md)。
## 4. 验证安装
```bash
uv run en-news --help
```
能看到 `crawl / extract / dedup / translate / embed / index / search / report / pipeline / mcp-server` 即安装成功。
## 5. 首次运行
### 5.1 抓取(M1)
```bash
# 抓取全部源(8G headful + HTTP 代理,适合国内 Pi)
bash scripts/domestic_crawl_8g.sh
# 只抓取某个源
bash scripts/domestic_crawl_8g.sh reuters
```
> 如果不需要真实抓取,可先用测试数据或已有 `data/raw/` 数据跳过此步。
### 5.2 全链路管道(M2→M6 + 日报)
```bash
bash scripts/pipeline.sh
```
或使用命令行入口:
```bash
uv run en-news pipeline --skip-report # 只跑 M2→M6,不生成日报
uv run en-news pipeline # M2→M6 + 日报
```
### 5.3 语义搜索
```bash
uv run en-news search "美联储 利率 决议"
```
## 6. 日常全流程
```bash
# 全流程:M1 抓取 + 管道 + 日报
bash scripts/domestic_full.sh
# 中断后继续(跳过当天已完成步骤)
bash scripts/domestic_full.sh --resume
```
## 7. 常见首个坑
- 如果没有配置 `NEWS_DB_PASSWORD`,日报(`report`)步骤会失败。`scripts/pipeline.sh` 会包含日报;若暂时不配 MySQL,请使用 `uv run en-news pipeline --skip-report` 跳过日报。
- 抓取海外站点需要代理和 Xvfb,详见 [部署与运维](deployment.md)。
- 运行前请确保已在项目根目录(所有路径都相对项目根目录)。