Contents Menu Expand Light mode Dark mode Auto light/dark, in light mode Auto light/dark, in dark mode Skip to content
FermiLink 0.3.10
Light Logo Dark Logo
FermiLink 0.3.10
  • FermiLink
    • Quickstart
    • Installation
    • Tutorial: FermiLink as a Knowledge Base for Any Agent
    • Tutorial: Laptop Simulations
    • Tutorial: HPC Simulations
    • Tutorial: Code Optimization
    • Tutorial: Experimental Workflows with Exploop
    • Choosing an AI Agent
    • How FermiLink Works
    • Writing a goal.md
    • Additional Features
      • Command Line Tools
      • Web UI
      • Telegram Bot
      • Built-in Packages
      • Package Management
      • Building Your Own Package
      • Research Pipelines and Memory
      • Configuration
      • Architecture
      • API Reference
        • fermilink package
          • fermilink.agents package
            • fermilink.agents.base module
            • fermilink.agents.claude_agent module
            • fermilink.agents.codex_agent module
            • fermilink.agents.gemini_agent module
            • fermilink.agents.opencode_agent module
            • fermilink.agents.registry module
          • fermilink.cli package
            • fermilink.cli.commands package
              • fermilink.cli.commands.agent module
              • fermilink.cli.commands.gateway module
              • fermilink.cli.commands.implement module
              • fermilink.cli.commands.optimize module
              • fermilink.cli.commands.packages module
              • fermilink.cli.commands.services module
              • fermilink.cli.commands.sessions module
              • fermilink.cli.commands.workflows module
              • fermilink.cli.commands.workspace module
            • fermilink.cli.compile_helpers module
            • fermilink.cli.compile_prompts module
            • fermilink.cli.exec_runtime module
            • fermilink.cli.input_repo_helpers module
            • fermilink.cli.overlay_helpers module
            • fermilink.cli.parser_agent module
            • fermilink.cli.parser_builder module
            • fermilink.cli.parser_gateway module
            • fermilink.cli.parser_implement module
            • fermilink.cli.parser_optimize module
            • fermilink.cli.parser_packages module
            • fermilink.cli.parser_services module
            • fermilink.cli.parser_sessions module
            • fermilink.cli.parser_workflows module
            • fermilink.cli.parser_workspace module
            • fermilink.cli.routing_helpers module
            • fermilink.cli.runtime_loaders module
            • fermilink.cli.shared_helpers module
            • fermilink.cli.workflow_prompts module
            • fermilink.cli.zero_arg module
          • fermilink.drvloop package
            • fermilink.drvloop.artifacts module
            • fermilink.drvloop.instructions module
            • fermilink.drvloop.main module
            • fermilink.drvloop.memory module
            • fermilink.drvloop.prompts module
          • fermilink.exploop package
            • fermilink.exploop.artifacts module
            • fermilink.exploop.instructions module
            • fermilink.exploop.main module
            • fermilink.exploop.memory module
            • fermilink.exploop.pid module
            • fermilink.exploop.prompts module
          • fermilink.implement package
            • fermilink.implement.campaign module
            • fermilink.implement.contract module
            • fermilink.implement.git module
            • fermilink.implement.goal module
            • fermilink.implement.main module
            • fermilink.implement.prompts module
            • fermilink.implement.source_analysis module
            • fermilink.implement.state module
            • fermilink.implement.validation module
          • fermilink.optimize package
            • fermilink.optimize.benchmark module
            • fermilink.optimize.campaign module
            • fermilink.optimize.git module
            • fermilink.optimize.goal module
            • fermilink.optimize.goal_pipeline module
            • fermilink.optimize.main module
            • fermilink.optimize.prompts module
            • fermilink.optimize.source_analysis module
            • fermilink.optimize.state module
          • fermilink.packages package
            • fermilink.packages.curated_channels module
            • fermilink.packages.package_core module
            • fermilink.packages.package_registry module
          • fermilink.runner package
            • fermilink.runner.admission module
            • fermilink.runner.app module
            • fermilink.runner.scientific_packages module
          • fermilink.web package
            • fermilink.web.activity_helpers module
            • fermilink.web.app module
            • fermilink.web.artifact_helpers module
            • fermilink.web.auth_helpers module
            • fermilink.web.chat_helpers module
            • fermilink.web.package_router_helpers module
            • fermilink.web.package_session_helpers module
            • fermilink.web.runner_helpers module
            • fermilink.web.sqlite_helpers module
            • fermilink.web.status_helpers module
            • fermilink.web.storage_helpers module
          • fermilink.workspace package
            • fermilink.workspace.clean module
            • fermilink.workspace.common module
            • fermilink.workspace.filesystem module
            • fermilink.workspace.hpc module
            • fermilink.workspace.init module
            • fermilink.workspace.main module
            • fermilink.workspace.payload module
          • fermilink.agent_runtime module
          • fermilink.config module
          • fermilink.providers module
          • fermilink.router_rules module
          • fermilink.services module
    • Contributing
    • Citation
