2026-06-09 · 单页信息图门户 · 9 维度回答"程序在做什么 + 怎么做 + 还要做什么"

把一个产品的
需求 / 架构 / 流转 / 进度 / 剩余 / 时间 / 自动化
铺在一页

这页是 Satellite Agent 的总览蓝图。把为什么做(需求)解决了哪些问题怎么搭起来的(架构)数据怎么走(数据流)现在到哪一步(进度)剩多少要做(剩余清单 + 时间)、以及怎么把开发链路自动化这 7 个问题,用信息图回答完。每张图都对应仓库里的真代码,任何工程师 5 分钟内看懂全貌。

看自动化开发建议 → 看数据流转图 plan 全貌 module 代码图谱 🆕 数据视角
主线
5
+ LAUNCH_VEHICLE
种子公司
47
06-08 +14 火箭/制造
validation
96
v2.0 corpus (+860%)
tests
337
335 passed / 2 skipped
cron
launchd 03:00 daily
本周新增
+5
commits 06-08~09
1需求 · Why

为什么这个 Agent · 两类用户的同一个痛点

卫星互联网产业 2024-2026 进入主升浪 — 但事件流密度极高(政策 / 订单 / 公告 / 标准 / 发射几乎每天都有)、主线交叉严重(一个 SpaceX 发射既是运载发射也是核心网组网信号)、判断需要快速(CEO 周会 + 投资人调仓节奏)。手工跟踪 → 漏判和延误;让 GPT 总结 → 没有可审计的判断链路。这是我们要解决的结构性问题。

!用户的真问题

  • CEO 视角:"本周哪条主线信号最强,推动力是什么,是不是顺我业务 thesis" 产业 CEO 每周需要决定 all-in 哪条主线、对哪个对手提速、哪个合作伙伴要紧抓 — 但缺一个跨 5 主线的统一信号面板。
  • 二级投资人:"47 家覆盖股谁的 thesis 在改善 / 恶化 / 信号触发证伪" 多空 debate 需要看到对每家公司的具体反方论据,以及触发 wyhtb 看牛 / 看熊的具体条件,而不是分析师统一意见。
  • 都怕的:"事件触发了我的 stop-loss 条件但我没看见" 风险事件比利好更需要时效 — 但事件流密度让人盯不过来,需要 trigger 自动告警。
  • 都不要的:"agent 说东风压倒西风,但说不清楚为什么" 黑盒判断在产业 / 投资场景都是禁区,必须有可审计的证据链(thread / dimension / company / 极性词 / 触发器都要可点开)。

这个 Agent 怎么解

  • 5 主线 ontology 严格枚举 — 不开新主线 核心网 / 终端 / 芯片 / 运营支撑 / 运载发射,每条主线绑定 30-100 个关键词、典型公司、典型事件;分类器只走严格枚举,过滤而不发明
  • 双视角周报 = 单一事件源 + 两种汇总规则 同一份 events,跑 CEO 视角(主驱动 + 战略建议)和投资视角(主线热度 + 公司位势 + 仓位信号)两份 markdown,各自独立可审计。
  • 4 层证据链 + 5 色 layer 视觉 fact(📌) → calc(📊) → assumption(💭) → judgment(🎯) → falsification(⚠️) 全可点开看源事件,前端 5 色物理隔离。
  • 规则 + LLM 兜底 + 96 条 v2.0 corpus 校准 规则版给可审计基线(27% on v2.0),LLM 兜底应能推回 50%+;每次跑 validate 都对照 corpus 看是否退化,持续训练判断质量。
2解决哪些问题 · What

抽象需求拆成 6 个可验证的工程问题

每个问题都对应仓库里至少一个模块 + 一组测试,可以一对一审计。

P1 · 输入解析

如何把异构事件源归一成结构化 events

政策 PDF / 公告网页 / RSS / X 推文 / JSONL 五种来源,字段、语言、密度都不同,要落进一张 events 表。
Source 抽象基类 · 5 个 adapter (JSONL/Text/RSS/X-SQLite/HTML) · ingest_pipeline 统一去重 + extract 数字字段抽 (金额/时间窗/客户)
P2 · 主线分类

如何把5 主线多分类 + 影响方向 + 置信度一次做完

