第 7 视角门户 · SOURCES · 2026-06-09 时间锚

多少个数据源,
质量到底如何?

用 sqlite3 直接查 agent/data/agent.db 实测每条数据通路的体量、鲜度、判重健康、5 主线覆盖、已知问题, 给每个源一个 9 维质量评分 + 一句话定级。这个页面回答两件事: (A) 我们现在在吃哪些料、各自吃了多少;(B) 这些料里哪些是干净的、哪些有暗坑要修

看 8 源详情 → 9 维评分矩阵 已发现 5 个问题 修复路线图 public/ 14 skills 接入
Source 实现
8
续 23 +wiki-timeline · 另 1 wiki 种子层(构建期)
活源 / 总源
4 / 6
2 冻结策展集
入库 events
995
续 18 P3.2 +8 SpaceX briefing LLM · 主线命中率 73.2%
质量维度
9
量/鲜/通路/覆盖/...
已发现问题
5
P0 已修 · 剩 2 P1 + 2 P2
public/ skills
15 / 18
9 入源 (+SpaceX briefing PDF ✅ Kimi Coding LLM) + 4 工具 · 剩 orbit-wars 非数据
1每个源拿放大镜看

8 个 Source + 1 层 wiki 种子 · 各自质量定级

每张卡 4 个 KPI(量 / 鲜度 / 通路 / 覆盖) + 3 项质量 grade(量级 / 鲜度 / 准确性) + 最关键的一句话定级(第 7 源 InvestorManifest 的接入与体量见 §5)。有暗坑的源会单独出 ⚠ 已发现 红框, 直接对应 §3 的问题清单。

X-SQLite · 推文池

sources/x_sqlite.py · 量最大但日期格式坏
● live · cron
中 — 量够大,但 occurred_at 格式坏 P0 修字段标准化
3,140
推文池
368
入库 events
78
活跃账号
cron
03:00 daily
量级A 强
鲜度A 日更
准确性D 弱
实测证据 推文池 expert/X/data/x.sqlite3 3140 行 / 78 账号 / 时间跨度 2020-09 → 2026-04; launchd 03:00 daily 已在岗 (任务 com.invesresearch.x-ingest); 5 主线覆盖 4/5:核心网 14 / 运营支撑 11 / 终端 2 / 芯片 1 / 运载发射 0(国外火箭账号未在 seed)。
occurred_at 字段直接吃了 Twitter 原始格式 "Wed May 20 13:00:33 +0000 2026", 不是 ISO8601 → 窗口查询 / 排序 / decide() 7d/30d 窗口都会按字符串排,排出来的不是真正时间序。

HarnessFarm · 双胞胎产线

sources/harnessfarm.py · 205 case 自带 ground truth
▢ 策展冻结
强 — 全 5 主线 + ground truth 自带 A 路 source 字段被 publisher 覆盖,但不影响判分
205
case 总数
125
入库 events
194
in_domain
11
域外负样本
量级A 强
鲜度C 冻结
准确性A 自带 GT
实测证据 expert/data/harnessfarm/real_ingest_cases.jsonl (续 12 vendor 自 public/), 205 case,A 路 (scripts/import_harnessfarm.py) 灌进 events 124 条 + C 路 (sources/harnessfarm.py) 1 条; 5 主线分布:核心网 +69 / 终端 +79 / 运营支撑 +49 / 芯片 +18 / 运载发射 +3。 自带 expected_analysis.mainline / thesis_impact 跨产线 ADVICE baseline (threads 30% partial 60% / impact 43%)。
A 路用 JsonlSource 读时, RawEvent.source 字段被 publisher 名(AST SpaceMobile / Apple / MediaTek …)覆盖了"HarnessFarm · "前缀 → 反查时按 url 域名才能挑出来, 不能 LIKE 'HarnessFarm%'。

ShockEvents · 策展冲击事件

sources/shock_events.py · 21 条人工策展全负面
▢ 策展冻结
强 — 全 5 主线 + 100% 削弱与 HarnessFarm 互补 没暗坑;但靠人工策展,新增需 HarnessFarm 那边出 commit
21
策展事件
20
入库 events
5/5
主线覆盖
5y
时间跨度
量级C 小
鲜度C 冻结
准确性A 人工
实测证据 expert/data/shock_events/events.csv (续 12 vendor 自 public/), 21 条策展冲击事件 (2021-2026),严重性高/中 each;impact 源层硬编码 削弱 (全负面); 5 主线分布:运载发射 15 (NG-4 / NG-3 / Starlink G9-3 / Virgin Orbit / Astra / Firefly) / 核心网 5 (Starlink 地磁暴 40 颗 / ViaSat-3 / Intelsat 33e) / 运营支撑 1 / 终端 1。 HarnessFarm 偏强 94% + ShockEvents 全弱 100% → 互补 thesis 评分幸存者偏差。

