Write a goal.md, FermiLink takes care of autonomous scientific simulations and optimization at both laptops and HPCs
Project description
Write a goal.md for scientific simulations!
FermiLink reads a simple markdown file describing your scientific computing goal,
then autonomously runs multi-job multi-day simulations on your laptop or HPC clusters.
Key Features
Package Knowledge Base Manager
Use FermiLink to conveniently load package knowledge base to your local workspace; and then apply any local agent for interactive research.
fermilink install <pkg-id>
cd /path/to/workspace/
fermilink init <pkg-id>
# then try any agent
codex
Autonomous Scientific Simulations
Beyond interactive use, FermiLink can also sustain multi-task multi-day simulations on either your laptop or HPC.
fermilink loop goal.md # long-running simulations on workstations or HPC
fermilink reproduce paper.tex # reproduction of a full research paper
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
Quickstart
# 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
First time? Just run
fermilinkwith no arguments. Then, an interactive setup wizard will walk you through everything.
Design principles
The key design principle of FermiLink is the segregation of package knowledge bases and simulation workflows.
Supported Workflows
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 |
Built-in Scientific Packages
FermiLink ships with 150+ 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 →
Interaction surfaces
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
Documentation
| Resource | Link |
|---|---|
| Full documentation | fermilink.org |
| Installation guide | fermilink.org/installation |
| Laptop tutorial | fermilink.org/tutorial_laptop |
| HPC tutorial | fermilink.org/tutorial_hpc |
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.8.tar.gz.
File metadata
- Download URL: fermilink-0.3.8.tar.gz
- Upload date:
- Size: 1.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
015eed07d3ecfdc7a140489cffbaf4044c214865cd1e6896ebd4f10505f23f92
|
|
| MD5 |
1940f4097c1d5566ea23d3b3b2335d41
|
|
| BLAKE2b-256 |
89e0c917f6ceada41627bb05dcf11a7b640cde9e87c0ef944b93eb15a722700b
|
File details
Details for the file fermilink-0.3.8-py3-none-any.whl.
File metadata
- Download URL: fermilink-0.3.8-py3-none-any.whl
- Upload date:
- Size: 2.5 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 |
45f66c3479a2caf3048f52f5d21dada9cb53b3fe4b32c6d9629bca65bf335d28
|
|
| MD5 |
26b42ed4650f12553c2f13f8b382c0ea
|
|
| BLAKE2b-256 |
148893ea3690c4a938007079efb3513f3e2ecb355f3b1eba1fca8ac8c0e8c6ac
|