规则要可审计(关键词 + 触发链),LLM 要可兜底(低置信触发,不喧宾夺主),over-fire 要可检测。
classifier.py 规则版 (~470 keywords 词典) + llm.py LiteLLM 兜底 (conf<0.55 或 ≥3 thread 触发) + quality_checks 11 条 universal_red_flags
P3 · 双视角决策

同一份 events 如何输出两种语言给两种用户

CEO 要"主驱动 + 战略建议",投资人要"主线热度 + 公司位势 + 仓位信号" — 不能让一种视角污染另一种。
decision.py 两个独立 view (render_ceo_view / render_investor_view) · 共享 events 但独立聚合规则 · 5 步语法 + 5 色 layer 元数据
P4 · 证伪 + 看牛/看熊

如何让 thesis 不变成 echo chamber

Thesis 一旦写下,人会自动找证据加强它;agent 必须显式列出"什么会让我看错",并实时跟踪触发器。
triggers.py 3 内置 check + cooldown · thesis.py wyhtb_bull/bear 看牛看熊条件清单 + CLI 设置 · decision._compute_contradiction 4 级 fallback
P5 · 调度 + 通知

如何让所有 action 自动跑起来 + 推到 operator 手里

人不会每天主动看 dashboard;失败要自动告警;成本要可控。
jobs.py EH-1 调度子系统 (jobs/job_runs schema + ACTIONS registry + max_failures auto-disable) + 月度 token_budget + EH-3 飞书卡片送达
P6 · 验证回路

如何确保 agent 判断真的在变准而不是看起来变准

没有 ground truth → 一切优化都是猜;有 corpus → 每次改规则 / LLM 都能立刻看到分数变化。
validation.py + samples/labeled_validation.jsonl (v2.0 96 条 ground truth) · CLI `satagent validate --compare-llm` · 反推盲点 top-3 · EH-1 validate-baseline action 月度跑
3架构 · How

5 层架构 · 从原始事件到双视角决策的全栈

所有模块按数据流方向铺开 — 上层依赖下层,横切层(observability / API / 通知)穿透全栈。圆点指示当前状态。

L1 · 输入
5 类源
JsonlSource本地 events.jsonl · 8 条 demo
TextFileSource公告 / 研报 txt
RssSourceSpaceNews · 中文 RSS 已死
XSqliteSource95 账号 / 3123 推文 · cron 在岗
HtmlScrapeSource纸面 · 中文源 fallback
L2 · 解析
分类 + 抽数字
ontology.py5 主线 · ~470 关键词
classifier.py规则版 · word-boundary
llm.pyLiteLLM · 5 provider
extract.py金额 / 时间 / 客户
ingest_pipeline去重 + 入库
L3 · 决策
双视角周报
decision.py双视角主表 · 5 步语法
thesis.py实时分 + wyhtb
triggers.py3 check + cooldown
debate.py多 Agent 多空裁决
market_model.py5 主线 × 7 年 × 3 情景
valuation.pyPE 透明映射
quality_checks.py11 red flags
L4 · 输出
多通道送达
export.pyHTML / CSV / DOCX
notify.py飞书卡片 · 重试 + 降级
live.html5 色 layer 前端
api.pyFastAPI + Bearer
slack / email纸面 · 下下轮
L5 · 横切
调度 / 观测 / 验证
jobs.pyEH-1 · token budget
observability.pyPrometheus /metrics
validation.pyv2.0 corpus 96 条
db.pySQLite + migration
launchdcron 03:00 daily
真 LLM E2E等 operator 填 key
✅ 完成 + 测试覆盖 🟡 部分 / 等外部 🟠 纸面 / 未做 ⚠️ 阻塞
4数据流转 · Flow

一条事件从raw飞书卡片 · 7 个原子步骤

这是 satellite agent 跑一次 daily 的完整链路 — 从信号源拉新数据,到推送给 operator。每步对应一个 module + 一个 SQLite 表 + 一个测试集。

step 1
raw
X / RSS / 公告
step 2
RawEvent
Source.fetch()
step 3
classify
rules + LLM
step 4
events 表
SQLite 落盘
step 5
thesis
主线评分
step 6
decide()
CEO + 投资视角
step 7
notify
飞书卡片 · 5 色
target
operator
CEO / 投资人