RSS · SpaceNews

sources/rss.py · 1 enabled · 1 disabled · 中文站全 404
⚠ 中文断口
中 — 英文还行,中文完全断口 P1 找替代:政策端用 Text 手贴 / 中文产业用 X 中文账号补
2
配置 feed
1
enabled
0
中文 live
~24
items / fetch
量级C 中
鲜度A 实时
准确性A 官源
实测证据 agent/config/rss_feeds.json 2 feed:SpaceNews enabled(每次抓 ~24 items,关键词过滤后 ~10 入库) / Satellite Today disabled (Fastly Varnish 403 anti-bot,UA/cookies 都被 block)。 中文产业站(工信部 / 通信世界 / 通信产业网)2020 后 RSS 全部下架(404 或返 HTML)。 CLI satagent fetch --source rss --config agent/config/rss_feeds.json 通,但暂未挂 cron
中文产业端完全没 RSS 通路 → 国内运营商采购 / 工信部政策 / 中国卫星与烽火等公司动态全靠 Text 手贴(目前 events 表只 7 条), 量上不来是国产主线证据稀薄的根因之一。

JSONL · 样本投喂

sources/jsonl.py · 主要走 corpus / validation 而非 ingest
○ 静态投喂
强(作为 corpus) — 弱(作为 ingest) 本职是 D V1/V2 验证回路,不是日常入库
4
jsonl 文件
185
标注样本
96
validation 主
205
HarnessFarm 跨产线
量级A 强
鲜度C 静态
准确性A 标注
实测证据 agent/samples/ 4 份 jsonl 总 185 条 ground truth: labeled_validation.jsonl 96 条 (P0-C 3/4 扩 · 5 主线全覆盖) · labeled_real.jsonl 26 条真实集 (macro F1=0.857) · labeled_regression.jsonl 31 条 · labeled_global_satellite_internet_202606.jsonl 31 条全球。 外加 labeled_harnessfarm_v1.jsonl 205 条跨产线。

Text · 本地手贴

sources/text.py · 应急通路,频率低
○ 手贴
弱 — 频率低 + 体量极小 P2 沉淀 wiki 模板让 operator 抄进来
8
入库 events
7d
最近窗口
4/5
主线覆盖
0
运载发射
量级D 极小
鲜度C 手动
准确性A 人工
实测证据 events 表反查 source 字段 8 条:公司公告 3 / 工信部新闻 2 / 媒体报道 1 / 投资者关系 1 / 公司发布 1; 时间窗 2026-05-23 → 2026-05-30 (7 天内手贴); 5 主线分布:终端 5 / 核心网 4 / 芯片 3 / 运营支撑 2 / 运载发射 0。 CLI satagent ingest --source 公司公告 --text "..." --url ... 单条投。
没沉淀模板 / 没飞书 webhook 上行通路 → operator 看到新闻只能复制粘贴, 频率上不来。 国内运营商月报 / 工信部审批 / 中国卫星财报这些高价值中文事件全卡这条。

WikiTimeline · 大事年表

sources/wiki_timeline.py · 续 23 第 8 源 · commit 90f582d
○ 批量回灌
强 — 725 bullet 一次回灌 +487 events skip_planned / skip_future 双闸 + 行级 sha1 判重
725
timeline bullet
+487
入库 events
43.5%
主线命中率
双闸
planned/future
量级A 强
鲜度C 批量
准确性A 策展
实测证据 expert/wiki/timeline/all.md 大事年表 725 bullet → 解析回灌 +487 events; skip_planned / skip_future 双闸过滤"计划中 / 未来时态"行,只入已发生事实; 行级 sha1 进判重 key,同文复跑 0 重复; 主线命中率 43.5%(年表含大量产业背景行,低于 manifest 类是预期)。 本环境 real-run.db events 合计 658(含 wiki-timeline 487)。

Wiki 种子层 · 构建期(非运行时)

