Skip to content

docs: replace slow Inkeep search with offline local search - #192

Merged
mubashir1osmani merged 8 commits into
search_barfrom
litellm_fast-local-docs-search-b8dd
May 21, 2026
Merged

docs: replace slow Inkeep search with offline local search#192
mubashir1osmani merged 8 commits into
search_barfrom
litellm_fast-local-docs-search-b8dd

Conversation

@mateo-berri

Copy link
Copy Markdown
Collaborator

Why

Docs search (powered by Inkeep) was reported as slow on docs.litellm.ai and exhibited several UX bugs:

  • Search is very slow to return results.
  • After running a search and clicking around, the cursor lands in the wrong place / re-opening search is blocked.
  • Cmd+K doesn't reliably reopen the search bar with focus.

What

Swap the navbar search bar over to @easyops-cn/docusaurus-search-local, a popular Docusaurus theme that builds a static lunr index at build time and runs entirely on the client. Searches are effectively instant — there is no network call and no third‑party SLA in the search path. The library also reliably wires up Cmd+K focus and modal open/close, fixing the focus regressions reported above.

The floating Ask AI chat button (@inkeep/cxkit-docusaurus) is preserved — only the slow hosted search integration is removed.

Changes

  • docusaurus.config.js
    • Add @easyops-cn/docusaurus-search-local under themes, indexing both docs and release_notes plus the blog.
    • Tune options for technical docs: keep stop words (removeDefaultStopWordFilter: true), enable on-page highlight, mod+k shortcut, hashed index (long-term cache friendly).
    • Drop the SearchBar config from the @inkeep/cxkit-docusaurus plugin so it only provides the ChatButton (Ask AI). The Inkeep SearchBar component renders null without a config, and the easyops theme (loaded later under themes:) provides the active @theme/SearchBar implementation.
  • package.json / package-lock.json — add @easyops-cn/docusaurus-search-local@0.55.1.

Verification

  • npm run build succeeds (the broken-anchor warnings in release_notes/* are pre‑existing and unrelated).
  • build/search-index.json is generated (~29 MB lunr index covering docs + release notes + blog).
  • The bundled @theme/SearchBar is the easyops implementation (DocsPreferredVersionContextProvider wrapper present, no InkeepSearchBar symbols in main.*.js).
  • Inkeep's chat button (ikp-chat-button__button) is still bundled, so Ask AI remains available.

Notes

  • The Inkeep API key and chat settings are unchanged — only the search bar is replaced.
  • If we later want Inkeep's "Ask AI" handoff from the search modal, @easyops-cn/docusaurus-search-local supports an optional askAi config that we can wire up in a follow-up.

Slack Thread

Open in Web Open in Cursor 

Chesars and others added 8 commits May 20, 2026 20:03
* docs(blog): make /blog responsive

- Add mobile styles to swizzled BlogListPage (hero, marquee, posts, pagination).
- Fix horizontal overflow caused by the marquee's white-space: nowrap propagating
  width up the flex chain. Break it with min-width: 0 on .page and #__docusaurus > *,
  plus defensive overflow-x: clip.
- Respect prefers-reduced-motion (stop marquee animation).

* Remove global overflow prevention styles

Removed global styles to prevent horizontal overflow on mobile.
…ides (#31)

Backfills the `BerriAI/litellm-docs` site with the changes that originally
shipped under `docs/my-website/` in BerriAI/litellm#25939 / #26325. After
the docs source was migrated to this repo, those edits could no longer
be carried in the code PR and were dropped on rebase.

- proxy/token_auth.md: expand "Matching behavior" with AND semantics,
  the new optional `scope` selector, list/string forms, shell-style
  wildcards (`*`, `?`, case-sensitive), and the scope-only space-split
  rule (iss/aud/client_id are never split on spaces). Adds a worked
  example combining `scope` with a wildcard `client_id`.
- proxy/oauth2.md: cross-reference the new wildcard/scope behavior and
  point readers to token_auth.md for full details.

Code change is in BerriAI/litellm#26325 (litellm_internal_staging).
…) (#184)

* docs(mcp,a2a): code-verified auth reference fixes + overview page (#156)

* docs(mcp): complete auth_type table, OAuth config reference, RBAC intersection model, hub-vs-public-internet distinction

* docs(a2a): document x-litellm-api-key, trace-id enforcement, sub-agent propagation, agent access groups and full intersection model

* docs(bedrock_agentcore): add LiteLLM A2A Gateway section — fixes broken anchor from a2a.md, documents dual JWT/SigV4 auth modes and full credential chain

* docs: add AuthN/AuthZ overview page side-by-siding MCP and A2A gateways

* docs(fixup): corrections from code-review pass — verified against current LiteLLM source

* make changes

---------

Co-authored-by: michelligabriele <gabriele.michelli@icloud.com>
litellm_version: v1.83.14-stable
claude_code_version: 2.1.126
generated_at: 2026-05-20T06:09:45Z

Co-authored-by: litellm-compat-matrix-bot <litellm-bot@berri.ai>
The OpenAI Python SDK rejects guardrails as a top-level argument; use extra_body to send LiteLLM-specific params to the proxy.

Co-authored-by: Cursor <cursoragent@cursor.com>
Patch releases on top of v1.84.0 and v1.85.0, each shipping the same
three PRs: Gemini 3.5 Flash day-0 support (#28268), a Vertex AI
tool-calling fix for Gemini 3.5+ HTTP 400 errors (#28324), and a
cross-pod spend-counter seeding fix (#27854).

Adds release_notes/v1.84.1/ and release_notes/v1.85.1/ pages and
updates the release_notes overview (Latest Release block + table).
…search-local

Inkeep search was reported as slow and exhibited focus / Cmd+K bugs
(cursor in the wrong place, page preventing repeated searches). Swap
the navbar SearchBar over to @easyops-cn/docusaurus-search-local, which
builds a static lunr index at build time and renders results instantly
on the client.

- Add @easyops-cn/docusaurus-search-local theme with both docs and
  release_notes routes indexed.
- Keep stop words and stems (technical docs frequently search short
  tokens) and enable highlight-on-target-page.
- Drop the SearchBar config from @inkeep/cxkit-docusaurus so it only
  provides the floating Ask AI chat button (still useful for AI Q&A).

Co-authored-by: Mateo Wang <mateo-berri@users.noreply.github.com>
@vercel

vercel Bot commented May 21, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
litellm Ready Ready Preview, Comment May 21, 2026 10:40pm

Request Review

@mubashir1osmani
mubashir1osmani marked this pull request as ready for review May 21, 2026 22:48
@mubashir1osmani
mubashir1osmani changed the base branch from main to search_bar May 21, 2026 22:49
@mubashir1osmani
mubashir1osmani merged commit 727ad0a into search_bar May 21, 2026
3 checks passed
@mubashir1osmani
mubashir1osmani deleted the litellm_fast-local-docs-search-b8dd branch May 21, 2026 22:49
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.

9 participants