Skip to main content

Autonomous agentic system for atomistic computational chemistry research

Project description

MOF-ChemUnity Logo

Universal Autonomous System for Atomistic Research

A research-ready autonomous computational chemistry agentic system. QUASAR covers the full atomistic simulation pipeline with integrated tools including Quantum ESPRESSO, ASE, MACE, pymatgen, LAMMPS, RASPA3, ORCA, xTB, and RDKit. Currently optimised for Gemini models; other providers may not be fully functional. Broader compatibility coming in future releases.

Documentation

Quick links:

Quick Start

QUASAR supports three deployment paths:

  • Docker is the recommended default for laptops and workstations.
  • Singularity is the best fit for HPC and shared cluster environments.
  • Local deployment is useful when you need a custom native environment, but it is typically less isolated.

Docker

Pull the image:

docker pull fengxuyang/quasar:<tag>

Launch the interactive CLI:

docker run -it --rm \
  -v "<workspace_path>:/workspace" \
  fengxuyang/quasar:<tag> \
  quasar

Run a headless prompt:

docker run --rm \
  -e MODEL=<model_name> \
  -e MODEL_API_KEY=<api_key> \
  -v "<workspace_path>:/workspace" \
  fengxuyang/quasar:<tag> \
  quasar "Calculate the band gap of silicon"

Singularity

Build the .sif image from Docker Hub:

singularity build quasar.sif docker://fengxuyang/quasar:<tag>

Run QUASAR:

singularity exec --cleanenv \
  -B "<workspace_path>:/workspace" \
  --home "<workspace_path>:/workspace" \
  quasar.sif quasar

Run a headless prompt:

singularity exec --cleanenv \
  -B "<workspace_path>:/workspace" \
  --home "<workspace_path>:/workspace" \
  --env MODEL=<model_name> \
  --env MODEL_API_KEY=<api_key> \
  quasar.sif quasar "Your research prompt here"

Local Installation

Prerequisites:

  • Python 3.10 or newer
  • Node.js 20 or newer for the local interactive CLI
  • Scientific software installed separately as needed for your workflows

Example setup:

conda create -n quasar python=3.11 -y
conda activate quasar
conda install -c conda-forge qe lammps raspa3 raspalib -y
pip install --upgrade pip
pip install quasar-core

Launch QUASAR:

export WORKSPACE_DIR=<workspace_directory>
quasar

Run a headless prompt:

export MODEL=<model_name>
export MODEL_API_KEY=<api_key>
export WORKSPACE_DIR=<workspace_directory>
quasar "Your research prompt here"

Interactive sessions can fill missing MODEL and MODEL_API_KEY values through the built-in \settings panel. Headless runs should still provide required variables before launch.

The first run in a new workspace can be slower because QUASAR may prepare documentation assets, retrieval indexes, and embedding resources.

CLI Reference

Command What it does
quasar Starts the interactive terminal UI.
quasar "..." Runs a direct prompt in headless mode.
quasar --resume Resumes the active checkpoint.
quasar --clear Clears the active checkpoint and current workspace state while preserving archives and docs.
quasar --fresh Clears current workspace state and archived runs while preserving docs and hidden cache directories.
quasar --history Opens the interactive per-task checkpoint history browser.
quasar --config Prints the current configuration values.
quasar --config validate Verifies required configuration such as MODEL_API_KEY.
quasar --info Prints system and workspace information.
quasar --no-rag "..." Runs a prompt without documentation retrieval for that session.

Interactive Backslash Commands

While using the interactive CLI, type \ at the start of the input box to open the command picker:

Command Description
\settings Open the system settings panel.
\refresh Clear and redraw the CLI, then reload checkpoint state.
\execution-overview Display the current or latest archived execution_overview.md.
\usage-report Display the current or latest archived usage_report.md.
\revert <task> Confirm and revert the active checkpoint/workspace to the start of a task, e.g. \revert 2.

Configuration Snapshot

Variable Purpose Default
MODEL Required model name. None
MODEL_API_KEY Required provider API key. None
OPENAI_API_BASE Optional base URL for OpenAI-compatible endpoints. None
ACCURACY Planning and execution rigor: eco, standard, pro, adaptive. standard
GRANULARITY Task decomposition depth: low, medium, high, adaptive. adaptive
CONTEXT_THRESHOLD Context-compression trigger level. medium
ENABLE_RAG Enable documentation retrieval. true
AUTO_IMPROVE_CYCLES Automatic follow-up refinement cycles after a successful run. 0
AUTO_CONFIRM_PLAN Skip interactive plan confirmation for headless or batch runs. unset
NUM_CORES Override detected physical core count. Auto
PMG_MAPI_KEY Materials Project API key for pymatgen. None
HF_TOKEN Optional Hugging Face token for authenticated retrieval access. None
IF_RESTART Resume from the last checkpoint. false

Long-running Python executions use agent-scheduled check-ins via execute_python(check_in_after=...) and are rescheduled after each check-in via continue_execution(next_check_in_after=...).

Per-agent overrides are also available:

Agent Model API key Base URL
Strategist STRATEGIST_MODEL STRATEGIST_MODEL_API_KEY STRATEGIST_API_BASE_URL
Operator OPERATOR_MODEL OPERATOR_MODEL_API_KEY OPERATOR_API_BASE_URL
Evaluator EVALUATOR_MODEL EVALUATOR_MODEL_API_KEY EVALUATOR_API_BASE_URL

QUASAR is currently optimized for Gemini-oriented setups. Other providers may work, especially through supported integrations and compatible endpoints, but they are not yet the primary compatibility target.

Workspace Outputs

QUASAR writes all outputs into the mounted workspace directory:

workspace/
├── final_results/              # Final outputs and analysis from the current run
│   └── summary.md              # Main written summary
├── quasar_logs/                # Execution logs, checkpoints, and usage reports
│   ├── usage_report.md
│   ├── execution_overview.md
│   ├── input_messages.md
│   ├── conversation.md
│   ├── checkpoints.sqlite      # Checkpoint database
│   ├── checkpoint_settings.json # Run settings and token statistics
│   └── pending_execution.json  # Interrupted execution recovery state
├── quasar_archive/             # Historical runs preserved across normal cleanup
│   ├── quasar_run_YYYYMMDD_HHMMSS_<id>/
│   │   ├── final_results/
│   │   ├── quasar_logs/
│   │   └── ...
│   └── quasar_run_.../
├── docs/                       # Downloaded documentation
└── .rag_index/                 # Cached retrieval index and embeddings

When a run completes, QUASAR archives the workspace state to quasar_archive/, removes active checkpoint files, and keeps reusable assets such as quasar_archive/, docs/, and hidden cache directories available for future runs.

Resume and Cleanup

  • Use quasar --resume to continue an interrupted run. When resuming into an operator task, you can type steering instructions to guide the agent.
  • Use quasar --clear to remove the active checkpoint and current workspace state while keeping archived runs and docs.
  • Use quasar --fresh to remove current workspace state and archived runs while preserving docs and hidden cache directories.

Checkpoint metadata restores non-secret settings such as model choice, accuracy, granularity, and retrieval options. API keys should still be supplied through environment variables or the interactive \settings panel before resuming.

Third-Party Software Licenses

QUASAR integrates with several third-party computational chemistry packages. Most are open-source, but ORCA is distributed under its own license terms:

ORCA is free for academic use but is not free for commercial use. By using ORCA through QUASAR, you agree to the ORCA license terms. Users are responsible for obtaining a valid ORCA license and ensuring compliance with its terms of use.

Acknowledgements

QUASAR builds on a strong open-source scientific software ecosystem. In particular, the project draws on tools and libraries including Quantum ESPRESSO, ASE, MACE, pymatgen, LAMMPS, RASPA3, ORCA, xTB, and RDKit.

Citation

If QUASAR is useful in your research, please cite:

Yang, Fengxu, and Jack D. Evans. "QUASAR: A Universal Autonomous System for Atomistic Simulation and a Benchmark of Its Capabilities." arXiv:2602.00185, 2026. https://doi.org/10.48550/arXiv.2602.00185

@misc{yang2026quasar,
  title={QUASAR: A Universal Autonomous System for Atomistic Simulation and a Benchmark of Its Capabilities},
  author={Fengxu Yang and Jack D. Evans},
  year={2026},
  eprint={2602.00185},
  archivePrefix={arXiv},
  primaryClass={physics.chem-ph},
  url={https://arxiv.org/abs/2602.00185}
}

Contact

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quasar_core-0.4.0.tar.gz (1.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

quasar_core-0.4.0-py3-none-any.whl (1.7 MB view details)

Uploaded Python 3

File details

Details for the file quasar_core-0.4.0.tar.gz.

File metadata

  • Download URL: quasar_core-0.4.0.tar.gz
  • Upload date:
  • Size: 1.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for quasar_core-0.4.0.tar.gz
Algorithm Hash digest
SHA256 a4178f04d526622ec491bc150a181bf0a7ea4189484a39002538e1e1a2bf367e
MD5 2f48aef682e5ac316c353df1d8d3744d
BLAKE2b-256 6ea59b07737730f13f5d371c426b8cc47740f1b9e509fb6fa87e8019e9ca6f94

See more details on using hashes here.

File details

Details for the file quasar_core-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: quasar_core-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for quasar_core-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 51d1983bd552032ff5f1d741877cadd38d54f40021bd19b74dbc155d96eee329
MD5 9c96d878cd7ab4ddcc8e4aac1bcc1d9a
BLAKE2b-256 c2ec939bb82b930668c091517efec4c16ac8fa3b9277c2d1f62ca2bd7ff062d5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page