expert/wiki/ → agent/{seed.py, ontology.py, samples/}
▲ build-time
强 — 已灌 3/4(entities / concepts / timeline) 不参与运行时, 决定了 seed / ontology / corpus 三大常量的质量底线
425
entities
392
concepts
64
people
103
reports
931
timeline 行
实测证据 · 灌进 agent 的 3 个位置 (1) SEED_COMPANIES:wiki entities → 47 家公司(20→33→47 三次扩, commit a55745d / 4bdc4a8) · (2) ontology.py:wiki concepts → 词典 +15 词 + 第 5 主线 LAUNCH_VEHICLE +103 词(commit 83c56b6 / 4bdc4a8) · (3) samples/labeled_validation.jsonl:wiki timeline → 10→96 条 sub-agent 标注(commit 2c2f631)。 P0-C 4/4 (people → NER 词表) ROI 低留长尾。
29 维质量评分一页对照

横向打分矩阵 · 看谁在哪一维强

把 7 个 Source + 1 wiki 种子层在 9 个质量维度上横向打分(第 7 源 InvestorManifest 接入细节见 §5)。 ✅ 强 · ◐ 中 · ⚠ 弱 · ⏸ 不适用。 最右一列是综合定级,对应 §1 详卡的一句话定级。

鲜度 通路 覆盖 跨度 成本 GT 判重 问题 定级
X-SQLite ✅ 368 ✅ daily ✅ cron ◐ 4/5 ✅ 5y+ ✅ 自动 ⏸ 无 ✅ url+ts ⚠ 日期
HarnessFarm ✅ 125 ⚠ 冻结 ✅ 双入口 ✅ 5/5 ✅ 跨年 ✅ 文件 ✅ 自带 ◐ src 字段
ShockEvents ◐ 20 ⚠ 冻结 ✅ 双入口 ✅ 5/5 ✅ 5y ✅ 文件 ✅ 人工 ✅ 无
RSS ◐ ~10/抓 ✅ 实时 ◐ 1 enabled ◐ 仅英文 ✅ 近期 ✅ 自动 ⏸ 无 ⚠ 中文断
JSONL ✅ 185 ⚠ 静态 ✅ 5/5 ✅ 标注 强 (corpus)
Text ⚠ 8 ⚠ 手贴 ◐ CLI 单条 ◐ 4/5 ◐ 7d ⚠ 人工 ⏸ 无 ⚠ 无模板
WikiTimeline ✅ 487 ◐ 批量 ✅ 复跑安全 ◐ 43.5% 命中 ✅ 多年 ✅ 文件 ⏸ 无 ✅ 行 sha1 ✅ 无 (双闸防错入) 强 (回灌)
Wiki 种子 ✅ 1.4K+ ◐ 06-07 灌 ✅ build ⏸ 不运行时 强 (build)
合计 (7+1) 521 events 1 daily cron 4 live 5/5 主线 2018-2026 cron+文件 3 源带 GT url+ts 全开 5 个待修
3已发现的 5 个数据质量问题

暗坑清单 · 按优先级排

把这次摸底过程中发现的 5 个数据质量问题摊开, 每个都给:现象 / 影响 / 修复方案 / 优先级P0 直接影响 decide() 正确性, P1 影响产品覆盖, P2 是体验 / 可维护性。

P0 #1 · X-SQLite occurred_at 非 ISO ✅ 已修 续 13

已修
X-SQLite 把 Twitter 原始 created_at 字符串 "Wed May 20 13:00:33 +0000 2026" 直接当 occurred_at 写入 events 表。
原影响 (已消除) 368/521 = 70% events 时间字段曾不可靠 → 续 13 修复后 ISO 化,实际真实时间序排了。
修复落地 · 续 13 单 commit sources/x_sqlite.py_to_iso()email.utils.parsedate_to_datetime 转 ISO + RawEvent 构造调用; agent/scripts/backfill_x_occurred_at.py 一次性 UPDATE 历史 368 条 (幂等 / 真跑成功 / 复跑 0 行); test_x_sqlite_source.py +2 单测 (test_occurred_at_normalized_to_iso 强制 ISO + test_to_iso_helper_pure 4 形态);全仓 361→363 passed

P1 #2 · RSS 中文产业站全断口

P1 中
工信部 / 通信世界 / 通信产业网 / 中国通信网这些中文产业站 2020 后 RSS 全部下架(404 / 返 HTML / cookie 拦截); 配置文件 agent/config/rss_feeds.json 里中文 feed 全部 enabled=false 留存档。
影响 国产主线(中国卫通 / 烽火通信 / 信科移动 / 海格通信 / 北斗星通)证据稀薄; 采购公告、政策审批、年报披露这些本来是 thesis 主驱动的中文事件全卡 Text 手贴(目前 8 条)。
修复 (a) X-SQLite 加 5-10 个中文产业账号补缺(@C114News / @通信产业网 / @工信微讯); (b) Text 上行通路加飞书 webhook bot 让 operator 一键发到群 → bot 回贴入库; (c) 重做 RSS 中文 feed (已死, 不浪费时间)。预计 1-2 天。

