Advanced
Extending QUASAR
There are three practical ways to extend QUASAR: install something temporarily during a run, bake it into the environment for reliable reuse, or add system-prompt guidance so QUASAR knows to use it by default.
Choose the Right Extension Level
Fastest
Prompt-Time Install
Best when you are experimenting and only need a dependency for one run.
Reliable
Project-Level Dependency
Best when the software should already exist every time QUASAR starts.
Reusable
System Prompt Inclusion
Best when the software is already available and QUASAR should be guided to use it by default without repeating the instruction in each user prompt.
The Short Rule
- For a one-off experiment or temporary dependency, include the install instruction directly in the prompt.
- For repeated use, difficult installs, compiled software, or anything you want to rely on long term, add it to the repo environment with
requirements.txtor the Dockerfile. - If the software is already available and should be part of QUASAR’s default behavior, add that guidance to the relevant system prompts.
Option 1: Temporary Use Through the Prompt
If you only need a package for a single run, you can tell QUASAR to install it as part of the workflow.
This works best for:
- Python packages that can be installed with
pip - lightweight tools that can be fetched with
wgetorcurl - exploratory runs where you are still deciding whether the dependency is worth keeping
Example prompt:
Calculate the accessible surface area of MOF-5. Installation of Zeo++ is needed.
Option 2: Permanent Support in the Repo
If you want QUASAR to use software reliably and repeatedly, bake it into the environment.
Add Python Dependencies to requirements.txt
Use requirements.txt when the new dependency is mainly a Python package.
This is the right place for packages like:
- analysis libraries
- file format libraries
- scientific Python packages
- helper packages QUASAR should always be able to import
After editing requirements.txt, rebuild the image you use for QUASAR.
Add System Software to a Dockerfile
Use the Dockerfiles under docker/ when the new dependency needs:
apt-get install- native binaries
- compilers
- GPU-specific runtime support
- large external scientific codes that should already exist in the image
Examples in this repo include:
Option 3: System Prompt Inclusion
Use this level when the software is already installed and you want QUASAR to know, by default, when and how to use it.
Typical integration points include the agent system prompts in:
Suggested Workflow
For most extensions, the cleanest progression is:
- Try it once with explicit install instructions in the prompt.
- If the dependency is useful and stable, move it into
requirements.txtor the relevant Dockerfile. - If the software should be part of QUASAR’s default behavior, add the relevant guidance to the system prompts.