Framework for Unified Scientific Intelligence in Open Nuclear physics
FUSION 把核物理程序、文献检索和日常科研工具接到同一个 agent 上。当前版本内置 26 个技能,其中 20 个负责具体程序,另带 61,167 页离线文献知识库, 包括 61,059 个论文页和 108 个主题页。DeepSeek、Qwen、GLM、Claude 和 GPT 都能接,多步任务上差距明显。 背景中的每个光点来自语料库里的一篇论文。 FUSION connects nuclear codes, literature search, and research workflows to one agent. The current release contains 26 skills, including 20 for nuclear-physics codes, and 61,167 offline knowledge-base pages: 61,059 paper pages and 108 topic pages. It runs with DeepSeek, Qwen, GLM, Claude, and GPT, though not equally well on multi-step work. Each point of light in the background represents one paper in the corpus.
是什么 · WhatWhat it is
底层是 opencode 的品牌分叉(MIT,每周由 CI 重基上游),中间放核物理技能和知识库,最上层挂载用户自己的文献笔记、研究档案与密钥。 The base is a rebrand fork of opencode (MIT, rebased onto upstream by weekly CI). Nuclear-physics skills and the corpus form the middle layer. Users mount their own notes, research profiles, and credentials on top.
FUSION 只定义挂载接口,私人数据始终留在用户自己的机器上。FUSION defines the mount interface; private data stay on the user's machine.
仓库内共有 26 个技能:20 个负责具体程序,SFRESCO 用于拟合,EXFOR 获取实验数据,kb-search 检索离线知识库,literature-wiki 和 research-profile 维护个人研究 wiki,fusion-setup 负责首次配置。知识库的 61,167 个页面都能离线浏览。The repository ships 26 skills: 20 for specific codes, plus SFRESCO fitting, EXFOR data retrieval, offline knowledge-base search, two personal research-wiki tools, and first-run setup. All 61,167 knowledge-base pages can be browsed offline.
CI 每周自动重基上游,可接入 DeepSeek、Qwen、GLM、Claude 和 GPT。Weekly CI rebases the fork onto upstream. DeepSeek, Qwen, GLM, Claude, and GPT are supported.
↑ 上层依赖下层,越往上越私密each layer builds on the one below; privacy increases upward
实际使用 · In actionIn action
下面是一次录制下来的会话,Claude Code 配 Opus 5:一句自然语言,它取 KD02 参数、写输入卡、跑 FRESCO、做收敛检查,再去 EXFOR 查有没有对应能量的数据。命令和数字逐个照抄,只压缩了长度。 A recorded session, Claude Code on Opus 5: from one sentence it pulls the KD02 parameters, writes the deck, runs FRESCO, checks convergence, and asks EXFOR whether the energy was ever measured. Commands and numbers are copied from that recording; only the length is compressed.
为什么 · WhyWhy FUSION
FRESCO 的 namelist 怎么写,TALYS 为什么报错仍返回 0,1990 年代的 nucl-th 预印本去哪里找,这些都需要专门知识。FUSION 把答案写进技能和离线语料库。 FRESCO namelists, unreliable TALYS exit codes, and nucl-th preprints from the 1990s all need code-specific handling. FUSION records that knowledge in skills and an offline corpus.
20 个程序技能已经覆盖反应、裂变统计、R 矩阵与核天体、结构与从头算、TDHF、重离子输运和状态方程。每个技能都包含安装、输入、运行和结果解析,并且必须写明验证等级,复现论文结果或程序自带的参考值。连“TALYS 出错也返回 0”这种坑都写在里面。 Twenty code skills cover reactions, fission and statistical decay, R-matrix and nuclear astrophysics, structure and ab initio theory, TDHF, heavy-ion transport, and equations of state. Each teaches installation, input authoring, execution, and parsing, and must declare its validation tier and reproduce a published or code-shipped reference. Even traps such as “TALYS exits 0 on fatal errors” are encoded.
离线知识库共有 61,167 页,其中 61,059 个论文页收录元数据、arXiv 摘要、机器生成的内容摘要和引用链接,另有 108 个主题页。agent 用 grep 就能查,不需要服务、API key 或网络。这些页面可能有错,写论文时仍要引用原文。 The offline knowledge base contains 61,167 pages: 61,059 paper pages with metadata, arXiv abstracts, generated digests, and citation links, plus 108 topic pages. The agent searches them with grep, with no service, API key, or network required. These generated pages can be wrong; cite the original paper.
DeepSeek、Qwen、GLM、Claude 和 GPT 都可以用,Phase 0 的验收全程跑在 deepseek-chat 上,没有调用国外 API。但兼容不等于效果相同:单步任务国产模型没问题,而写输入卡、跑程序、读回结果再改一轮这类多步任务,deepseek-chat 只是概率性地做对。要稳定复现,目前还是 Claude Code 或 Codex 配各自最强的模型。 DeepSeek, Qwen, GLM, Claude, and GPT are supported, and the Phase 0 quality gate ran entirely on deepseek-chat, so it did not depend on access to an overseas API. Compatibility is not equivalence, though: single-step work is fine on any of them, but authoring a deck, running the code, reading the result back and revising it is a chain where deepseek-chat is right only some of the time. Reproducing that reliably still means Claude Code or Codex on their strongest models.
精读文献 wiki、研究档案和集群密钥都挂载在私人层。FUSION 只定义接口,不会打包或分发这些文件。 Your read-literature wiki, research profile, and cluster credentials mount into the private layer. FUSION defines the interface and never ships anyone's personal data. The platform is open; your knowledge is private.
实测基准 · BenchmarksBenchmarks already run
当前 20 个程序技能覆盖反应、结构、裂变统计、核天体、重离子输运和状态方程。下表只写已经构建并跑出的结果,计划中的功能不算。 The 20 current code skills cover reactions, structure, fission and statistical decay, nuclear astrophysics, heavy-ion transport, and equations of state. The table reports completed builds and runs, not planned features.
| 程序Code | 基准用例Benchmark case | 复现精度Agreement |
|---|---|---|
| TALYS T1 | 发行版自带 1,438 个参考输出文件the 1,438 reference output files shipped with the distribution | 1,419 个逐字节一致,其余 18 个数据文件约 6 位有效数字1,419 byte-for-byte; the remaining 18 data files to ~6 sig figs |
| NuclearToolkit.jl T1 | 完整 30 项测试:手征 EFT、HFMBPT、IMSRG、壳模型full 30-test chain: chiral EFT, HFMBPT, IMSRG, and shell model | 30/30;⁴He 基态能到 10⁻⁶30/30; ⁴He ground-state energy to 10⁻⁶ |
| Sky3D T1 | ¹⁶O 静态 TDHF:3,268 个能量、单粒子与多极矩量¹⁶O static TDHF: 3,268 energy, single-particle, and moment values | macOS/Linux 的输出在打印精度内全部一致,均迭代 370 步all printed values match on macOS/Linux, with the same 370 iterations |
| SkyNet T1 | 核合成网络自带比较套件与 NSE 物理锚点nucleosynthesis network comparison suite plus an NSE physics anchor | Linux 19/19;macOS 17/19,两个平台差异明确标注19/19 on Linux; 17/19 on macOS, with both platform limits stated |
| CGMF T1 | ²⁵²Cf 自发裂变与热中子诱发 ²³⁵U 的 40 事件历史40-event histories for ²⁵²Cf spontaneous fission and thermal-neutron-induced ²³⁵U | 与 LANL 发行版参考逐字节一致byte-for-byte identical to the LANL-shipped references |
| SMASH T1 | 104 项测试与 Au+Au 输运守恒律104-test suite and conservation laws in Au+Au transport | Linux 104/104;两平台 B = 788、Q = 316 精确守恒104/104 on Linux; exact B = 788 and Q = 316 on both platforms |
| AZURE2 T2 | ¹⁶O(p,γ)¹⁷F,按论文表格重建 9 个参数,不做拟合¹⁶O(p,γ)¹⁷F, nine parameters reconstructed from the paper, with no fit | S(90 keV) 偏差 -5.7%;对实测数据 χ²/N = 1.53S(90 keV) differs by -5.7%; χ²/N = 1.53 against measured data |
| FRESCO × COLOSS | n+⁹⁰Zr 弹性散射 50 MeV,KD02 全局光学势;两个独立求解器互检(Numerov 耦合道 vs 复标度 Lagrange-Laguerre)n+⁹⁰Zr elastic at 50 MeV, KD02 global OMP; two independent solvers cross-checked (Numerov coupled-channels vs complex-scaled Lagrange-Laguerre) | σR 一致到 6 位;步长收敛 9 位σR agrees to 6 sig figs; converged to 9 |
使用相同的源码、输入和随机种子,SMASH 在 macOS 与 Linux 上得到的部分粒子多重性最多相差 25%,但两边的重子数 788 和电荷 316 都精确守恒。验证器据此检查守恒律,不再把依赖平台的多重性当作“标准答案”。这次测试还发现,旧规则会把轻核的 PDG 编码误判成重子数 0。 With identical source, input, and seed, some SMASH multiplicities differ by up to 25% between macOS and Linux, while baryon number 788 and charge 316 remain exact integers on both. The verifier therefore anchors on conservation laws instead of treating platform-sensitive multiplicities as ground truth. The same check caught an old rule that assigned baryon number zero to light-nucleus PDG codes.
T1 要求复现程序随发行版提供的参考输出或测试套件。没有这类参考值时使用 T2,改用跨平台构建、物理恒等式和实验数据检验。每个技能都会写明等级、适用范围和已知失败模式,并接受对抗检查和引文核验。 T1 reproduces references or a test suite shipped by the code itself. T2 is used when no distributable reference exists, so cross-platform builds, physics identities, and measured data form the evidence chain instead. Every skill declares its tier, scope, and failure modes before adversarial review and citation verification.
真实任务 · Case studiesTwo real runs
这两个任务都实际跑过,不是预先写好的演示。第二个任务没有找到目标能量下的实验数据,页面也如实写明了这个空缺。 These are completed research tasks, not scripted demos. The second task found no measurement at the requested energy, and reports that absence as part of the result.
输入只有一篇 PDF(Abu-Ibrahim 等,PRC 77, 034607,碳同位素在质子靶上的反应截面)。整个任务离线完成,没有调用外部 API。 The input was a single PDF (Abu-Ibrahim et al., PRC 77, 034607, reaction cross sections of carbon isotopes on a proton target). Fully offline, zero external API calls.
语料库先把论文定位到 0710.4193。引用网络找到它引用的 8 篇论文和引用它的 5 篇论文,其中包括同组前作 nucl-th/0612029、²²C 双中子晕工作 nucl-th/0605055和黑球近似 nucl-th/0410032。词法检索又补出方法相近、研究体系不同的工作,如氧同位素 Glauber 计算和相对论碰撞近似。现成摘要里还有可直接核对的数字:p+¹²C 40 MeV 的 σR = 432 mb,²²C 的 rm = 3.6 fm,经验公式 R(C) = 0.96 ± 0.05 覆盖 153 个数据点。
The corpus resolved it to 0710.4193; the citation graph returned the 8 papers it cites and the 5 citing it (including the group's own predecessor nucl-th/0612029, the ²²C two-neutron halo nucl-th/0605055, and the black-sphere approximation nucl-th/0410032), and lexical neighbours added same-method, different-system work. The pre-generated digest supplied checkable numbers: σR = 432 mb for p+¹²C at 40 MeV, rm = 3.6 fm for ²²C, and the empirical R(C) = 0.96 ± 0.05 across 153 data points.
限制:引用关系只在这批语料内统计。RIKEN 的实验论文不属于 nucl-th,所以“被引 5 次”低估了实际引用量。完整引用数仍要到 INSPIRE 查询。 Limit: citation edges are counted only inside this corpus. The RIKEN measurements are not nucl-th papers, so “cited by 5” understates the true count. An authoritative count still requires INSPIRE.
任务是计算 50 MeV 的 n+⁹⁰Zr 弹性散射,使用 KD02 全局光学势。参数直接取自本地保存的 Koning 原始 kd02.f,没有凭记忆重写公式。两套独立实现一致到 8 位有效数字。
n+⁹⁰Zr elastic scattering at 50 MeV with the KD02 global optical potential. The parameters were not rewritten from memory: the run reused Koning's own kd02.f already on disk, and the two independent implementations agreed to 8 significant figures.
这里有个很隐蔽的坑。FRESCO 使用 R = r₀(Aₚ1/3 + At1/3),KD02 则把半径定义为 R = r₀At1/3。如果没有设置 ap=0,所有半径都会大 22%,程序照样运行,截面看上去也很合理。最终得到 σR = 1301.640 mb。积分步长连续减半两次后稳定到 9 位有效数字,匹配半径和分波数加倍也不改变结果。再用独立求解器互检,COLOSS(复标度 Lagrange-Laguerre)给出 1299.188 mb,FRESCO(Numerov 耦合道)给出 1299.191 mb,两者一致到 6 位有效数字。设 W = 0 后吸收精确归零,通量守恒。1301.640 和 1299.19 并不矛盾,差别只在质量约定:前者用物理质量(1.008665 和 89.904698),互检那一对用整数质量(A = 1 和 A = 90),同一套 FRESCO 输入卡换掉这两个数就能在两者之间来回复现,与求解器无关。
It caught a trap that fails silently: FRESCO builds radii as R = r₀(Aₚ1/3 + At1/3) while KD02 is defined on R = r₀At1/3. Without ap=0 every radius is 22% too large and the resulting cross section still looks entirely plausible. Final σR = 1301.640 mb: stable to 9 significant figures under two halvings of the radial step and unchanged when the matching radius and partial-wave limit were doubled. A second, structurally unrelated solver then checked it: COLOSS (complex-scaled Lagrange-Laguerre) gave 1299.188 mb against FRESCO's 1299.191 mb, 6 significant figures. With W = 0 the absorption vanished exactly and flux conservation held. The two figures do not disagree: 1301.640 uses physical masses (1.008665 and 89.904698) while the cross-check pair uses integer ones (A = 1 and A = 90). Swapping those two numbers in one deck moves the answer between them, so the gap belongs to the mass convention and not to either solver.
实验数据:EXFOR 没有 50 MeV 的 n+⁹⁰Zr 弹性散射测量。于是换到两个有数据的能量重新计算,两次都没有自由参数,两个能量报同一个统计量:calc/data 的均值在 24 MeV 是 0.929,在 55 MeV 是 0.995(中位比分别为 0.891 和 0.961)。下图是计算与数据的直接比较。 Experimental data: EXFOR contains no n+⁹⁰Zr elastic-scattering measurement at 50 MeV. The calculation was repeated at the two measured energies, with no free parameters and the same statistic reported for both panels: the mean calc/data ratio is 0.929 at 24 MeV and 0.995 at 55 MeV (medians 0.891 and 0.961). The figure compares those calculations with the data.
语料地图 · Corpus mapThe corpus map
这张交互地图是 61,171 篇论文语料的静态快照,其中 55,850 篇达到引用度数门槛。当前公开仓库附带 61,059 个论文页,两批数据的生成时间和筛选范围不同。引用关系决定论文的位置,地形高低表示论文密度,地名只标在明显聚集的 PhySH 主题上。引用边参与布局计算,但不画在图上,否则大量连线会盖住地图。 This interactive map is a static snapshot of a 61,171-paper corpus; 55,850 papers pass the citation-degree threshold. The public repository currently ships 61,059 paper pages, produced at a different time and with different selection rules. Citation structure sets each position, terrain shows paper density, and place names mark PhySH topics that cluster in the projection. Citation edges constrain the layout but are not drawn, because the lines would obscure the map at this scale.
→打开交互地图 · 悬停查看论文Enter the interactive map · hover any paper
上面那块玻璃是折射出来的,不是磨砂:它把下面的论文密度压弯,而不是糊掉。指针移到图上,它会跟着走。The pane above is refracted, not frosted: it bends the paper density underneath instead of blurring it away. Move the pointer onto the map and it follows.
开始使用 · Get startedGet started
不用提前安装核物理程序。第一次调用时,FUSION 会自行下载并编译。下面的命令已经在 macOS 和 Linux 上跑过。 No nuclear-physics code needs to be installed in advance. FUSION downloads and builds a code when it is first used. The commands below have been run on macOS and Linux.
仓库约 229 MB,主要内容是 61,167 页离线文献库。The repository is about 229 MB, mostly the 61,167-page offline literature base.
把命令行程序放进刚才的目录。下面下载的是 Apple 芯片 Mac 版本;Intel Mac 请改用 darwin-x64,Linux 请改用 linux-x64。其他平台可在 releases 页找到。Download the command-line program into the same directory. The command below uses the Apple-silicon package; use darwin-x64 for Intel Macs and linux-x64 for Linux. Other builds are listed on the releases page.
当前二进制文件没有 Apple 开发者签名,macOS 默认会拦截。第二条命令用来清除隔离标记。The current binary has no Apple developer signature, so macOS blocks it by default. The second command clears the quarantine flag.
发出第一条消息后,FUSION 会询问是否配置模型、研究方向、配色和私人研究档案。研究档案会从你的论文中提取课题词、合作者和语料内引用关系。这一步不会打断当前任务,也只会出现一次;输入“跳过”即可关闭。After the first message, FUSION offers to configure a model, research areas, colours, and a private research profile. The profile extracts topics, co-authors, and in-corpus citations from your papers. Setup does not block the current task and appears only once; enter “skip” to decline.
fusion auth login,按提示粘贴即可。Yes. FUSION does not include a model. Obtain a key from DeepSeek, Qwen, GLM, Claude, or GPT, then paste it when setup runs fusion auth login.
./fusion。开头的点和斜杠表示运行当前目录中的程序。如果希望在任意目录直接输入 fusion,可执行 mkdir -p ~/.local/bin && mv fusion ~/.local/bin/。仍然找不到时,再执行 echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc,然后重新打开终端。Use ./fusion; the leading dot-slash selects the program in the current directory. To run fusion from any directory, use mkdir -p ~/.local/bin && mv fusion ~/.local/bin/. If the command is still unavailable, run echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc and open a new terminal.
~/.cache/fusion/ 下,不写系统目录;删除这个目录即可移除。编译需要 gfortran 和 C++ 编译器,缺少时 FUSION 会给出提示。TALYS 约占 11 GB,其中 8.6 GB 是核结构数据库,安装前请留意磁盘空间。Programs are installed under ~/.cache/fusion/, not in system directories. Removing that directory uninstalls them. Compilation requires gfortran and a C++ compiler; FUSION reports missing tools. TALYS needs about 11 GB, including an 8.6 GB nuclear-structure database, so check disk space before installing it.
作者每天都在使用 v0.1.0,但还没有外部用户完成测试。目前最想知道下面这些问题。The author uses v0.1.0 daily, but no external user has completed a test. Please report these issues first.
TALYS 需要下载约 11 GB,不建议拿它做第一次测试。macOS 首次运行若被拦截,请执行 xattr -d com.apple.quarantine fusion。TALYS downloads about 11 GB, so it is not a good first test. If macOS blocks the first run, use xattr -d com.apple.quarantine fusion.
项目进度 · RoadmapRoadmap
v0.1.0 已经公开,20 个程序技能和离线知识库都已随仓库发布。现在主要补全新机器上的安装测试,并根据外部用户的实际反馈修问题。 v0.1.0 is public, with 20 code skills and the offline knowledge base shipped in the repository. Current work focuses on cold-start installation tests and fixes driven by external-user feedback.
三项测试都通过:精确找到指定文献;独立生成 FRESCO 输入卡,结果一致到 4–5 位有效数字;10 条引文逐条核实无误。Checked against references: exact retrieval of a specified paper; an independently generated FRESCO deck agreeing to 4–5 significant figures; 10 citations verified.
fusion-core 只保留品牌补丁,每周自动重基上游 opencode。桌面图标和完整发行流水线还在补。fusion-core keeps only the brand patch and rebases onto upstream opencode each week. Desktop icons and the complete release pipeline remain in progress.
仓库已有 26 个技能,其中 20 个负责具体程序。程序技能暂停扩张,下一步先看真实用户会用什么。The repository ships 26 skills, including 20 for specific codes. Code-skill expansion is paused until real usage shows what people need next.
kb-wiki 现有 61,167 页,包括 61,059 个论文页和 108 个主题页。引用和语义关系已经写入,今后随新增论文更新。kb-wiki contains 61,167 pages: 61,059 paper pages and 108 topic pages. Citation and semantic links are included; later releases will update them as papers are added.
v0.1.0 已经发布。全新机器上的安装测试还不够,目前只有 FRESCO 真正从空缓存完整跑过安装流程。v0.1.0 is released. Cold-start installation coverage is still thin; only FRESCO has completed the full install path from an empty cache.
开源 · Open sourceOpen source
作者已经在日常研究中使用这个版本,外部测试才刚开始。克隆仓库并下载命令行程序后,26 个技能和离线知识库会自动加载。最需要反馈的是安装失败,以及那些看着合理却实际有错的结果。 The author uses this version in daily research; external testing has just begun. After cloning the repository and downloading the CLI, all 26 skills and the offline knowledge base load automatically. Installation failures and plausible but incorrect results are the highest-priority reports.