P1 #3 · X-SQLite 缺运载发射主线

P1 中
X-SQLite 抓的 78 活跃账号里运载发射(SpaceX / Rocket Lab / Blue Origin / Firefly / Astra / Relativity 等)账号一个都没有; 368 条入库 events 5 主线分布:核心网 14 / 运营支撑 11 / 终端 2 / 芯片 1 / 运载发射 0
影响 第 5 主线 LAUNCH_VEHICLE 是 06-08 commit 4bdc4a8 才加的,X-SQLite 没补齐就导致 thesis 评分里 运载发射 完全靠 HarnessFarm + ShockEvents 撑; 一旦那两个 fixture 集没新增,运载发射就实时数据 0 信号
修复expert/X/scripts/scrape.py 的账号清单加 12-15 个国外火箭账号(@SpaceX / @rocketlab / @blueorigin / @Firefly_Space / @virgin_orbit / @relativityspace 等) + 国内火箭(@iSpaceCN / @LandSpace 等);ontology 已经有运载发射词典支持。预计 半天。

P2 #4 · HarnessFarm A 路 source 字段被覆盖

P2 低
A 路一次性脚本 scripts/import_harnessfarm.pyJsonlSource 读 HarnessFarm jsonl 时, RawEvent.source 字段被 jsonl 里的 publisher 名(AST SpaceMobile / Apple / MediaTek …)整个覆盖了, 丢了"HarnessFarm · "前缀。C 路新 source 已修。
影响 反查 124 条 A 路 events 时不能 WHERE source LIKE 'HarnessFarm%',要按 url 域名(apnews/techcrunch/cnbc)挑; 报表 / 数据视角面板的 "数据源" 分布饼图会把 HarnessFarm 拆成 N 个小切片。
修复 一次性 SQL UPDATE 把 url 域名匹配中的 A 路 events 改回 'HarnessFarm · '; 或者 接受现状(不影响 decide() 正确性, 只影响反查 UX),作为"已知历史伤疤"留着。 建议后者。预计 5 分钟 / 接受。

P2 #5 · Text 手贴没模板没上行

P2 低
Text 源是 CLI 单条投 satagent ingest --text "..." --source 公司公告 --url ... --occurred-at ...; operator 看新闻 → 切终端 → 拼参数 → 跑命令,一条事件十几秒。
影响 中文产业事件入库频率上不来 (目前 7 天内仅 7 条); P1 #2 修复后体感会改善,但根因是没把 operator 行为做成低摩擦工作流
修复 (a) 写飞书 / 微信 bot:operator 在群里转发链接, bot 自动 fetch + classify + 反贴入库结果(让 operator review 后确认); (b) 写 wiki skills/text-ingest-template:URL → title / source / occurred-at 抽取模板 + 5 行复用脚本。 预计 2-3 天 (含飞书 bot)。
4下一步质量优化路线

修复 · 扩量 · 守住

把 §3 的 5 个问题排进时间线, 同时把后续接入候选(MDA / VOYG / CRS / SpaceX briefing)放进 中期近期把 P0 #1 X-SQLite 日期格式先修, 这是 70% events 时间字段的正确性问题。

