Add Open Science Assistant (OSA) BIDS chat widget#847
Open
neuromechanist wants to merge 2 commits into
Open
Conversation
Embed the OSA BIDS assistant via the existing Material theme override. The widget is a single self-contained script served from the OSA project's own domain; it renders its own floating button, persists chat history in localStorage across navigation, and is configured entirely from the BIDS community YAML config in the OSA repository. The only per-site setting is the community id. The script is intentionally unpinned so the BIDS community receives assistant updates without merging a new PR here. See bids-standard/bids-specification#2256 and bids-standard/bids-specification#2254.
neuromechanist
added a commit
to OpenScience-Collective/osa
that referenced
this pull request
Jun 8, 2026
Allow the BIDS assistant widget to load on the ReadTheDocs PR preview builds for bids-standard/bids-specification#2442 and bids-standard/bids-website#847 so reviewers can try the widget before merge. These two origins are temporary and should be removed once both PRs merge.
yarikoptic
requested changes
Jun 14, 2026
yarikoptic
left a comment
Contributor
There was a problem hiding this comment.
Seems needs fixing, also make sure other affected Ci runs are good (bep leads is false positive)
| Integrity; see https://github.com/OpenScience-Collective/osa/releases | ||
| #} | ||
|
|
||
| {% block scripts %} |
Contributor
There was a problem hiding this comment.
I don't remember this syntax but pre commit fails with
docs/overrides/main.html
───────────────────────────────────────────────────────────────────────────────
T003 95:0 Endblock should have name. Ex: {% endblock body %}. {% endblock %}
Linted 3 files, found 1 error.
So
Suggested change
| {% block scripts %} | |
| {% endblock scripts %} |
?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add Open Science Assistant (OSA) BIDS chat widget
Related: bids-standard/bids-specification#2256, bids-standard/bids-specification#2254
Tip
Test the assistant from built PR link, on bottom right:
https://bids-website--847.org.readthedocs.build/en/847/
Summary
This embeds a BIDS assistant on the website, powered by the Open Science Assistant (OSA) and its dedicated BIDS community. It is a single self-contained script (its own floating button, no iframe), configured entirely from a YAML file in the OSA repository. It is the companion to the specification-site change and comes out of the assistant discussion in bids-standard/bids-specification#2256.
What changes
One file. The site already ships a Material theme override (
docs/overrides/main.html), so this only appends ascriptsblock:No CSS, no iframe: the widget renders and manages its own UI. The widget's CORS allow-list already includes
bids.neuroimaging.io.Design notes
localStorageacross page navigation (withnavigation.instantenabled on this site, the widget initializes once and the config call is idempotent).What the BIDS assistant does
Defined entirely in one YAML config (
src/assistants/bids/config.yaml), editable by the BIDS community without OSA code changes:master) and website (main) raw sources, so answers track current text.bids-specification,bids-validator,bids-website,bids-examples.lookup_bepsearches synced BEP content from open PRs and links the PR + HTML preview.bidstag) integration, and anti-hallucination guardrails (never fabricate issue/PR numbers, DOIs, URLs), plus per-community budget caps and a CORS embed allow-list.Sync cadence: GitHub daily, papers weekly, BEPs weekly.
Testing
mkdocs serverenders the widget across website pages; the floating button opens the BIDS assistant and history survives navigation.Links