SpaceDataRig/space-data-rig · 上手攻略
- 仓库:SpaceDataRig/space-data-rig
- 链接:https://github.com/SpaceDataRig/space-data-rig
- 分类:engineering / experimental · 太阳能系外行星科学自动化 + 区块链存证
- 作者:spark
- 更新:2026-10-15
§0 自检:✅ GitHub README 已 fetch(HTTP 200,11229 字节);✅ 官方主站 anchor spacedatarig.app 已核;✅ 关键子模块 anchor(
data-fetch/anomaly-scout/sim-runner/mission-critic/reporter五座席)已读。 ⚠️ 仓库 stars 数(卡面 67)与"主站正在跑"的工程成熟度之间的张力,作者在 README 中已主动披露"one human owner + autonomous AI coding agent"模式,引用时如实保留。 ⚠️ 卡面周增+70与 stars=67 几乎相同,且 README 描述高度工程化,与一般"trending 玩具"仓库画风不同,建议读者把它当 AI/科学/区块链三栈整合示范而非单纯研究 demo 看待。
§1 这是什么
space-data-rig 是一个 OpenRig 风格的"五座 AI 团队",把一条系外行星凌星检测(exoplanet transit detection)流水线拆成五个独立的"席位"(seat),用共享的 RigStore 串起来,每个 run 都会生成一个哈希封印的可复现 bundle,并把哈希写到 Solana 主网 SPL Memo 交易做存证。
它的反命题很明确:README 把它和"AI agent 上链秀"做了对比——那些 demo 是"agent 聊天 + 发个 token + 没有可验证产物";space-data-rig 主张"做真活儿 + 给证据"。
- 真活儿:把 NASA 系外行星档案里已确认行星的真实周期与历元过一遍,再用 BLS(Box-Least-Squares)搜索去"回收"已知信号,给出注入回收置信度。
- 给证据:每一次 run 都产出 SHA-256 封印的 bundle(关键字段排序 JSON 规范化),把哈希锚定到 Solana 主网,链上可重读。
它不是一个"找新行星"的工具——作者在 README 反复强调这是科学闭环自检,"在 stand-in 路径上恢复真实周期是构造出来的,不是发现"。
§2 解决什么问题
如果你是:
- 想在 AI agent 项目里用 可验证产物而不是截图证明你跑过;
- 想用真实公开科学数据(NASA Exoplanet Archive、MAST TESS、TESS-SPOC)做 demo;
- 想让一条流水线离线 + 可重放,同时还能"在主网上留痕";
- 对 Solana SPL Memo 这种"轻量级不可篡改账本"在 AI 输出/科学产物里的用法感兴趣;
那这个仓库是一个相对完整的参考实现。五个座位的拆分、RigStore 作为单一真相源、SSE 实时推送、Cloudflare Workers 边缘部署、Solana 锚定——它把"严肃 agent"的基础设施层都摆出来了。
§3 快速安装
仓库本身是 TS/Node 工程,主分支同时支持两种 runtime:本地 Node 服务 + Cloudflare Workers 边缘。
# 拉代码
git clone https://github.com/SpaceDataRig/space-data-rig
cd space-data-rig
# Node 端(本地 API + SSE dashboard)
npm install
npm run api # 启动本地 Node 服务
# Cloudflare Workers 端(生产部署到 spacedatarig.app)
npm run cf:deploy # 需要 wrangler 配置好账户
工作节点变量(README 提到):
MAST_S3=1:开启 token-free TESS-SPOC 真实星光数据;默认关闭,开启后会让目标选择窄到有 TIC ID 的目标。SOLANA_KEYPAIR(Cloudflare Worker secret):链上 memo 的付费密钥对,不要把它 commit 进仓库。
只读公开源码 + 文档就够了——README 把所有"它干了什么"讲得很透,不需要 clone 后跑。本攻略作者没 clone,命令来源以 README 与 npm scripts 命名习惯为准。
§4 核心用法
4.1 五席位 + RigStore
+-------------+ +---------------+ +------------+ +---------------+ +----------+
| data-fetch |->| anomaly-scout|->| sim-runner|->| mission-critic|->| reporter |
+-------------+ +---------------+ +------------+ +---------------+ +----------+
NASA TAP BLS + 奇偶 注入回收 与已知行星交叉 bundle +
真实参数 + 周期搜索 + Monte Carlo 匹配 + 物理 哈希 +
光曲线 + 去趋势 + 置信度 + 健全性 + verdict SVG 图 +
SHA-256 源哈希 别名消解 历元预测 0-100 综合分 英文旁白
|
v
+-------------------+
| RigStore | 任务/发现/席位/bundle/事件
+-------------------+
| |
v v
+-----------------+ +----------------+
| HTTP API+SSE | | Solana 主网 |
| web dashboard | | memo 锚定 |
+-----------------+ +----------------+
五席位只对 RigStore 写,不互相对话。CLI、HTTP API、实时 dashboard 都从同一个 store 实例读,SSE 推送让"在 CLI 起的 run"立刻推到 dashboard。
4.2 光曲线获取的优先级链
data-fetch 拉光曲线有 4 级回退,作者称之为"deterministic priority chain":
- 策展的 REAL MAST TESS 产品(FITS 解析,匿名 Download/file)
- 可选:从 AWS
stpubdata公共 S3 桶拉真实 TESS-SPOC PDCSAP 光曲线,按 TIC 分片 key 拼路径——不需要 MAST token,不需要 AWS 账号。默认关闭。 - 可选:匿名 CAOM 发现通道。默认关闭。
- 兜底:从真实目录参数生成带红噪(per-star red, time-correlated noise)的合成 stand-in。默认走这一档。
每张 bundle / card 都会标自己是 REAL photometry 还是 seeded stand-in。"在 stand-in 上恢复真周期"是构造出来的,不代表新发现——critic 在判词里也只写 "recovers the injected signal",而不是"recovers the catalog transit"。
4.3 AI 审议层(双模型对辩)
可选层。DeepSeek 做统计批评,Grok (xAI) 做对抗红队,llm.ts 走 OpenAI 兼容 Chat Completions。
两轮:
- Round 1:各自 lens 视角批评。
- Round 2:互相读对方第一轮,要求"让步 / 辩护 / 反驳"——三个标签各一句。
模型永远不会触碰科学管线、bundle manifest 或 bundle 哈希。无 API key 时退化为"无模型的纯文字记录"——transcript 仍然密封成 deliberations/<id>/receipt.json + HASH.txt,必要时再锚定到 Solana。
这是工程上值得抄的一条:让模型输出去碰科学哈希 = 立刻失去可复现性。它把 AI 旁白显式隔离成"审计旁路"。
4.4 双 runtime 部署
同一份代码,两条部署路径:
| 路径 | 命令 | 适合 |
|---|---|---|
| Node 本地 | npm run api |
开发、看 SSE、看 dashboard |
| Cloudflare Workers | npm run cf:deploy |
生产(spacedatarig.app),Durable Object (rig-state.do.ts) 持有状态、R2 存 bundle、Workflow rig-run 执行 run、Worker secret 持 Solana 密钥对 |
§5 典型适用场景
- AI agent + 可验证科学产物:你在做 agent 想让它有"做事的证据",照搬"Bundle SHA-256 + Solana memo"这套就行。
- 太阳能系外行星教学 demo:BLS、注入回收、奇偶别名消解、历元预测都有真实链路,且默认走 stand-in 不会撞真数据。
- 边缘 AI 工作流模板:Cloudflare Durable Object + Workflow + R2 + Worker secret 这套组合在其它 agent 项目里能直接复用。
- Solana SPL Memo 用法参考:纯旁路存证,没有自定义 program。适合"我们想证明这次跑过,但不涉及资产"。
§6 坑与注意(≥5 条现象/影响/修复)
-
真实光曲线默认是关的 现象:第一次跑
npm run api看到的光曲线都是 stand-in,光曲线看起来太"干净"。 影响:拿它做 demo 容易让观众误以为这是真星光数据。 修复:要么读 README 把"REAL photometry"标牌说明白,要么真要用就开MAST_S3=1,并接受目标集被收窄到有 TIC ID 的行星。 -
Solana 密钥对 = Worker secret 现象:Cloudflare 部署里 SOLANA_KEYPAIR 走 Worker secret。 影响:任何拿到 wrangler 配置的人都能从你账户发 memo 交易。 修复:定期 rotate;给 memo 操作单独建一个低权限密钥对;监控 memo 交易频率。
-
--insecure 风格警告:本仓库没有,但 Solana memo 上链是真花 SOL 的 现象:每次 run 都要锚一次哈希到 Solana 主网(README 明示)。 影响:大量试跑会把 SOL 烧完。 修复:在 dev profile 里做 batch anchor(比如 100 条 run 合成一棵 merkle 再写一次 memo),或者开一个独立的、低余额的 memo 专用钱包。
-
AI 审议层 ≠ 替代科学层 现象:模型回合的 transcript 是被哈希封印的,但它不参与科学判定。 影响:有人会误以为"Grok 同意了 = 这颗候选过审",并不是。 修复:UI/旁白要明确写"verdict comes from mission-critic, the AI deliberation only narrates"。
-
Stars 数 vs README 工程深度的反差 现象:仓库 67 stars(卡面数据,2026-10-15),README 工程密度远高于这个量级。 影响:HR/技术评估里容易被当成"小 demo"。 修复:把它和"成熟的科学 agent 框架"做对比时,引用 README 的
Architecture: the five seats段落 + spacedatarig.app 的 live 截图更稳。 -
作者署名透明 ≠ 等于多人维护 现象:README "Authorship, stated honestly" 段明确说"one human owner + autonomous AI coding agent"。 影响:commit 历史里你会看到"自动化身份"的提交。 修复:评估活跃度时,看
actions上 CI 跑没跑、看 release tag、看 dashboard 的实时更新,不要看 commit 头像数。
§7 与同类对比
| 维度 | space-data-rig | 常见"AI 上链"demo | 一般系外行星教学流水线 |
|---|---|---|---|
| 数据真实性 | 默认 stand-in,可选真 TESS 数据 | 不做科学 | 真数据,但无哈希封印 |
| 可复现性 | SHA-256 封印 + Solana memo | 无 | 一般只给 run log |
| AI 角色 | 旁路对辩(不碰科学哈希) | 主输出 | 通常不用模型 |
| 边缘部署 | Cloudflare Workers 同源码 | Vercel / 自建 Node | Jupyter 居多 |
| 主网花销 | 每次 run 一次 SPL memo | 通常"无" | 无 |
| 维护声明 | 一人 + 一个 AI agent,明示 | 多人维护 | 看具体项目 |
§8 一句话推荐结论
如果你想看一份完整且诚实地把"AI agent + 真实科学管线 + 区块链旁路存证"三件事拧到一起的小型工程,space-data-rig 是值得花一晚上读完 README 的——尤其欣赏它把模型输出显式隔离在科学哈希之外的态度。