Sign inSign up

swirlai/swirl-search-preview

By swirlai

Updated about 1 year ago
Archived

Swirl queries data source APIs and presents unified results without extracting or indexing anything

Image
1

1.3K

swirlai/swirl-search-preview repository overview

SWIRL

SWIRL Enterprise — Internal Repository

This repository is for internal SWIRL use only. It is the source for SWIRL Enterprise, which is commercially licensed — a valid license is required to run it. Do not share access, code, or built images outside SWIRL. For licensing, contact [email protected].

Product documentation lives at docs.swirlaiconnect.com — it is the source of truth for installation, configuration, and usage. This README covers only what internal developers need to work in this repo.

Documentation

Installation GuideDocker-first deployment, requirements, licensing
Quick StartFirst search in minutes
User GuideSearch, workspaces, Topic Dashboard
AI Search GuideAI Providers, relevancy, RAG configuration
AI Search Assistant GuideChat with RAG over federated results
Semantic Cache GuideCaching, version clustering, canonical answers, pinning
MCP Server GuideConnecting Claude, Copilot, and other agents
Admin GuideBusiness Console, analytics, branding
Microsoft 365 GuideApp registration and M365 sources
Keycloak GuideOIDC login and brokered M365 access
TroubleshootingCommon issues and fixes
Developer GuideAPIs and extension points
Release NotesWhat shipped in each release

Local development setup

git clone -b develop https://github.com/swirlai/swirl-search-internal swirl-enterprise
cd swirl-enterprise
./install.sh
python swirl.py config_db        # schema, migrations, initial admin user
python swirl.py load_data        # branding, authenticators, SearchProviders, AI Providers
python manage.py collectstatic
./install-ui.sh -p
python swirl.py start
  • config_db creates the default admin user (admin / password); pass -username, -password, -email for a custom superuser.
  • Add the license issued by SWIRL to .env as SWIRL_LICENSE=<license-json> — SWIRL Enterprise will not operate without it.
  • .env.dist documents the available configuration variables.
Docker stack

docker-compose.qa.yml runs the full stack — SWIRL, PostgreSQL, Redis, Qdrant, SeaweedFS, Tika, Ollama (models baked in), and the MCP sidecar:

docker compose -f docker-compose.qa.yml up -d
Working in this repo
  • All work happens on feature/fix branches; they merge to develop via PR. develop merges to main only as part of a release.
  • The Galaxy UI is built in the swirl-galaxy-ui repo and installed into static/galaxy/ via ./install-ui.sh.
  • DevUtils/ holds development, test, and packaging helpers. Validate Python changes with python -m compileall and ./DevUtils/lint_flake8.sh; run ./DevUtils/pre-checkin-tests.sh before check-in.

MCP server

SWIRL ships a built-in MCP server (swirl_mcp) exposing federated search, source discovery, document reading, and RAG answers with citations to Claude and other MCP hosts:

python manage.py drf_create_token <username>
SWIRL_MCP_TOKEN=<api-key> python -m swirl_mcp                  # stdio
SWIRL_MCP_TOKEN=<api-key> python -m swirl_mcp --transport http # streamable HTTP on :8675/mcp

Tool reference and host configuration: swirl_mcp/README.md and the MCP Server Guide.

Support

Email [email protected] or open a ticket at the SWIRL Help Desk.

Tag summary

Content type

Image

Digest

sha256:3e4116828

Size

150.2 MB

Last updated

about 1 year ago

docker pull swirlai/swirl-search-preview:topic-text-matcher