2026-06-03 晚晚更新 · Phase 2.1 LLM 兜底 / 3a 决策层 / 3b PE 估值 / 3c 导出 / observability / 鉴权 / Docker / CI 全部已落盘。本轮 4 条 P0-P3 全部 ✅ + 下下轮 EH-1 调度 + EH-3 飞书 全 ✅ + Tier 1.2 LiteLLM 路由(5573b79)+ FE Round 1 闭环(9566bda + 906478e + b55d474 + e239e44 + 8580b54)+ ADVICE 三件套全部 ✅:D V1 · 验证回路(e14dfc0,10 条 sample Overall 60% baseline,反推 strategy 启发式盲点)+ B · 5 skill 文档(2f852b5,agent/skills/ 总览 + thesis_impact + strategy_5_levels + wyhtb + trigger)+ E · 运营支撑专题 demo(2fbe5c0,?focus=运营支撑 + scenario-operations.md)。159 → 287 tests (+128 / 0 回归)。下面 §2 / §3 是 2026-06-03 早期版本写的本轮 4 条 P0-P3 + 下下轮排期,**所有本轮 / 下下轮项目都已 ✅**,留作历史档案。**下一轮候选:** strategy V1.1 修复(D V1 反推盲点)/ D V2 时序数据接入 / v3 看多 WYHTB / met 自动联动 / sample 重生成 / P1 扩 30 / EH-1 token budget / Tier 2 Postgres。
展开下面 4 张状态卡看 Phase 进度;再看下方表格看每个阶段对应的代码模块。这是规划下一步的锚点 —— 任何"再做一遍"的提议都应该先在这里被排除。
64 tests 通过web/index.html + web/app.html + 4 张架构 SVG + 3 份 PRD + Cloudflare Pages 部署 pipeline| 阶段 | 已交付 | 主要模块 |
|---|---|---|
| ✅ Phase 1 | rules-based 输入侧 + 周报 + 30 条合成集回归 100% / 25 条真实集 64% | classifier.py · ontology.py · report.py · regress.py |
| ✅ Phase 2 | Source 抽象 + JSONL/Text/RSS · 中文金额提取 · 抓取管线 | sources/{base,jsonl,text,rss}.py · extract.py · ingest_pipeline.py |
| ✅ Phase 2.1 | LLM 兜底层 · OpenAI/Claude 兼容 · 触发门 conf<0.55 或 ≥3 thread · stub 验证 64%→80% | llm.py |
| ✅ Phase 3a | 双视角决策周报(CEO 主驱动+战略 / 投资位势+仓位信号) | decision.py |
| ✅ Phase 3b | PE 估值映射(透明可覆盖)+ 市场模型动态视图 | valuation.py · market_model.py |
| ✅ Phase 3c | HTML/CSV 零依赖导出 + DOCX/PPTX 可选 extra | export.py |
| ✅ 横切 | thesis 实时评分 + 风险预警 · Prometheus /metrics · Bearer token · Docker · GitHub Actions CI · debate skeleton | thesis.py · observability.py · api.py · debate.py |
| ❌ Web 后端 | 数据层 / 工具层 / 能力层 / 编排层 / 运行底座 / eval 数据集 | 尚未开始 |
交付顺序:P0 ✅(演示前端 live.html, a39d5a1)→ P1 ✅(公司卡片扩容 6→20, 1dac338,二次校对发现)→ P2 ✅(debate 接 LLM, 本会话, 125 tests passed)→ P3 ✅(真实 RSS 源 SpaceNews, 本会话, 含中文源生态崩塌的关键 pivot, 131 tests passed)。**本轮 NEXT-STEPS 全部交付完毕**。下一轮启动 EH-1 调度 / EH-3 飞书 / Tier 1-3 技术栈对齐 (详见 §3)。
措辞校正:原描述"打通 web/app.html"是误述 — web/app.html 是 InvesResearch Agent 的工作台 demo, schema 与 Satellite Agent 不兼容。实际交付的是 为 agent 端单独做一个演示前端:agent/docs/live.html 单文件零依赖页, 4 区块(CEO brief / 投资 brief / 事件流 / 风险预警)接 agent FastAPI 真实数据, 后端宕机时 fallback 到内嵌 snapshot + 顶部红条警告。详见 PRODUCT-STRATEGY.md §5.1。
agent/docs/live.html 1214 行单文件, 顶部控制条含 API_BASE 输入框 + Bearer token 框 + 刷新按钮 + 状态指示灯/decision/weekly?view=both + /events?limit=20 + /alerts?window=7&limit=12CORSMiddleware, 默认开放, 生产用 SATAGENT_CORS_ORIGINS 收口<script> 内嵌 snapshot, 不可杀a39d5a1 首版 — live demo 页 + CORS + 4 panel + fetchJSON25c837a 公网快照 demo 模式 (host detect + sample/*.json)1653bfc 内嵌 snapshot 到 live.html, demo 模式零网络52958cb static prerender + inline fallback, 让 live.html 不可杀1f857d7 修 grid layout — panel 配对而非堆叠2de73ac 修每 panel 多余 </div>docs/sample/*.json, 后续可考虑 CI 自动刷新samples/events.jsonl (主驱动 #1 = 核心网/技术, evidence = 中国卫通 5G NTN 端到端打通试验)agent/README.md 加"演示前端"章节 (README line 99-135, 含本地跑法 + 公网部署 + 快照更新)本文档写完才发现已经做完:P1 主体在 1dac338 Expand company catalog 6 → 20 across 4 threads (P1) commit 里已交付, 远端 sync 时已经落盘。本卡片保留作交付存档, 含本次二次校对的实测数据。
valuation.py:75 用 or 0.0 优雅 fallback, 估值全 0 排最后, 不破坏排序private_valuation_override 字段/decision/weekly?view=investor 至少 5 家进入仓位信号 (当前 samples 8 条 events 下 4 家进 evidence, 灌入更多事件后可破 5; 边缘满足)| 主线 | 候选公司 |
|---|---|
| 核心网 | 中兴通讯ⓘ · 烽火通信 · 信科移动ⓘ · 中国卫通ⓘ |
| 终端 | 海格通信ⓘ · 华力创通ⓘ · 中国卫星ⓘ · 上海瀚讯 · 七一二 |
| 芯片 | 海格通信ⓘ · 振芯科技 · 国博电子 · 复旦微电 · 国光电气 |
| 运营支撑 | 中科星图 · 航天宏图 · 超图软件 · 北斗星通 · 合众思壮 |
| 卫星制造 | 中国卫星ⓘ · 上海航天电子 · 航天电子 · 航天发展 |
| 总集 (未上市) | 时空道宇 · 星网集团 · 国电高科 · 中国电信卫星 |
完整链路从 llm.py 重构 → debate.py LLM 层 → decision.py 反哺 → CLI / API 双轨开关 → 7 个新测试。pytest 125 passed / 0 回归。LLM 路径需 operator 部署时配 key 启用, 无 key 静默回退默认模板 + 算术裁决。
llm.py:抽 chat(user, system, json_mode) → str 原语, classify() 复用, debate 共享同一 HTTP 客户端debate.py:LLMArgWriter / LLMJudge / default_judge / build_default_* + run_debate(..., judge=, use_llm=)decision.py:apply_debate_multipliers(report, debates) 挂 position_signals[].debate 边车字段, 不改 current_scorecli.py:satagent debate --llm + satagent decision --debate-thread X --debate-llmapi.py:?use_llm=true + ?debate_threads=核心网,终端&debate_llm=truesatagent debate --thread 终端 → verdict=看多 multiplier=1.3 judge_kind=rule ✅satagent debate --thread 终端 --llm(无 key)→ 静默回退 rule ✅satagent decision --view investor --debate-thread 核心网 --debate-thread 终端 → 2 条 signal 各挂 debate 边车, 其余保持 None ✅export SATAGENT_LLM_API_KEY=... 或 ANTHROPIC_API_KEY=... 后验证SATAGENT_LLM_API_KEY 后 LLM 论点跑通 (stub 验证, 真 key 待 operator 启用)decision --debate-thread multiplier 挂到 position_signal[].debate 边车 (端到端 smoke test 验证)test_debate.py 至少新增 4 个 LLM 测试 (实际新增 7 个: arg_writer / judge / clamp / fallback ×2 / use_llm without key / apply_debate_multipliers)关键 pivot:实测 NEXT-STEPS 原候选 (工信部 / 通信世界 / 通信产业网 / 公司 IR) 全部失效 — 中文产业网站 2020 后普遍下架 RSS。satellitetoday.com 在 Fastly Varnish 后反爬。真活着且密度高的源是 SpaceNews (40% 卫星相关命中率)。本轮交付端到端真实抓取 + 英文分类闭环,中文 HTML scrape 适配器留作后续。
classifier.py: _hits() case-insensitive + ASCII ≤5 char 走 word-boundary (修 PA 在英文里乱中 space / spacex 子串的 long-standing bug)ontology.py: 扩 30+ 英文词跨 4 主线 + 6 维度 + ±impact (ground station / direct-to-cell / D2D / FCC approval / awarded / delayed 等)sources/rss.py: case-insensitive 过滤 + UTF-8 BOM / 前导空白剥离 (满足 WordPress 风格 feed)config/rss_feeds.json: SpaceNews enabled + Satellite Today disabled + shared_keywords 25 个 + _meta / _known_issuescli.py: satagent fetch --source rss --config <path> 批量入口, disabled feed 优雅跳过satagent fetch --source rss --config config/rss_feeds.json → SpaceNews 真抓 10 条卫星相关事件入库 ✅satagent decision --view both --window 30 → 真实英文事件 "Impulse Space raises $500M" 进"核心网"主驱动 ✅--config 流程enabled=false 存档| 候选源(实测后定稿) | 状态 | 备注 |
|---|---|---|
| SpaceNews | ✅ enabled · 真活 | 40% 卫星相关密度 · 唯一不反爬高密度源 |
| Satellite Today | ⏸ disabled | Fastly Varnish 403 · cookies/JS challenge 才能破 |
| payloadspace / breakingdefense / spacepolicyonline | 已探测 | 密度均 <10% · 信噪比不划算 · 暂不入 config |
| 工信部 / 通信世界 / 通信产业网 / 公司 IR | ❌ 全无 RSS | 2020 后中文产业站普遍下架 · 等 HTML scrape 适配器 |
下面是建议执行节奏的简化甘特, 横轴是工作日(W = Workday)。本轮 4 条 todo 全部 ✅。P3 含关键 pivot — 实测中文 RSS 全死, 转 SpaceNews 英文跑通端到端。下一轮启动下下轮 EH-1 / EH-3 / Tier 1-3 技术栈对齐 (详见 §3)。
| 项 | W1 | W2 | W3 | W4 | W5 | W6 | W7 | W8 | W9 | W10 | W11 | W12 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| P0 · 演示前端 ✅ | ||||||||||||
| P1 · 公司卡片扩容 ✅ | ||||||||||||
| P2 · debate 接 LLM ✅ | ||||||||||||
| P3 · RSS 真源 ✅ | ||||||||||||
这张表把仓库里所有 PRD 和路线图文档列齐, 每份都同时给出 markdown 源和可视化版。"待生成"表示当前只有 markdown, 可视化版还未做。本"下一步"文档 (NEXT-STEPS) 也包含在内, 两种形式都已就位。
下面 5 条不在本轮 P0-P3 里, 是更远的方向。此处只占位, 等本轮 4 条至少 3 条闭环后再排具体优先级与工期。
last_quarter_revenue_cny_yi 从手工填补改成自动抓取(财报季度公告 / 同花顺 / 巨潮)