sid-swirl proposes SWIRL-backed external search and one-click document import

An open PR from sid-swirl adds two assistant tools that connect Mike to a SWIRL federated search backend - one for querying external sources like case law and M365 connectors, one for importing results directly into the current project as documents.

searchknowledge-management

The first tool, search_external, runs queries against SWIRL and returns ranked hits with title, snippet, URL, and source name. Scope prefixes on the query string let the assistant target specific Microsoft 365 connectors: OneDrive, SharePoint, Outlook, Teams, or all M365 at once. This gives the assistant visibility into sources - regulations, sanctions lists, company filings, external databases - that uploaded project files can't cover.

The second tool, import_document, takes a result URL from that search and pulls the document into the current project. PDF, DOCX, and DOC are supported. For authenticated sources, the fetch is proxied through SWIRL so that OAuth tokens stay on the SWIRL side and are never passed to the LLM. A successful import refreshes the project sidebar in place.

Backend configuration is three env vars: SWIRL_URL, plus either a DRF token or basic-auth credentials (basic auth wins when both are set). Both tools register regardless of whether SWIRL_URL is configured - without it they return a "not configured" message rather than erroring, so the assistant degrades cleanly on installs that don't run SWIRL.

The PR is open against willchen96/mike with no commits listed in the diff data, which suggests it may be a proposal or very early draft. There's no implementation diff to review here - only the source commentary describing intent.

So what Worth watching if you need the assistant to reach into M365 or external reference sources rather than only indexed uploaded files. The credential-boundary design (OAuth stays on the SWIRL side) is sensible. No code is reviewable at this stage - wait for actual commits before spending time on adoption assessment.

View this fork on GitHub →

Spotted something wrong? Or know the PR text has fresher detail than the writeup above?