✅ 续 13 已完
P0 #1 修 X-SQLite 日期 ISO 化 + 一次性回填 368 条 events sources/x_sqlite.py 加 _to_iso · backfill 脚本回填 368 行 (幂等) · +2 单测 · 361→363 passed
实际 25 分钟
✅ 续 24 已上
L3 cross_check 第二评委 上线 · wiki entities 对账 events 库 satagent cross-check · company_country 41 不一致 + company_recall 274 召回缺口 · 只读 entities/ 不读 timeline/ 防同源循环 · 报告 agent/reports/cross-check-2026-06-10.md
已落地
近期 · 1 周
P1 #3 X-SQLite 账号清单 + 国外火箭账号 补运载发射主线 @SpaceX / @rocketlab / @blueorigin / @Firefly_Space / @virgin_orbit 等 12-15 个 · 复用现有 ontology
半天
中期 · 2-3 周
P1 #2 中文产业事件 飞书 bot 上行 + X 加 5-10 中文产业账号 operator 群里转发 → bot fetch + classify + 反贴; X 加 @C114News / @通信产业网 等
1-2 天
中期 · 2-3 周
第 7 / 第 8 个 Source: MDA / VOYG / CRS investor materials 半结构化 md/docx 需 LLM 抽取 · 走 expert-wiki-ingest pattern 入 wiki, 不直接入 events
3-5 天
长期 · 1 月+
P2 #5 Text 手贴 低摩擦工作流 + wiki text-ingest 模板 skill 飞书 bot 转发就入 · operator 一行确认 · 配合 P1 #2 把中文事件量推到每周 10-20 条
2-3 天
长期 · 1 月+
P2 #4 接受 HarnessFarm A 路 source 字段历史伤疤 (不修) 不影响 decide() · 只影响数据视角饼图 · 成本 / 收益不划算 · 文档化即可
5 分钟 / 接受
守住 · 持续
每加一个新 Source 必跑 9 维质量摸底, sources.html 加新卡 + matrix 加新行 避免再出现 "数据进来了但日期是垃圾" 这种发现得晚的 P0 暗坑
每源 +10 分钟
5public/ 下 14 个 skill 接入对照

所有 HarnessFarm 资源,谁进了源、谁还没?

public/HarnessFarm-skills/ 13 个目录 + public/HarnessFarm-satellite-agent/ 1 个 + 顶层 5 zip + 1 xlsx,共 20 项(续 12 补全)。 按状态分类:✅ 入源 / vendor · ⏳ 待接入 · ⏸ 冗余备份。 续 11 vendor 4 工具;续 12 解耦 2 运行时数据到 expert/data/; 续 14 写 InvestorManifestSource 通杀 4 投资者 manifest,events 521 → 855 (+334)。 续 16 P1 已修:扩 SEED 加 13 家境外卫星公司 (MDA / VOYG / CRS / Iridium / Viasat / SES 等) + ontology 加 25 英文 thread 关键词 + company_threads 加 alias-fallback + DB sync 20→60 + 446 events reclassify,InvestorManifest 命中率 0% → 100%,整体 mainline 命中率 20% → 68.8%续 17 续接入:解压 MDA_Interim_Quarterly_Reports.zip + VOYG⭐️.zip 到 expert/data/archives/ → 写通用 generate_archive_manifest.py 从文件名提 metadata 生成 schema A manifest → 走 InvestorManifestSource ingested +32 (MDA 21 + VOYG SEC 11) · events 855 → 887 · 100% 命中 · 删 2 个 shock-events 冗余 zip · public/ 合入率 12/20 → 12/18 = 67%续 18 P3.1 路线 B 摸底改路:原本 3 项 xlsx/PDF 预设走 LLM, 摸底发现 MDA xlsx (11 sheets) + HAWK/LUNR xlsx (8 sheets) 是结构化表格 — 写 extract_archive_xlsx.py openpyxl 直接抽 events (MDA 02_季度趋势 / 04_叙事演变 / 08_会议证据 共 27 + HAWK 13 + LUNR 60) → 走 InvestorManifest schema A 入 +100 events 全 100% 命中 (LUNR 60 → 运载发射 / MDA 27 → 终端 / HAWK 13 → 运营支撑) · events 887 → 987 · 命中率 69.9% → 72.9% · public/ 合入率 12/18 → 14/18 = 78%续 18 P3.2 SpaceX briefing PDF Kimi Coding 抽取:加 LiteLLMClient.user_agent + 通用 SATAGENT_LLM_USER_AGENT env 变量 — 不在代码 hardcode 任何 vendor 白名单 UA, operator 自评 TOS 后选 UA(智谱 Coding 限额未恢复, 改用 Kimi For Coding 端点 K2 模型, UA="KimiCLI/1.5" 通过验证); extract_spacex_briefing.py 用 pypdf 解 10 页 / 3066 chars + streaming LLM 抽 8 events (Kimi K2 thinking 慢, non-stream 易触发 SDK timeout, 必须 streaming) · ingested +8 events 100% 命中 LAUNCH_VEHICLE + 多主线分流 (3 OPS / 2 CN / 2 TERM / 2 CHIP) · events 987 → 995 · 命中率 72.9% → 73.2% · public/ 合入率 14/18 → 15/18 = 83% (剩 orbit-wars.zip 是 mini-agent 模板非数据)。 续 18 P3.3 D V2 真 LLM E2E 出报告:跑 satagent validate --compare-llm 96 corpus + Kimi K2 (43:08 wall / 77 escalate 80.2% applied) → 反预期发现 overall 29.2% → 21.9% (-7.3pp ⚠), thesis_impact +16.7pp / strategy +8.4pp 正向, 但 threads -14.1pp / thread_in_focus -18.8pp 退步 (K2 保守过头覆盖 rules 多主线召回);3 fixed / 10 regressed / 65 unchanged-fail;产出 reports/validation-d-v2-2026-06-10.md + operator analysis reports/d-v2-analysis-2026-06-10.md 含 3 修复路线 (合并不替换 threads / 改 escalate 门 / improve prompt few-shot) · baseline 凿实 29.2% (之前粗算 27%), 路线 1 是下一轮最高 ROI续 18 P3.4 路线 1 实施 + D V2 round 2 转正:改 classify_with_llm threads 从 override → union mode (default) (env SATAGENT_LLM_THREADS_MODE 控制双模式), audit 加 threads_mode / llm_threads / added_by_llm 字段; 重跑 D V2 96 corpus overall +2.0pp 转正 (29.2% → 31.2%): threads -14.1pp → +1.4pp ✅ (+15.5pp 改善), thread_in_focus -18.8pp → 0.0pp, regressed 10→2 (-8), fixed 3→4 (+1), unchanged-pass 18→26; thesis_impact +14.6pp / strategy +9.4pp 保持正向; 测试 400 passed (新 union mode test + monkeypatch 4 legacy override test);路线 1 假设完全验证 — K2 不熟 ontology 误删多线是 round 1 root cause, union 修完续 18 P3.5+P3.6 路线 2+3 + 跨 provider 跑通:路线 2 把 DEFAULT_MAX_THREADS 3→4 (5 主线项目 3 主线召回是合理的,4 才算 over-fire);路线 3 重写 _SYSTEM_PROMPT 列全 5 主线 + 各自 few-shot 关键词 + 明确"保留 rules_hint 已给的主线" — **修预存 prompt bug** (原 prompt 写"产业有且仅有四条主线", 续 6 已加第 5 主线运载发射, K2 严格 follow drop 它);**R3 Kimi K2 跑出 +8.3pp** (fixed 4→10, 全 4 字段正向);P3.6 跨 provider 切智谱 GLM-4.6,修 response_format 不兼容 bug (`drop_params=True`),**R4 智谱跑出 +13.5pp 🏆 历史最佳** (rules 29.2% → +LLM 42.7%, thesis_impact +24.0 / strategy +19.8 / fixed 16);4 rounds 累计 20.8pp 净改善(R1 -7.3 → R4 +13.5);智谱中文友好 native 优势,K2 backup → reports/d-v2-rounds-1-to-4-summary-2026-06-10.md。 当前 12/20 = 60%(6 入源 / 4 工具 vendor / 2 冗余备份)。 剩 6 待接入 (VOYG-cust 295 行 source_date 全空 0 入 / HAWK-LUNR / SpaceX briefing / 4 顶层归档), 路线 B LLM 抽取处理时间缺失类。

