Write a goal.md, FermiLink takes care of autonomous scientific simulations and optimization at both laptops and HPCs
Project description
Write a goal.md. Let AI handle the rest.
FermiLink reads a simple markdown file describing your scientific computing goal,
then autonomously runs and iterates on your laptop or HPC clusters,
so you can focus on the science, not the infrastructure.
What Can FermiLink Do?
๐ฌ Autonomous Scientific Simulations (stable)
Describe a simulation goal in plain language. FermiLink picks the right packages, generates input files, submits jobs, monitors progress, and analyzes the data, even across multi-day HPC campaigns with hundreds of tasks.
fermilink loop goal.md # long-running simulations on workstations or HPC
fermilink research goal.md # full research-paper-scale, multi-task campaigns
โก Autonomous Code Optimization (beta)
Apply FermiLink to your existing scientific code with a performance goal. It iteratively modifies hot paths and runs deterministic benchmarks.
At the end of the day, it provides optimized scientific code with improved speed while preserving computational accuracy.
fermilink optimize goal.md # iterative code with correctness guarantees
Both features share the same interface: a single goal.md file.
How it works?
Step 1. You write a goal.md, a plain markdown file:
# Goal: Photonic crystal band structure
Simulate the band structure of a 2D triangular lattice of dielectric
rods (r=0.2a, ฮต=12) in air using MEEP/MPB.
## What to compute
- TM and TE band diagrams along ฮ->M->K->ฮ
- Extract the band gap ratio (ฮฯ/ฯ_mid) for the first gap
## Success criteria
- At least 8 bands converged with resolution โฅ 32
- Band gap ratio within 5% of published values
## Deliverables
- Save final band diagram as `bands.png`
Step 2. Run one command:
fermilink loop goal.md
Step 3. FermiLink takes over. You come back to a finished bands.png and a summary report.
Quickstart (5 minutes)
# 1. Install
pip install fermilink
# 2. Set up an AI agent (pick one)
fermilink agent codex # or: claude, gemini
# 3. Install a scientific package knowledge base
fermilink install meep # 150+ packages available
# 4. (Optional) Configure the default SLURM HPC profile
fermilink hpc
# 5. Write your goal.md (see example above), then run
fermilink loop goal.md
That's it, you are all set!
First time? Just run
fermilinkwith no arguments. Then, an interactive setup wizard will walk you through everything.
How It Works
FermiLink separates what you want (your goal.md) from how to do it (package knowledge + agent reasoning):
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ
โ goal.md โ โโโโธ โ AI Agent โ โโโโธ โ Simulation / โ
โ (your โ โ (Claude, Codex, โ โ Optimization โ
โ intent) โ โ Gemini) โ โ Engine โ
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ
โ โ
reads from runs on
โผ โผ
โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ
โ Package โ โ Your laptop, โ
โ Knowledge Base โ โ workstation, โ
โ (150+ packages) โ โ or HPC cluster โ
โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ
The agent doesn't just generate scripts. Instead, it sustains multi-task, multi-day computational campaigns without human intervention.
Workflows at Every Scale
FermiLink supports the following six major commands for various simulation workflows:
| Command | Best for | Duration | Recommended Environment |
|---|---|---|---|
exec |
Quick one-off simulations | Minutes | Laptop / workstation |
chat |
Interactive conversation with agents | Hours | Laptop / workstation |
loop |
Iterative jobs with PID/SLURM monitoring | Hours -> days | Workstation / HPC |
reproduce |
Multi-task, paper-scale reproducation of papers | Days -> weeks | HPC clusters |
research |
Multi-task, paper-scale research | Days -> weeks | HPC clusters |
optimize |
Code performance tuning (beta) | Hours | Any |
Three Ways to Interact
FermiLink isn't just a CLI tool. Pick the interface that fits you:
- Command line โ
fermilink exec/loop/reproduce/research/optimize goal.mdfor headless, scriptable autonomy - Web UI โ
fermilink startlaunches a ChatGPT-style browser interface for interactive sessions - Telegram bot โ
fermilink gatewayconnects to Telegram so you can run and monitor HPC jobs from your phone
150+ Built-in Scientific Packages
FermiLink ships with knowledge bases for packages spanning multiple scientific domains. Install any of them with a single command:
fermilink install <package> # e.g., meep, lammps, pyscf, openfoam
fermilink list # see all installed packages
Don't see your package? Compile your own local knowledge base:
fermilink compile /path/to/your/code
Browse the full package list โ
Build Your Own Package Knowledge Base
If you have a research pipeline described in a paper or group-specific workflow, you can turn them into a FermiLink-compatible knowledge base:
# Compile a local code into a knowledge base
fermilink compile /path/to/my-simulation-code
# Recompile after updating your code
fermilink recompile my-simulation-code
This means FermiLink can autonomously operate any scientific code, not just the 150+ that ship built-in.
Documentation
| Resource | Link |
|---|---|
| Full documentation | fermilink.org |
| Installation guide | fermilink.org/installation |
| Laptop tutorial | fermilink.org/tutorial_laptop |
| HPC tutorial | fermilink.org/tutorial_hpc |
| Architecture | fermilink.org/architecture |
| API reference | fermilink.org/api |
Citation
If FermiLink is useful in your research, please cite:
- Gang Mengโ , Andres Felipe Bocanegra Vargasโ , Xinwei Jiโ , Federico Garcia-Gaitan, Felipe Reyes-Osorio, Jalil Varela-Manjarres, Yafei Ren, Mohammadhasan Dinpajooh, Branislav K. Nikoliฤ, Tao E. Li. FermiLink: A Unified Agent Framework for Multidomain Autonomous Scientific Simulations. arXiv:2604.03460 (2026).
Contributing
We welcome contributions, from bug reports to new package knowledge bases. See CONTRIBUTING โ
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fermilink-0.3.1.tar.gz.
File metadata
- Download URL: fermilink-0.3.1.tar.gz
- Upload date:
- Size: 1.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b7250fd1594028eb9845b01e365131410e044c4edc93d805b1f6bd56d9d101b9
|
|
| MD5 |
7ed1dc04d954406017b23b153e161583
|
|
| BLAKE2b-256 |
d0336fb619980c3aff74a44f07489d0634656fb3864868f014a7e61332d941ef
|
File details
Details for the file fermilink-0.3.1-py3-none-any.whl.
File metadata
- Download URL: fermilink-0.3.1-py3-none-any.whl
- Upload date:
- Size: 2.3 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
79ff00005c9d34099cbe806da27e5fa638abc483919bfe1784ce0a38d58eb19f
|
|
| MD5 |
62436f3b843c58b97ec906843d59f9c3
|
|
| BLAKE2b-256 |
386625d35ebb29ee7ded40f1b1207905f4bbbf00779b456448b973b3feba3e92
|