Biorouter brings AI models, research tools, and your data into one workspace. Built at the Baranzini Lab at UCSF, it runs as a desktop app, a terminal CLI, or a browser interface.
Use the models you prefer, with the same workspace and research tools.
| Option | Examples |
|---|---|
| Private institutional models | UCSF Versa API Azure and Versa API Bedrock |
| Private local models | Bundled Llama Server or Ollama, running on your computer |
| Commercial APIs | OpenAI, Anthropic, Google, Azure OpenAI, Amazon Bedrock, OpenRouter, and more |
| Coding-agent subscriptions | Claude Code and Codex through their installed, signed-in command-line tools |
You can also add compatible custom endpoints. Local models are private when they run on your machine; institutional models are private when they use the approved UCSF gateway. Claude Code and Codex use cloud inference and are treated as public providers.
Model setup · Claude Code and Codex setup
Privacy protection is on by default and applies across chats, knowledge bases, extensions, and subagents.
- Private chats stay private. Once a chat uses a private model or data source, Biorouter prevents it from switching to a public model. Changing its classification requires a deliberate user action.
- Public models cannot retrieve private context. Biorouter blocks access to private chats and knowledge bases, and refuses extensions marked private.
- Delegation respects the boundary. An agent cannot use a subagent to move work between private and public models.
These controls help prevent accidental disclosure within Biorouter. They do not isolate ordinary files or the physical desktop: a model with shell or approved desktop access can encounter sensitive material there. For patient data or unpublished research, use an appropriate local or institutional model and follow your institution's requirements.
One capability is worth knowing about before you use it: workspace control ships on, and its surface includes reading and steering your other conversations. A write from a private chat into a different chat raises an approval that shows the payload.
Privacy protections and limits · Handling patient and sensitive data · Tool permissions · Workspace control
The BAAM marketplace offers AI agents, extensions, and skills for literature review, genomics, single-cell analysis, statistics, and clinical research. Connect tools through the Model Context Protocol (MCP), or add your lab's own workflows and instructions.
Work with papers, genes, diseases, drugs, cohorts, and experimental data in the same conversation. Connectors such as SPOKEAgent, UCSF OMOP Agent, and CDWAgent bring knowledge graphs and institutional electronic health records into your research, subject to the access each service requires.
Browse the marketplace · Extensions and skills
| Task | In Biorouter |
|---|---|
| Build a research knowledge base | Ingest papers and documents into linked Markdown pages with source references and version history. Choose BioOKF, the Biomedical Open Knowledge Format, for structured biomedical knowledge. |
| Explore clinical data | Query authorized UCSF OMOP and Clinical Data Warehouse sources and build cohorts through their agents. |
| Connect biological evidence | Use SPOKEAgent to explore relationships among genes, diseases, drugs, and pathways. |
| Analyze and visualize | Write and run R or Python, fit machine-learning models, and create figures and interactive dashboards. |
| Work with desktop software | Biorouter Copilot can inspect and operate applications on the backend computer, with your approval for each request. |
| Build and reuse tools | Create small research apps with Agent Drafter, run parallel chats, and save or schedule recurring tasks as workflows. |
Copilot keeps observations and approvals separate for each chat. The applications themselves share a desktop, so choose the model before opening sensitive records or research data. See Copilot setup and limits.
- Download Biorouter for macOS, Windows, or Linux.
- Choose a model. UCSF users can select Versa API Azure or Versa API Bedrock under Institutional Models. For local inference, choose Llama Server and download a model. You can also connect a commercial provider.
- Start a chat. Add a paper or dataset, or install an agent from BAAM.
For example, attach a few papers and ask:
Summarize these papers and compare the evidence for each proposed mechanism. Link each finding to its source.
The desktop app includes the CLI. After adding it to your PATH, you can start from a terminal:
biorouter configure
biorouterFor browser access, run biorouter serve. It listens on localhost by default. See browser and server setup for remote access.
Biorouter uses a shared Rust agent core, an Electron and React desktop app, and MCP extensions. The biorouterd backend serves the desktop and browser interfaces through REST and WebSocket APIs.
- Documentation: guides and references by topic.
- Architecture: how the components fit together.
- Knowledge bases and BioOKF, workflows, and Apps SDK.
- Contributing: build from source, test, and submit changes.
- Report an issue. Report security concerns privately using SECURITY.md.
Developed by Wanjun Gu at UCSF's Baranzini Lab, with support from UCSF IT and Information Commons.
Biorouter is an independent project, licensed under Apache 2.0. It is not a fork of Goose. It started from its own source code, written with reference to many open source libraries. Its design was inspired by the agents below, and Block's Goose was a major influence.
- Goose (Block): a command line and desktop agent for developer workflows.
- Claude Code (Anthropic): a coding agent for the terminal and the IDE.
- Codex CLI (OpenAI): an open source coding agent that runs in the terminal.
- Gemini CLI (Google): an open source AI agent for the terminal.
- OpenHands: an open source platform for software development agents.
- Aider: an open source coding agent for the terminal that works with Git.
- Cline: an open source coding agent for the code editor and the terminal.
- OpenCode: an open source coding agent that supports multiple sessions and providers.
- ForgeCode: a terminal coding assistant for planning tasks and generating code.
Biorouter's packages also include components from other open source projects, among them Open Computer Use, llama.cpp, and the visualization libraries listed in NOTICE. See acceptable use and project governance.
If you use Biorouter in your research, please cite:
@software{biorouter2025,
title = {UCSF Biorouter: An AI-Powered Integrated Research Environment},
author = {Gu, Wanjun and Bellucci, Gianmarco and Baranzini, Sergio E.},
year = {2025},
url = {https://github.com/BaranziniLab/biorouter}
}