Chris-o-O ↗ analysis ↗ GitHub Chris-o-O/mike-explor
Exploratory fork adding OpenRouter multi-model routing, Voyage AI legal-tuned semantic search, and a multi-tenant org/persona layer that injects firm and user context into every chat.
Chris-o-O built two substantial features on top of the base willchen96/mike codebase. The first brings in OpenRouter as a third LLM provider (GPT-4o, Mistral Large, Llama 3.3 70B, Gemma 3 27B, others) using the OpenAI SDK pointed at the OpenRouter API, alongside a Voyage AI semantic search pipeline using voyage-law-2 1024-dimensional embeddings stored in pgvector. Documents are chunked and indexed fire-and-forget on upload; search is exposed as a chat tool and a project page widget.
The second feature adds a multi-tenant organization model with member roles, email-based invites, and a per-user persona (role, practice areas, jurisdictions, bar number, custom instructions) that gets prepended to every chat system prompt. Firm-level custom instructions in the org record apply to all members. The persona logic is isolated in persona.ts, making it portable.
Both features landed in a single PR merge.
What's in it
- Multi-tenant organisations Adds a team layer so multiple users can share an organisation with its own jurisdictions, practice areas, and custom instructions.
- Per-user personas Each user gets a persona that's injected into every chat and project chat, so the assistant adapts to who's asking.
- System-prompt context injection Organisation and persona details flow into the system prompt automatically - no need to re-explain context every conversation.
- OpenRouter model choice A single integration unlocks GPT-4o, GPT-4 Turbo, Mistral Large, Llama 3.3 70B, and Gemma 3 27B through one API key.
- Voyage AI semantic search Adds a dedicated semantic search capability alongside the expanded model lineup.
Direction
multi-tenantpersonasintegration
Activity
Threads of work (detailed view)
Chris-o-O gives Mike a firm identity and a memory of who's asking
This fork turns a single-user legal assistant into something a whole firm can share - where the answer bends to the lawyer asking the question.
Org layer and per-user persona injected into every chat system prompt
Chris-o-O added a multi-tenant organization model and a per-user persona that gets prepended to every chat and project-chat system prompt. The persona carries user role, practice areas, jurisdictions, bar number, a personal custom instruction field, and a firm-level custom instruction from the org -- making the assistant context-aware of who it's talking to.
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.
OpenRouter adapter and Voyage AI semantic search added in one commit
Chris-o-O dropped OpenRouter multi-model support and a pgvector semantic search pipeline in a single 925-line commit. Each is gated by its own env var and follows the existing provider abstractions, so they can be adopted independently.
Pull requests (detailed view)
✅ Merged (1)
Chris-o-O · opened 2mo ago · merged 2mo ago by Chris-o-O