5 个层(输入 → 解析 → 决策 → 输出 → 横切)+ 4 个附属系统(expert/wiki 知识层 / expert/X 信号源 / skills 流水线 / web 纸面 PRD)。每个模块都有 LOC、测试覆盖、状态。本页是 plan.html(目标视角)/ docs.html(文档视角)之后的代码视角 —— 让任何工程师 60 秒内看懂这个仓库在做什么、做完了什么、还剩多少没动。
agent/satellite_agent/ 32 模块 · 5 swim lanes从上到下流过 5 层。输入抓数 → 解析抽实体 → 决策跑主线评分 → 输出渲染报告 / 推送 / API → 横切(db/llm/jobs)给整套垂直贯通。模块左边的色条编码完成度。
L1 sources/{rss,x_sqlite,jsonl,text} │ │ Source.fetch() → list[Event] ▼ L2 ingest_pipeline → extract (金额/时间/客户) → classifier (rules + LLM) → ontology (4 主线词典) │ │ INSERT INTO events / threads / companies ▼ L5 db / repository ──── ↕ ──── jobs (EH-1 调度 + token 预算) │ │ │ thesis.update_thesis_scores() │ ACTIONS: ingest / decide / x-ingest / ▼ │ validate-baseline / notify-feishu L3 thesis → decision(双视角) → triggers(证伪) → quality_checks(Red Flag) → valuation + market_model │ │ render_decision_pack() → 5 层 emoji + WYHTB 状态 ▼ L4 report → export → notify → api / cli / observability → regress │ │ /decision/weekly · markdown · HTML · CSV · DOCX · PPTX · 飞书 webhook · /metrics ▼ 用户 · live.html · 5 色 emoji 锚 · 双视角周报
这些不是 agent 的一部分,但与 agent 共享数据 / 方法学 / 决策上下文。wiki 是构建期种子库,X 是运行期信号源,skills 是知识沉淀 / 流程沉淀,web 是另一条产品线的纸面 PRD。
expert/wiki/ · 商业航天知识库expert/X/x_agent/ · X 推文抓取sources/x_sqlite 对接skills/ + agent/skills/expert-wiki-ingest,流水线复用)+ agent know-how skill × 5(分析师 know-how,ADVICE B 沉淀)。两类语义分层不重叠。web/ · 另一条产品线agent/scripts/ · 导入器 + 调度本机 330 passed / 7 failed = 缺 litellm 包(pip install litellm 即可清零) · 0 真实回归。observability 时间炸弹 2026-06-07 修。
按 LOC 倒序。横向条码 = 完成度。配色与上面的图谱一致。
| Module | Layer | LOC | Tests | Tests/LOC | Status | 主要交付里程碑 |
|---|---|---|---|---|---|---|
| agent/satellite_agent/ cli.py | L4 Output | 1,103 | — | covered ind. | 100% | 满命令树 · ingest / decide / validate / job / trigger / wyhtb / token-usage |
| agent/satellite_agent/ decision.py 双视角 | L3 Decision | 951 | 255 | 27% | FE B ✅ | 双视角 + 5 emoji 层 + 4 级 fallback + WYHTB 集成 + main_drivers |
| agent/satellite_agent/ validation.py | L3 Decision | 722 | 576 | 80% | V1 ✅ / V2 待 key | ADVICE D V1 反推 56.7% · V2 对比脚手架 · 真 LLM E2E 待 operator |
| agent/satellite_agent/ seed.py | L2 Parse | 607 | 127 | 21% | P0-C ✅ | 20 → 33 公司种子 · wiki/entities 灌入 +13 · importer + 审计 JSON |
| agent/satellite_agent/ jobs.py | L5 Cross | 603 | 425 | 70% | EH-1 ✅ | schema + ACTIONS + 5 action(ingest/decide/x-ingest/validate-baseline/notify)+ token 月预算 |
| agent/satellite_agent/ triggers.py | L3 Decision | 493 | 570 | 115% | FE A V1 ✅ | 证伪触发器 · 3 内置 check + 24h cooldown · CLI set/list/delete/check |
| agent/satellite_agent/ llm.py | L5 Cross | 477 | 487 | 102% | Tier 1.2 ✅ | LiteLLM 5 provider 统一 · zhipu / DeepSeek / Qwen / OpenAI / Claude · last_usage hook |
| agent/satellite_agent/ thesis.py | L3 Decision | 436 | 82 | 19% | FE A v2 ✅ | 主线评分 + 预警 + WYHTB 看牛看熊 JSON wholesale set + set_wyhtb_conditions |
| agent/satellite_agent/ api.py | L4 Output | 389 | 48 | 12% | Phase 3a ✅ | FastAPI · /events /decision /alerts /metrics /valuation /debate · Bearer 鉴权 |
| agent/satellite_agent/ quality_checks.py | L3 Decision | 332 | 355 | 107% | FE C 5/11 ✅ | Red Flag 自查 · 5 实施 + 6 stub · E_INVALID_DIMENSION 等 |
| agent/satellite_agent/ export.py | L4 Output | 305 | 137 | 45% | Phase 3c ✅ | HTML / CSV 零依赖 · DOCX / PPTX 可选 extra |
| agent/satellite_agent/ ontology.py | L2 Parse | 297 | — | indir. | P0-C +15 ✅ | 4 主线 + 维度词典 · wiki/concepts 灌入 +15 词 · CORE/OPS/MARITIME/TECH |
| agent/satellite_agent/ debate.py | L3 Decision | 273 | 198 | 73% | P2 ✅ LLM | Bull / Bear / Judge skeleton · LiteLLM 接入 · multiplier 边车反哺 |
| agent/satellite_agent/ db.py | L5 Cross | 252 | 243 | 96% | schema ✅ | SQLite + _MIGRATIONS + _POST_MIGRATION_INDEXES · stale schema 已修 |
| agent/satellite_agent/sources/ x_sqlite.py P0-D | L1 Sources | 244 | 262 | 107% | P0-D ✅ | read-only WAL · since 增量 · 9 类账号 · zh 译文拼接 · 3 别名 load_source |
| agent/satellite_agent/sources/ rss.py | L1 Sources | 236 | 364 | 154% | P3 ✅ | SpaceNews 真闭环 · 中文 RSS 生态崩塌 → pivot 英文 |
| agent/satellite_agent/ repository.py | L5 Cross | 228 | — | via schema | CRUD ✅ | events / companies / threads / thesis_state CRUD |
| agent/satellite_agent/ regress.py | L4 Output | 204 | 39 | 19% | Phase 1 ✅ | 25 真实集 / 30 全球集 回归运行 · JSON 报告 |
| agent/satellite_agent/ notify.py EH-3 | L4 Output | 186 | 246 | 132% | EH-3 ✅ | 飞书 webhook · 卡片含免责 · 重试 + 优雅降级 |
| agent/satellite_agent/ report.py | L4 Output | 182 | 63 | 35% | Phase 1 ✅ | 周报 markdown 渲染 · 主驱动 + 风险 + 仓位 |
| agent/satellite_agent/ extract.py | L2 Parse | 181 | 98 | 54% | Phase 2 ✅ | 中文金额 / 时间窗 / 客户 / capex / opex 抽取 |
| agent/satellite_agent/ classifier.py | L3 Decision | 139 | 58 | 42% | Phase 1+2.1 ✅ | 事件 → 主线 + 维度 + 影响 + 信心 · 规则版 + LLM 兜底 |
| agent/satellite_agent/ market_model.py | L3 Decision | 129 | 80 | 62% | Phase 3b ✅ | 动态市场视图 · 4 主线 × 卡片 × valuation 联动 |
| agent/satellite_agent/ ingest_pipeline.py | L2 Parse | 120 | 56 | 47% | Phase 2 ✅ | Source → classify → extract → repo 统一管道 |
| agent/satellite_agent/ valuation.py | L3 Decision | 117 | 67 | 57% | Phase 3b ✅ | 透明 PE 法 · 假设可覆盖 · 优雅 fallback(3 家未上市) |
| agent/satellite_agent/ observability.py | L4 Output | 99 | 60 | 61% | 2026-06-07 修 ✅ | /metrics Prometheus + JSON stats · 时区注入修(test_collect_counts 时间炸弹) |
| agent/satellite_agent/sources/ text.py / jsonl.py / base.py | L1 Sources | 129 | 151 | 117% | spec ✅ | Source 抽象 + 行式 JSON + 纯文本 |
| agent/satellite_agent/ timeutils.py | L5 Cross | 33 | — | utility | utility ✅ | 事件时间归一化 · UTC ISO8601 |
| 附属系统 | ||||||
| expert/X/ x_agent/reports.py | 附属 · 信号源 | 753 | — | indep. | 独立 ✅ | X 抓取后报告生成器 · 独立于 agent · cron 在岗 |
| expert/wiki/_scripts/ build_html.py | 附属 · 知识层 | 617 | — | script | round-2 ✅ | 自包含 wiki 浏览器 · 1.10MB → 1.89MB |
| expert/wiki/_scripts/ build_redact_html.py | 附属 · 知识层 | 417 | — | script | round-1 ✅ | PII 审计可视化 |
| agent/scripts/ import_wiki_seeds.py | 附属 · 脚手架 | 383 | — | utility | P0-C 1/4 ✅ | 启发式 importer · 249 → 41 candidates · seed 20→33 |
| expert/wiki/_scripts/ build_processing_status.py | 附属 · 知识层 | 359 | — | script | round-2 ✅ | raw/ ↔ _extracted/ 进度对照 HTML |
| expert/X/ x_agent/scraper.py | 附属 · 信号源 | 348 | — | indep. | 独立 ✅ | twikit-based · 95 账号 · 03:00 daily 在岗 |
| expert/wiki/_scripts/ build_index.py | 附属 · 知识层 | 311 | — | script | round-2 ✅ | 每分类 index.md · 类型/国家/角色/分类 多视图 |
| expert/X/ x_agent/db.py | 附属 · 信号源 | 307 | — | indep. | 独立 ✅ | X 抓取 SQLite · tweets / translations / users 三表 |
| agent/scripts/ import_wiki_concepts.py | 附属 · 脚手架 | 293 | — | utility | P0-C 2/4 ✅ | 232 → 189 novel + 25 overlap · ontology +15 词 |
| expert/X/ x_agent/cli.py | 附属 · 信号源 | 275 | — | indep. | 独立 ✅ | scrape / dump / import 命令树 |
| expert/wiki/_scripts/ build_docs.py | 附属 · 知识层 | 271 | — | script | round-2 ✅ | 导航条对齐 · README / TEMPLATE / timeline / next_steps |
| expert/wiki/_scripts/ merge.py | 附属 · 知识层 | 228 | — | script | round-2 ✅ | LIST_KEYS union + 正文追加补充视角 · timeline 去重倒序 |
| expert/wiki/_scripts/ extract.py | 附属 · 知识层 | 216 | — | script | round-2 ✅ | docx/pptx/pdf → md · 增量模式 + 多源 + slug 兼容 |
| expert/wiki/_scripts/ redact_check.py | 附属 · 知识层 | 206 | — | script | round-1 ✅ | PII 扫 · 6 级严重度 · _redact_report.md |
| expert/X/ x_agent/_twikit_patch.py | 附属 · 信号源 | 100 | — | indep. | 独立 ✅ | twikit 兼容垫片 · 版本漂移补救 |
| expert/X/scripts/ import_translations.py | 附属 · 信号源 | 100 | — | indep. | 独立 ✅ | 批译文回写 translations 表 |
| expert/X/scripts/ dump_for_translate.py | 附属 · 信号源 | 80 | — | indep. | 独立 ✅ | tweets → batch 拼接 待译 |
| expert/X/ x_agent/accounts.py | 附属 · 信号源 | 44 | — | indep. | 独立 ✅ | 9 类 95 账号清单 |
| expert/wiki/_scripts/ _paths.py new | 附属 · 知识层 | 38 | — | shared | 2026-06-07 ✅ | 共享路径解析 · env > repo-relative > legacy |
| Skills 沉淀 | ||||||
| skills/expert-wiki-ingest/ SKILL.md + skill.html + README new | process | 1,206 | — | docs | 2026-06-07 ✅ | 项目根新建 process skill 目录 · 5 phase 数据流 + sub-agent 提示词 + 5 个踩坑 |
| agent/skills/ trigger_design_patterns.md | know-how | 215 | — | docs | ADVICE B ✅ | 证伪触发器设计模式 |
| agent/skills/ wyhtb_writing_guide.md | know-how | 182 | — | docs | ADVICE B ✅ | WYHTB 看牛/看熊写法 · 4 主线模板 |
| agent/skills/ strategy_recommendation_5_levels.md | know-how | 172 | — | docs | ADVICE B ✅ | 战略 5 档 + D V1 反推盲点修复建议 |
| agent/skills/ satellite_internet_research.md | know-how | 111 | — | docs | ADVICE B ✅ | 卫星互联网研究总览 · agent ≠ skill 分层 |
| agent/skills/ thesis_impact_judgment.md | know-how | 109 | — | docs | ADVICE B ✅ | 单事件 → 主线影响传导 · over-fire 4 陷阱 |
| Web · 纸面 PRD · 工程 0 行 | ||||||
| web/docs/ product-prd.md / engineering-prd.md | web 纸面 | — | — | PRD only | 触发待 | A/HK/US 三地通用调研工作台 · M1-M6 全部 0 行 · 触发 3 选 1 |
validation.py 脚手架 ✅,Stub demo 66.7%,真 LLM 对照 待 operator 填 key(agent/.env 5 provider 已铺好)_wiki_seed_candidates.json 已积累segments · E 3 层叙事 / 敏感度数学传导 · F 数据来源 Ledger + 冲突对账_drafts/x_new_entities/ 人审ontology.py 领域无关化954aabd expert/ 580 文件入库 · Tier 2 排期写 4 份文档a55745d + 83c56b6 P0-C wiki 灌入 · seed 20→33 / ontology +156902021 P0-D XSqliteSource · EH-1 x-ingest action · 13 单测 · 端到端 30 推文真入库3491f45 launchd cron · com.invesresearch.satagent-x-ingest 03:00 daily · 首跑 357 推文 / 25 命中bee2e5c plan.html 全貌门户 · 四问索引 + 双视角 + 22 项交付矩阵210bf80 文档/网页 sync 337 tests + obs 时间漂移修2eec025 wiki round-2 + skills/expert-wiki-ingest(本轮重点)· entities 248→424 / concepts 231→391 / reports 35→102 / timeline 483→931