抓 → 入库 (step 1-4)

  • X scraper: 03:00 launchd 触发(operator 1-2 天手动跑一次 run_x_scrape.sh 拉新推文进 sqlite)
  • x-ingest action: since=上次 ts · limit=500 · 9 类账号过滤 · zh 译文拼接
  • extract.py: 中文金额 (亿/万元) + 时间窗 + 客户主体抽出
  • classifier: word-boundary match 优先,LLM 兜底门 conf<0.55 / ≥3 thread
  • events 表: (url, occurred_at) 双键去重 → events + event_threads

评分 → 决策 (step 5-6)

  • thesis.compute: 7 天窗口聚合 → 5 主线 sentiment + 净金额 + 事件数
  • triggers.check: 3 内置 check + 24h cooldown,触发即写 alerts
  • decide(view='ceo'): thread_scores + main_drivers + strategy_recommendations
  • decide(view='investor'): thread_heat + position_signals + debate verdict
  • 5 步语法: fact / calc / assumption / judgment / falsification 5 层 emoji 标记

送达 → operator (step 7)

  • render_view: 输出 markdown · 5 色 layer 元数据挂在 report["_layers"]
  • export.py: 零依赖 HTML + CSV;DOCX/PPTX 可选 extra
  • notify.send_feishu: 卡片含 hard-coded 免责声明 + 重试 + 优雅降级
  • live.html: 4 panel(WYHTB / 反方 / 如何崩塌 / Quality)+ 5 色 layer 渲染
  • EH-1 jobs: 失败累计 3 次自动 disable · 月度 token budget 跑前校验
5当前进度 · Progress

整体完成度 · ~76%

分 6 个维度看进度。L1-L4 核心链路全部 ✅,L5 横切只剩"真 LLM E2E 跑 D V2";自动化部分是真正的下一步重点。

76%
整体完成度
L1-L4 核心链路
100%
FE Round 1 五件套
100%
EH-1/EH-3 调度+通知
100%
ADVICE 三件套 (D/B/E)
90%
expert/ 上游整合
75%
cron 链 + 自动化
30%
6已交付清单 · Done

22 项已 交付 · 按 6 类分组

不含横切单测 / 文档 / 配置 / runbook。每项后挂 commit hash 或时间锚,可点 NEXT-STEPS.md 查全档。

Core Phase

7 项 · 核心链路
  • Phase 1 rules-based 分类 + 周报远端 sync
  • Phase 2 Source + 抓取管线远端 sync
  • Phase 2.1 LLM 兜底213eff3
  • Phase 3a 双视角决策远端 sync
  • Phase 3b PE 估值映射6575be7
  • Phase 3c 多格式导出远端 sync
  • 横切 ×8 thesis / obs / api / debatea39d5a1+

FE Round 1

5 项 · 判断质量层
  • FE C Red Flag 自查 11 条9566bda
  • FE A V1 证伪触发器906478e
  • FE B 5 步语法 3+5 步b55d474
  • FE A v2 WYHTB 看牛/看熊e239e44
  • live.html 5 色 layer 前端8580b54

EH 调度 + 通知

3 项 · 自动化基建
  • EH-1 调度 jobs schema + CLI + token budget335db95
  • EH-3 飞书 卡片 + 重试 + 降级2026-06-03
  • launchd cron x-ingest 03:00 daily3491f45

ADVICE 三件套

4 项 · 判断验证
  • D V1 10 条 corpus 60% baselinee14dfc0
  • D V2 对比脚手架 (Stub 66.7%)b57598b
  • B 5 skill 文档 ~780 行2f852b5
  • E 运营支撑专题 demo2fbe5c0

expert/ 整合

5 项 · 上游知识
  • wiki 入库 580 文件954aabd
  • P0-C 1/4 entities → seed 20→33a55745d
  • P0-C 2/4 concepts → ontology +1583c56b6
  • P0-C 3/4 timeline → corpus 10→962c2f631
  • P0-D X SQLite Source6902021

06-08~09 新交付

3 项 · 本周新增
  • 第 5 主线运载发射 LAUNCH_VEHICLE + 47 公司4bdc4a8
  • X scrape cron 闭环 twikit 404 兜底 + wrapper908332a
  • validation corpus v2.0 10→96(+860%)2c2f631
