README.md

May 17, 2026 · View on GitHub

FermiLink logo

Docs PyPI License Python arXiv:2604.03460

Write a goal.md for scientific simulations and more!

FermiLink reads a simple markdown file describing your scientific 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, opencode

# 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 fermilink with 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.

design


Supported Workflows

FermiLink supports the following seven major commands for various simulation workflows:

CommandBest forDurationRecommended Environment
execQuick one-off simulationsMinutesLaptop / workstation
chatInteractive conversation with agentsHoursLaptop / workstation
loopIterative jobs with PID/SLURM monitoringHours -> daysWorkstation / HPC
reproduceMulti-task, paper-scale reproducation of papersDays -> weeksHPC clusters
researchMulti-task, paper-scale researchDays -> weeksHPC clusters
optimizeCode performance tuning (beta)HoursAny
exploopIterative experimental jobs with PID monitoringHours -> daysWorkstation

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 linefermilink exec/loop/reproduce/research/optimize goal.md for headless, scriptable autonomy
  • Web UIfermilink start launches a ChatGPT-style browser interface for interactive sessions
  • Telegram botfermilink gateway connects to Telegram so you can run and monitor HPC jobs from your phone

Documentation

ResourceLink
Full documentationfermilink.org
Installation guidefermilink.org/installation
Laptop tutorialfermilink.org/tutorial_laptop
HPC tutorialfermilink.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

AGPL-3.0