Skip to content

feat: Add AI BIDS assistant widget to the specification pages#2254

Closed
yarikoptic wants to merge 3 commits into
masterfrom
enh-assistant
Closed

feat: Add AI BIDS assistant widget to the specification pages#2254
yarikoptic wants to merge 3 commits into
masterfrom
enh-assistant

Conversation

@yarikoptic

@yarikoptic yarikoptic commented Nov 11, 2025

Copy link
Copy Markdown
Collaborator

Add an interactive assistant widget that appears on all MkDocs pages, allowing users to access the BIDS assistant (https://bids-assistant.neurosift.app/) via a floating button and iframe.

Assistant's code etc are at
https://github.com/magland/qp/tree/main/src/assistants/bids-assistant
and is really crude and could be improved but it seems already to provide very reasonable assistance! Please try it out (let's see if works while in preview!)

Changes:

  • Add theme override template (src/overrides/main.html) extending Material theme
  • Add assistant widget styling (src/css/assistant.css) with responsive design
  • Configure custom theme directory and include assistant CSS in mkdocs.yml
  • Implement lazy loading of assistant iframe on first click

🤖 Generated with Claude Code

Code snippet is based on the one for NWB which could be seen in

TODOs

  • adjust styling / placement -- potentially just along the "Social" buttons there?

ATM looks like

image

Add an interactive assistant widget that appears on all MkDocs pages,
allowing users to access the BIDS assistant (https://bids-assistant.neurosift.app/)
via a floating button and iframe.

Changes:
- Add theme override template (src/overrides/main.html) extending Material theme
- Add assistant widget styling (src/css/assistant.css) with responsive design
- Configure custom theme directory and include assistant CSS in mkdocs.yml
- Implement lazy loading of assistant iframe on first click

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@codecov

codecov Bot commented Nov 11, 2025

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 82.83%. Comparing base (373da35) to head (c19ada6).

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #2254   +/-   ##
=======================================
  Coverage   82.83%   82.83%           
=======================================
  Files          20       20           
  Lines        1672     1672           
=======================================
  Hits         1385     1385           
  Misses        287      287           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@bendichter

Copy link
Copy Markdown
Contributor

I recommend opening in a separate window like https://neuroconv.readthedocs.io/en/stable/
the UX for the iframe chat UI is tricky because you lose the chat history when you change the page

@yarikoptic yarikoptic mentioned this pull request Nov 23, 2025
4 tasks
@julia-pfarr

Copy link
Copy Markdown
Member

How about letting users try this at the EBRAINS summit and collect feedback on where it should be placed?

@bendichter

bendichter commented Dec 1, 2025

Copy link
Copy Markdown
Contributor

I think it's fine as-is. I would recommend adding a button to pop the chat out as a separate window, but that requires a PR on a different repo: magland/qp#23

@neuromechanist

neuromechanist commented Feb 5, 2026

Copy link
Copy Markdown
Member

Also look at this: https://demo.osc.earth/bids
It knows about PRs, Issues, BIDS references, and even the references that cited the BIDS reference papers, all through a YAML file. Repo is at: https://github.com/OpenScience-Collective/osa
The Assistant can even get context from the page your on to provide a better response.

You can resize the widget (drag from top left), make a pop out, or change the model with BYOK.

It needs ~10 lines added to the target frontend (with additional configs for colors, logos, etc):

<script src="https://osa-demo.pages.dev/osa-chat-widget.js"></script>
<script>
  OSAChatWidget.setConfig({
    communityId: 'hed'  // or 'bids', 'eeglab', etc.
  });
</script>
image

@yarikoptic

Copy link
Copy Markdown
Collaborator Author

I will consider it superseded by @neuromechanist 's

@yarikoptic yarikoptic closed this Jun 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants