Osprey
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 particle accelerators, fusion experiments, beamlines, and large scientific facilities.
Quick start
# Install the framework as a standalone CLI tool (using uv, recommended)
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 start an agent session
osprey build
osprey chat
For a deployment 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 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 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
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 [email protected].
No comments yet
Be the first to share your take.