# 项目优化计划 版本:v1.0 | 创建:2026-06-17 --- ## 优化总览 | 序号 | 优化项 | 工作量 | 收益 | 状态 | | --- | --- | --- | --- | --- | | 1 | 统一 CLI `a-share` | 1.5h | 🔴 每天用 | ✅ 已完成 | | 2 | CLI 直接检索 `a-share search` | 0.5h | 🔴 高频 | ✅ 已完成 | | 3 | 站点发现 `a-share discover` | 1h | 🟡 加源时用 | ✅ 已完成 | | 4 | Prompt 调优工具 | 1h | 🟡 调参时用 | 📋 计划中 | | 5 | 每日摘要报告 | 0.5h | 🟢 锦上添花 | ✅ 已完成 | | 6 | 健康检查 `a-share health` | 0.5h | 🟢 运维用 | 📋 计划中 | | 7 | 数据清理策略 | 0.5h | 🟢 长期必要 | 📋 计划中 | | 8 | 备份恢复 | 1h | 🟢 生产必须 | 📋 计划中 | --- ## 1+2. 统一 CLI `a-share` + 直接检索 ✅ ### 目标 用一个命令替代 8 个脚本入口,降低日常使用记忆成本;支持直接在终端检索知识库。 ### 设计 ```bash # 模块操作(替代 scripts/run_*.py) uv run a-share crawl # M1 抓取全部源 uv run a-share crawl --source cls # 单源 uv run a-share extract --date 20260616 # M2 提取 uv run a-share dedup --date 20260616 # M3 去重 uv run a-share events --date 20260616 # M4 LLM 抽取 uv run a-share embed --date 20260616 # M5 向量化 uv run a-share ingest --date 20260616 # M6 入库 # 全链路 uv run a-share pipeline --once # 立即执行一次 uv run a-share pipeline # 启动定时守护 # 检索(新增,不走 MCP) uv run a-share search "宁德时代" # 纯语义 uv run a-share search "宁德时代" --source cls --top 5 # 过滤 uv run a-share search "芯片" --sentiment positive --min-importance 3 # 运维 uv run a-share status # 查看各层数据量 + 今天摘要 ``` ### 实现文件 - `a_share_cli/__init__.py` — 空 - `a_share_cli/main.py` — argparse 子命令路由 - `pyproject.toml` — `[project.scripts] a-share = "a_share_cli.main:main"` ### 子命令详情 #### `a-share crawl` | 参数 | 类型 | 默认 | 说明 | | --- | --- | --- | --- | | `--source` | str | None | 单源 id | | `--no-save` | flag | False | 试跑不写文件 | #### `a-share extract` | 参数 | 类型 | 默认 | 说明 | | --- | --- | --- | --- | | `--date` | str | today | YYYYMMDD | | `--source` | str | None | 单源 | #### `a-share search` | 参数 | 类型 | 默认 | 说明 | | --- | --- | --- | --- | | `query` | positional | — | 自然语言查询 | | `--top` | int | 10 | 返回条数 | | `--source` | str | None | 按源过滤 | | `--sentiment` | str | None | positive/negative/neutral | | `--min-importance` | int | None | 最低影响程度 | | `--stock` | str | None | 股票代码 | | `--industry` | str | None | 行业 | #### `a-share status` 无参数,输出各数据层统计 + 今天事件摘要。 --- ## 3. 站点发现 `a-share discover` 📋 ``` uv run a-share discover https://wallstreetcn.com/news/global ``` 内部:抓首页 → 提取 `` → 按 URL 模式聚类 → 输出 yaml 配置建议。 --- ## 4. Prompt 调优工具 📋 ``` uv run a-share tune-prompt --sample 5 # 样本抽取,展示结果 uv run a-share tune-prompt --diff # 对比新旧 prompt ``` --- ## 5. 每日摘要报告 📋 M7 pipeline 末尾追加一步:生成 `data/reports/{YYYYMMDD}.md`,含各层统计 + 高重要性事件列表。 --- ## 6. 健康检查 📋 ``` uv run a-share health ``` 检查:Qdrant 连通性 / LLM API 可达 / 各层数据完整性 / 磁盘空间。 --- ## 7. 数据清理策略 📋 `.env` 新增: ``` DATA_RETENTION_DAYS=90 ``` M7 pipeline 中加 cleanup 步骤:删除超过保留期的 raw/processed 目录。 --- ## 8. 备份恢复 📋 ``` uv run a-share backup # → data/backups/20260617/ uv run a-share restore 20260617 # 从快照恢复 ```