Back to top
View this page
FermiLink
Docs Quickstart Packages Optimization GitHub

How FermiLink Works¶

FermiLink is designed to be agnostic to AI agent providers, scientific packages, and your computing environments.

  • You choose your favorite agent provider (e.g., OpenAI Codex, Anthropic Claude, Google Gemini, or OpenCode) and FermiLink will rely on it for reasoning and decision-making.

  • The built-in 150+ scientific package knowledge bases provide the agent source-grounded rich context for reasoning. You can also create custom knowledge bases by yourselves using fermilink compile.

  • FermiLink focuses on providing a set of advanced workflows (exec, loop, research, reproduce for simulations and optimize for code optimization) specifically designed for scientific computing.

  • FermiLink works on your laptop, workstation, HPC cluster, or even your phone via Telegram.

So we can focus on the science.

The goal.md interface¶

For users, all we need to do is to provide a goal, either typed at the command line or written in a goal.md file. The goal describes what to compute, not how. FermiLink figures out the how:

# Pass a goal file
fermilink loop goal.md

# Or type directly
fermilink exec "Compute the phonon dispersion of silicon using Quantum ESPRESSO"

For longer or multi-step work, writing a goal.md file is recommended. See Writing a goal.md for the full format guide.

Three autonomous simulation workflows¶

Three major FermiLink workflows: exec for single runs, loop for iterative runs involving long SLURM or PID jobs, and research/reproduce for full research-paper-level calculations.

FermiLink provides three workflows for autonomous scientific simulations:

  • exec – one prompt, one agent run. Best for quick tasks that finish in under 30 minutes (e.g., plotting data, short calculations).

  • loop – autonomous iteration with persistent memory, local PID or SLURM job monitoring. Best for tasks that run for hours or days with iterative job submissions.

  • research / reproduce – planner + auditor + task-loop orchestration for publication-scale campaigns with multiple interdependent tasks (e.g., reproducing all figures from a paper, running a full parameter sweep).

Choose based on timescale and complexity:

  1. Can it finish in one agent turn? Use exec.

  2. Does it need iteration or long waits? Use loop.

  3. Does it span multiple independent tasks? Use research or reproduce.

Scientific package knowledge bases¶

FermiLink package management workflow.

FermiLink ships with 150+ built-in scientific package knowledge bases spanning computational chemistry, materials science, photonics, fluid dynamics, and more. Each knowledge base includes:

  • The full source-code tree of the package

  • Agent Skills – curated entry-level tutorials and informative file maps that help the AI agent efficiently navigate the package

When you install a package (fermilink install meep), FermiLink makes this knowledge available to the agent during all sessions.

You can also create knowledge bases for your own code:

fermilink compile /path/to/my-code          # create from source
fermilink recompile my-code                 # update after changes

See install: Built-In Scientific Package Management for the full package management guide.

Three ways to interact¶

FermiLink is not just a CLI tool. Pick the interface that fits your workflow:

  • Command line – fermilink exec/loop/research goal.md for headless, scriptable autonomy. The most powerful interface.

  • Web UI – fermilink start launches a ChatGPT-style browser interface for interactive sessions.

  • Telegram bot – fermilink gateway connects to Telegram so you can run and monitor jobs from your phone.

See Web UI and Chat Apps for setup guides.

Unified memory¶

FermiLink maintains a projects/memory.md file in each workspace that persists across iterations and sessions. The memory includes both

  • Short-term state

  • Long-term knowledge

This memory allows the agent to resume work after interruptions as well as learn from its past successes and failures.

Beyond simulations: autonomous code optimization¶

Once simulations are taken over by FermiLink, the next bottleneck is often code performance.

The latest version of FermiLink also supports autonomous code optimization, where it can identify performance bottlenecks and optimize them iteratively using deterministic benchmarks.

See Tutorial: Code Optimization for the full guide on autonomous code optimization with FermiLink.

What’s next¶

  • Quickstart – install and run your first goal in 5 minutes

  • Writing a goal.md – how to write effective goal files

  • Tutorial: Code Optimization – autonomous code optimization

  • Architecture – full runtime flow and module contracts

Next
Writing a goal.md
Previous
Choosing an AI Agent
Copyright © TEL Research Group 2026
On this page
  • How FermiLink Works
    • The goal.md interface
    • Three autonomous simulation workflows
    • Scientific package knowledge bases
    • Three ways to interact
    • Unified memory
    • Beyond simulations: autonomous code optimization
    • What’s next