Skip to content

Latest commit

 

History

5,175 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Osprey

CI PyPI Python 3.11+ License: BSD 3-Clause DOI Documentation

An agentic interface to scientific control systems.

Osprey addresses control-specific challenges: semantic addressing across large channel namespaces, protocol-agnostic integration with control stacks, logbook search across facility electronic logbooks, and mandatory human oversight for every hardware write.

Built for large scientific facilities, such as particle accelerators.

Osprey system architecture, from operator to facility, with the safety gate and approval workflow in-line.

Quick start

# Install the framework as a standalone CLI tool (using uv, recommended).
# A pre-release needs the flag: uv tool install --prerelease allow osprey-framework
uv tool install osprey-framework

# Create a minimal deployment repo to verify your setup
osprey init quickstart --preset hello-world
cd quickstart

# init seeds .env from the provider keys your shell exports, and says so.
# When it reports none, copy the example and fill it in:
# cp .env.example .env

# Render the deployment, then open the web terminal
osprey build
osprey web

For a deployment tailored to your detector, beamline, or accelerator subsystem, install the osprey plugin and run its guided install skill from your agent session:

claude plugin marketplace add als-apg/osprey --sparse .claude-plugin plugins
claude plugin install osprey@osprey

Then start the agent in an empty directory and type /osprey:install. The skill walks you through a guided conversation and produces the deployment repository — a git repository whose profile.yml is the source of truth. From inside it, osprey build renders the ready-to-run deployment into build/.

Key features

  • Agent-driven orchestration — Skills, MCP tools, and explicit dependency declarations let the Osprey agent decompose operator requests into auditable steps with mandatory approval gates.
  • Control-system safety — Pattern detection, channel boundary checking, and mandatory human approval for every hardware write.
  • Protocol-agnostic integration — EPICS, DOOCS, TANGO, and Mock connectors ship in-tree; LabVIEW and other stacks connect through the connector interface.
  • Replaceable backends — The agent harness, the underlying model, and the compute backend are each swappable by configuration, without changing what the operator sees.
  • Scalable capability management — Dynamic classification prevents prompt explosion as toolsets grow.

Documentation

Read the full documentation →

Osprey follows CalVer (vYYYY.M.P). Public APIs may change between releases — pin a version and check the changelog before upgrading.

Contributing

Contributions are welcome. See the Contributing Guide for development setup, coding standards, and the pull-request workflow. To report a security issue, please follow the security policy rather than opening a public issue.

Citation

If you use Osprey in your research, please cite the paper. GitHub's Cite this repository button, in the sidebar, exports BibTeX and APA directly.

License

BSD 3-Clause — see LICENSE.txt. Additional notices, including the U.S. Department of Energy's retained rights and Berkeley Lab's Enhancements grant, are in NOTICE.

Copyright (c) 2025, The Regents of the University of California, through Lawrence Berkeley National Laboratory (subject to receipt of any required approvals from the U.S. Dept. of Energy). All rights reserved.

Questions about your rights to use or distribute this software: contact Berkeley Lab's Intellectual Property Office at IPO@lbl.gov.

About

An agentic interface and safety harness for safety-critical control systems

Topics

Resources

Contributing

Security policy

Stars

72 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages