Skip to content

als-apg/osprey

Repository files navigation

Osprey

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

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

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

Built for particle accelerators, fusion experiments, beamlines, and large scientific facilities.

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)
uv tool install osprey-framework

# Create a minimal project to verify your setup
osprey build quickstart --preset hello-world
cd quickstart

# If API keys aren't already in your environment, copy and edit .env:
# cp .env.example .env

# Start an agent session
claude

For a project tailored to your detector, beamline, or accelerator subsystem, install the guided build-interview skill and run it from your agent session:

osprey skills install osprey-build-interview

Then start the agent in an empty directory and type /osprey-build-interview. The skill walks you through a guided conversation, produces a build profile, and osprey build profile.yml generates a ready-to-use project.

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 and Mock connectors ship in-tree; LabVIEW, Tango, 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

License

Contributing

Security policy

Stars

63 stars

Watchers

4 watching

Forks

Packages

 
 
 

Contributors