7剩余清单 + 时间 · Todo

11 项 · 按 P0-P3 排好

P0 阻塞 D V2 真实跑通,先做 — 只需 operator 填 5 个 provider 任一 API key。P1-P3 是中长期方向,Tier 3 是最大块。

优先级 任务 工期 阻塞
P0 · 阻塞
ADVICE D V2 真 LLM E2E agent/.env 任一 provider key → 跑 satagent validate --compare-llm → 看 LLM 能否把 96 corpus overall_exact_rate 从 27% 推回到 50%+。`compare` 脚手架已就位(b57598b)。
2-4 h 等 operator 填 key
P0 · 自动化
cron 链全栈延展(单点 → 4 链) 当前只 x-ingest 自动跑,scrape / rss-fetch / validate-baseline / decision-notify-feishu 四个 action 全部 operator 手动 — 串成 03:00 一条 launchd 链(见 §8 AC1)。
4-6 h
P1 · 数据扩
芯片主线 corpus 扩充 v2.0 corpus 芯片 only 2 条 — wiki/timeline 没芯片产业新闻;需从 EE Times / SemiAnalysis / 36kr 拉 RSS 或 sub-agent 标 20-30 条。
1 day 需 RSS 源 / 网页 scrape
P1 · 数据扩
strategy 启发式 V1.2(修 D V2 暴露的盲点) v2.0 corpus 暴露 strategy "观察 vs 进入" 18 mismatches — _infer_strategy 需要分英文 / 短文本场景细化规则。
1-2 days 先跑 D V2 拿盲点表
P1 · 输入
中文 HTML scrape 适配器 中文 RSS 生态全死(2026-06-03 实测),只能给 sources/ 加 BeautifulSoup-style 选择器,或转走公众号订阅。工信部 / 通信世界 / 通信产业网 候选。
3-5 days 网页结构反爬
P1 · X 自动化
X scraper 自己的 launchd plist 现在 operator 手动跑 run_x_scrape.sh(1-2 天一次)— 改成独立 plist 错峰 02:00 跑(避开 03:00 x-ingest 撞 429),twikit Replies 404 已兜底。
2-3 h 429 风险监控
P2 · 大块
Tier 3 · X → wiki 双向回写 X 每日推文增量回写到 wiki/entities/<slug>.md 的 "## X 动态" 段;新账号(wiki 没有的)落 _drafts/x_new_entities/ 人审。Knowledge base 自更新。
5-7 days 需 entity link 解析
P2 · 技术栈
Tier 2 · Postgres + Timescale 迁移 SQLite → Postgres + Timescale → APScheduler → Langfuse 自托管 — 涵盖原 EH-1/EH-3 复用。Web M1 启动前的必经路径(PRODUCT-STRATEGY §6.2)。
7-10 days 需 Postgres 实例
P2 · 自动化
corpus 自动扩充 pipeline 每周从最新 events 表抽未标注的高密度事件 → sub-agent 标 ground_truth → PR 自动开 — corpus 从 96 自动涨到 200+。详见 §8 AC3。
2-3 days 需 GitHub Actions + secrets
P3 · 长尾
P0-C 4/4 · wiki/people → NER 词表 34 人列入 P3 长尾,ROI 弱(现有人名识别经 D V1 调优已够好,扩词边际效益低)。除非 corpus 暴露人名识别错的盲点,否则缓做。
1 day ROI 弱不优先
P3 · 长尾
Tier 3 · debate → LangGraph + pgvector 从 ad-hoc 多 Agent 改造成 LangGraph state machine + pgvector 检索,涵盖 web M2/M3/M4 同款能力 — 启动 web 工程前置条件之一。
7-14 days 需 Tier 2 完成
8自动化开发建议 · Auto

把开发链路自动化5 个 level

从"明天可做"到"半年愿景"分 5 档。每档独立可启动,不依赖后面。本节是本页的核心新增 — 不在仓库其他文档里。

L1 · 本周

AC1 · 把 cron 单点扩成4 链

现在只 x-ingest 03:00 自动跑,其它 action 全手动。串成完整 launchd 链路就能"每天醒来看周报"。所有依赖已就位。
实施路径 ① 写 run_daily_chain.sh 依次串 5 action
② 改 plist 指向 chain wrapper(替换 run_x_ingest.sh)
③ chain 内部:scrape → ingest → rss-fetch → validate → decide → notify
④ 每 step 失败不阻塞下一 step(EH-1 的 max_failures 已兜底)
工期4-6 h
L1 · 本周

AC2 · GitHub Actions 每次 push 跑测试 + 文档校验

现已有 CI 跑 pytest,但缺文档 sync 校验 — 改了 ontology / seed 后,NEXT-STEPS / CHANGELOG / 各门户 HTML 容易 drift。让 CI 替我们检查。
实施路径.github/workflows/docs-drift.yml 新建
② 跑 grep 校验:"4 主线" 不应出现、SEED_COMPANIES 数与 README 一致、corpus 数与 docs 一致
③ 发现 drift → 评论 PR + label docs-stale
④ 不强制 block(误报回退)
工期2-3 h
L2 · 本月

AC3 · sub-agent corpus 自动扩充 pipeline

corpus 现 96 条,目标 200+。本会话已验证 sub-agent 标 ground_truth 可行(P0-C 3/4)。每周自动跑一次,人只做 PR review。
实施路径scripts/weekly_corpus_expand.py:从 events 表抽过去一周未在 corpus 的高密度事件
② Claude Code 命令行 cron 每周日 22:00 跑,prompt 复用 P0-C 3/4 的 schema
③ 输出 samples/_pending_labels.jsonl
④ GitHub Actions 自动开 PR + 邀 review
⑤ merge 后跑 validate 看新 baseline
工期2-3 days
L2 · 本月

AC4 · 真 LLM E2E 持续基线

D V2 跑通后,把 satagent validate --compare-llm 做成 EH-1 月度 action,自动跑 + 飞书推 + 报告归档,operator 不用每月手动跑。
实施路径_action_validate_compare 新建,复用 validate-baseline 的失败重试链路
② jobs 表 token_budget_monthly 给这个 action 预算 $5(够跑 96 条)
③ 月度推一份对比报告到飞书:rules-only / +LLM / Δ 三视角
④ Δ 退化 ≥5% 触发告警
工期1 day
L3 · 季度

AC5 · 文档自动同步 sub-agent

现在每次大改后我得手工同步 NEXT-STEPS / CHANGELOG / 各门户 HTML(本会话花了 13 文件)。让 sub-agent 自动 diff 代码 + 文档 + 自动 PR doc 更新。
实施路径skills/auto-doc-sync/SKILL.md 沉淀:diff 检测 + 关键数同步规则
② git pre-push hook 触发 Claude Code 跑这个 skill
③ skill 内部:跑 grep 找过时数 → 给 5 大门户文件改 → 留 review block 区
④ 人 review 1-2 分钟即可 merge
⑤ 边际成本:几乎为 0
工期3-5 days
L3 · 季度

AC6 · 多 sub-agent 并行调研 流水线

wiki round-2 已验证 4 路并行可行(线性 wall time × N → wall time /4)。把这个模式包成可复用的 SKILL 给所有"批量 + 独立任务"用。
实施路径skills/parallel-research/SKILL.md:greedy bin-pack 切批 + 并发 dispatch + merge
② 包装成 CLI satagent parallel-research --task xxx --batch-size N
③ 应用场景:corpus 扩充 / wiki round-N / 公司卡片填充 / 反方论据生成
④ 关键约束:每路 sub-agent 必须同 message 并行(本会话已踩坑)
工期2-3 days
9AC1 详图 · daily cron 链可视化

03:00 - 04:30 · daily 全栈链

operator 醒来 → 看 live.html 或飞书卡片 → 决定本周 ACTION。理想状态下不需要手工跑任何东西。

03:00
scrape
run_x_scrape.sh
拉新 X 推文
03:15
x-ingest
jobs run
入 events 表
03:30
rss-fetch
jobs run
SpaceNews 等
03:45
validate
每月 1 号
看 baseline
04:00
decide
jobs run
生成周报
04:15
notify
飞书卡片
送达 operator
● 绿色 = 已自动 · ○ 金色 = 待串入链(AC1) · 串完后:operator 醒来手机就有当天卫星互联网产业的双视角周报