Open Science Assistant (OSA)¶
An extensible AI assistant platform for researchers working with open science tools. Built with LangGraph/LangChain and FastAPI.
Overview¶
OSA provides domain-specific AI assistants for open science tools (HED, BIDS, EEGLAB) with:
- Modular tool system for document retrieval, validation, and code execution
- Multi-source knowledge bases from GitHub, OpenALEX, Discourse forums, mailing lists
- Extensible architecture for adding new assistants and tools
- Production-ready observability via LangFuse
Design Philosophy¶
- Precision over features: Researchers need accurate, citation-backed answers
- Simple infrastructure: Lab server deployment, no complex scaling
- Extensible tools: General tool system that communities can adapt
- Domain expertise: Deep knowledge of specific tools, not broad generalist
Target Users¶
- Researchers learning HED annotations, BIDS formatting, or EEGLAB analysis
- Lab members needing quick, accurate answers from documentation
- Developers integrating these tools who need API/usage guidance
Quick Start¶
# Clone the repository
git clone https://github.com/OpenScience-Collective/osa
cd osa
# Install dependencies
uv sync
# Run development server
uv run uvicorn src.api.main:app --reload --port 38528
# CLI usage
uv run osa --help
# Interactive chat with HED assistant
uv run osa chat -a hed
# Single query to HED assistant
uv run osa ask -a hed "How do I annotate a button press?"
Specialist Assistants¶
| Assistant | Domain | Knowledge Sources |
|---|---|---|
| HED Assistant | Hierarchical Event Descriptors | hed-standard repos, hedtags.org |
| BIDS Assistant | Brain Imaging Data Structure | bids-standard repos, Neurostars |
| EEGLAB Assistant | EEG analysis toolbox | SCCN wiki, mailing lists |
Documentation¶
- Getting Started - Installation and setup
- Architecture - System design and diagrams
- CLI Reference - Command-line interface
- API Reference - REST API documentation
- Tools - Available tools
- Development - Contributing to OSA
External API Integrations¶
OSA integrates with existing validator and tool APIs rather than hosting validation engines locally:
| Service | API Endpoint | Integration |
|---|---|---|
| HED Validation | https://hedtools.org/hed | String, sidecar, spreadsheet validation |
| BIDS Validator | https://bids-validator.github.io | Dataset structure validation |
| OpenALEX | https://api.openalex.org | Academic paper search |
| GitHub API | https://api.github.com | Issues, PRs, discussions |
License¶
MIT