11
✅ 已入数据源
HF / ShockEvents + 4 投资者 manifest
+ MDA quarterly + VOYG SEC zip
+ MDA xlsx + HAWK + LUNR
+ 续 18 P3.2 SpaceX briefing PDF
共入 events 995
4
✅ 工具 vendor
→ expert/collectors/
satagent collect <kind> 入口
1
⏳ 非数据
orbit-wars.zip 8K (README+agents.md+main.py) 是 mini-agent 模板, 不属合入范围
2 → 0
✅ 续 17 删冗余
shock-events 2 zip 已 rm
(摸底证实跟目录形式同源)
目录 状态 体量 说明
HarnessFarm-satellite-agent/ ✅ 入源 + vendor 205 case 另一个并行 4 主线 satellite-agent (LeadResearchAgent + LLMFactExtractionAgent + source-backed corpus)
C 路 HarnessFarmSource 接入 · 续 12 解耦: jsonl 从 public/ 副本到 expert/data/harnessfarm/,source 默认 path 已切;public/ 副本可删
commercial-space-...-shock-events/ ✅ 入源 + vendor 21 events 人工策展 21 条近 5 年商业航天冲击事件 csv
D 路 ShockEventsSource 接入,入 events 20 条 · 续 12 解耦: csv 从 public/ 副本到 expert/data/shock_events/,source 默认 path 已切
collect-investor-meeting-materials/ ✅ vendor 672 行 投资者会议 (earnings/IR/AGM/conference/webcast) → expert/collectors/investor/
satagent collect investor --companies "RKLB Rocket Lab, ..." · 一次一家迭代 · 产物落 agent/data/collected/investor/<run-ts>/
collect-customer-intelligence-materials/ ✅ vendor 308 行 客户合同 / 招投标 / usaspending awards 抓取 → expert/collectors/customer/
satagent collect customer --companies "VOYG Voyager Technologies" · 一次一家迭代
international-financial-reports/ ✅ vendor 586 行 非美上市公司财报 (年报 / 半年报 / 季报) → expert/collectors/intl-reports/
satagent collect intl-reports --discover-only · 硬编码 ETL/TSAT/GILT
sec-filing-downloader/ ✅ vendor 908+378 行 SEC EDGAR 10-K / 10-Q / 修订 / IPO 历史 → expert/collectors/sec/
satagent collect sec --companies "RKLB Rocket Lab, PL Planet Labs" · 一次多家 · smoke 通 · 12KB zip 产出
commercial-space-...-shock-events-source-materials/ ⏳ 待接入 53 行 + 50 原文 shock-events 的原始素材库 — 37 news URL records + 13 官方 html
素材已被 events.csv 抽完,接入价值低,留作"事件 → 原文"反查通路
crs-investor-meeting-materials/ ✅ 入源 100 → 92 events Carpenter Technology Corporation (CRS, NYSE) 投资者会议资料包
续 14 InvestorManifestSource schema A · ingested 92 (7 FAIL filtered)
mda-investor-meeting-materials/ ✅ 入源 192 → 94 events MDA Space Ltd. (TSX:MDA) 投资者会议资料包
续 14 InvestorManifestSource schema A · ingested 94 (94 FAIL filtered, MDA 早年材料挂多)
mda-voyg-crs-financial-agent-output/ ✅ 入源 165 → 107 events MDA + VOYG + CRS 三家 financial-agent 统一 manifest
续 14 InvestorManifestSource schema C · ingested 107 · 用 fiscal_year+period 推季末日期
voyg-investor-meeting-materials/ ✅ 入源 63 → 41 events Voyager Technologies (VOYG, NYSE) 投资者会议资料包
续 14 InvestorManifestSource schema A · ingested 41 (21 FAIL filtered)
voyg-customer-intelligence-materials/ ⚠ 0 入 (无日期) 296 → 0 events VOYG 客户情报 — usaspending normalized awards
续 14 InvestorManifestSource schema B · ingested 0 · 295/295 行 source_date 全空 → 全 filtered. 下轮路线 B LLM 抽 PDF/JSON 推断时间 / 或加 fallback date 参数
hawk-lunr-report-packages/ ⏳ 待接入 717 KB HAWK + LUNR 报告包 (两家 SPAC / IPO 公司, 含 ISR 卫星 / 高超声速等)
zip 内文未解压看, 接入前需 unzip 确认 schema
spacex-orbital-ai-compute-briefing/ ⏳ 待接入 PDF + PPTX SpaceX 轨道 AI 计算 S1 简报 — 单份长文档
单份 PDF/PPTX, 人工 review 挑句 / 走 Text 源单条投比写 Source 划算
↓ 续 12 摸底新发现 · public/HarnessFarm-skills/ 顶层 6 个零散归档(之前 §5 漏列)
MDA_完整中文投研分析报告.xlsx ⏳ 高价值 66 KB ⭐ 中文投研报告 — MDA Space 的中文版完整投研分析,跟 wiki 知识库结构最接近
路线 B · LLM 抽取走 expert-wiki-ingest pattern · 优先级高于一般 PDF
MDA_Interim_Quarterly_Reports.zip ✅ 续 17 入源 6 MB MDA 21 个季度财报 PDF (2021-2026 Q1-Q3, Interim Financial + MD&A) — 原 mda-investor manifest 0 命中, 是真正补集
解压到 expert/data/archives/mda_quarterly/ · generate_archive_manifest.py --pattern mda-quarterly 生成 manifest · 走 InvestorManifestSource schema A · ingested +21 · 100% 命中终端主线
VOYG⭐️.zip ✅ 续 17 入源 (SEC 部分) 16 MB VOYG 134 文件:SEC raw filings 11 (10-Q/10-K/S-1/424B4/DEF 14A/8-K) + IR 材料 (跟 voyg-investor manifest 副本, 跳过去重)
解压到 expert/data/archives/voyg_archive/ · --pattern voyg-sec --exclude-subtree 'PPT:transcript' · 走 InvestorManifestSource · ingested +11 SEC HTM · 100% 命中运营支撑主线
orbit-wars.zip ⏳ 待评估 7 KB 3 文件 (README.md / agents.md / main.py) — 是个 mini agent project 模板,不是数据
不属于"数据合入"范围, 可保留作模板参考或忽略
shock-events.zip ✅ 续 17 删冗余 ~17 KB 已删 — 跟同名目录内容一致 (摸底证实), 目录已被 ShockEventsSource 集成
shock-events-source-materials.zip ✅ 续 17 删冗余 ~7.5 MB 已删 — 跟同名目录内容一致 (摸底证实), 释放 7.5 MB
续 12 摸底关键判定 · public/ 不能直接删

续 12 全摸底发现 public/ 总 480 MB,删除影响 5 类: (1) 4 工具 vendor 副本(可删 · 已在 expert/collectors/)· (2) 2 数据 vendor 副本(本轮已解耦 → expert/data/,public/ 副本可删)· (3) 8 待接入内容包(共 ~145 MB,删了就丢)· (4) 6 顶层零散归档(本表新增 4 行 + 2 冗余备份)· (5) ~290 MB upstream git history(原是 HarnessFarm/-skills.git clone,删了下次 git pull 拉新内容要重 clone)。 推荐分阶段:本轮先解耦 2 数据 + 文档化 6 漏列;public/ 保留作为 upstream snapshot,后续 8 内容包按路线 A/B/C 处理完, 才考虑彻底删。

3 条接入路线 · 按数据类型分

把 8 个待接入内容包按结构化程度分类,各自走不同的 Source 模式,不要一份份手写 7 个 source.py。

路线 A · 结构化 manifest

InvestorManifestSource 通杀 5 个包

5 个 *_manifest.csv 共 916 行 (CRS 100 + MDA 192 + VOYG inv 63 + VOYG cust 296 + mda-voyg-crs 165), schema 一致(company / ticker / period / event_date / source_url / material_type)。 写 1 个 Source 通杀, 公司 / 事件类型枚举映射在 source 层。

