Chris-o-O wires up legal-tuned search and a model marketplace in one go

Two upgrades land together: smarter document search and a much wider menu of AI models to run it all on.

searchintegration

Chris-o-O added semantic search to this fork - the kind that finds documents by meaning rather than exact keywords. It runs on Voyage AI, an embedding provider whose model is specifically tuned for legal text, and it preserves page numbers so a hit points you to the right spot in a long PDF. There's a search box on the project page and the assistant can reach for it mid-conversation.

The same change also plugs in OpenRouter, a gateway that opens up a long list of models - GPT-4o, Mistral, Llama and more - through a single connection, alongside the Claude and Gemini options already there. Worth knowing before you lean on it: search only indexes documents at upload time, so anything already in the system stays invisible until it's re-uploaded. You'll want a catch-up pass before trusting it in production.

So what If your team's pain is finding the right clause in a mountain of documents - or you want freedom to pick your own model - this fork is worth a look.

View this fork on GitHub →

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

Commits in this thread

1 commit from Chris-o-O/mike-explor, oldest first. Source extracted verbatim from the harvested git log.

SHA Subject Author Date
3279a584 Add OpenRouter multi-model support and Voyage AI semantic search Claude 2026-05-07 ↗ GitHub
commit body
OpenRouter: extends the LLM provider abstraction to support GPT-4o,
GPT-4 Turbo, Mistral Large, Llama 3.3 70B, and Gemma 3 27B via a
single OpenRouter API key. Follows the same provider pattern as Claude
and Gemini - new openrouter.ts adapter, model routing by prefix, per-user
API key stored in user_profiles, and full UI integration (model toggle,
availability checks, account settings key field).

Semantic search: adds Voyage AI embeddings (voyage-law-2, optimised for
legal documents) to index document chunks at upload time (fire-and-forget,
controlled by VOYAGE_API_KEY env var). Chunks are stored in a new
document_chunks pgvector table. A /search/semantic endpoint and a
semantic_search LLM tool enable concept-level retrieval. A new
SemanticSearchWidget in ProjectPage exposes document search by meaning.

https://claude.ai/code/session_01NJxa5NasJ9qhaMkzEyqr2u

Capture this thread into my fork

Download a single Markdown prompt that tells Claude how to port every commit above into your working tree — adapting paths and structure to match your repo. Run it via claude -p < capture-thread-210.md from inside the repo you want the changes in.

⬇ Download capture-thread-210.md