候选体量 按 100% 入率, events 521 → 1437 (+916); 按去重 / 主线过滤 70%, 最少 +640 events。 5 主线分布预测:运营支撑(财报披露)+ 运载发射(VOYG 推进)+ 核心网(MDA 卫星)。
路线 B · LLM 抽取入 wiki

expert-wiki-ingest pattern

财报 PDF / 投资者 PPTX / SpaceX briefing 这类半结构化长文,不能直接入 events 表(信息密度太低 / 一条事件占好几页)。 走 wiki ingest 抽 entities / concepts / timeline, 再走 seed importer 灌进 SEED_COMPANIES / ontology / labeled_validation。

候选体量 mda-voyg-crs Final_Financial_Report.xlsx + SpaceX briefing PDF/PPTX → 估 +150 entities / +80 concepts / +60 timeline 行; 灌进现有 wiki 后下次 P0-C 4/4 (NER) 顺手扩。
路线 C · 接受 / 暂不接

3 个低 ROI 包 放着

(1) shock-events 原素材 — 已被 events.csv 抽完, 接入价值低, 留反查通路即可; (2) HAWK/LUNR zip — 未解压看 schema, 公司不在 SEED_COMPANIES 47 家里, 优先级低; (3) SpaceX briefing — 走 Text 源单条投比写 Source 划算。

候选体量 这 3 个不接入 / 暂不接; shock-events 原素材如需反查可写一个 5 行 url 索引脚本, HAWK/LUNR 等 SEED_COMPANIES 扩到火箭/制造类时再回头看。
近期 · 1 周
路线 A · 写 sources/investor_manifest.py 第 7 个 Source 读 5 个 *_manifest.csv, schema 已对齐 · 公司枚举 → SEED_COMPANIES 反查 · 走 url+event_date 判重
1 天
中期 · 2-3 周
路线 B · MDA / VOYG / CRS PDF/XLSX LLM 抽取 入 wiki 用 mda-voyg-crs-financial-agent-output 的 Final_Financial_Report.xlsx 作起点 · 走 expert-wiki-ingest skill
3-5 天
长期 · 接受
路线 C · 3 个低 ROI 包 不接入, 文档化 (本表) shock 原素材 / HAWK-LUNR zip / SpaceX briefing PDF · 留 ROI 高的时候再回看
0 / 文档化