releaseintermediate
Launch HN: Onyx (YC W24) – Open-source chat UI
By Weveshackernews
View original on hackernewsOnyx is an open-source chat UI (YC W24) that works with any LLM and provides enterprise-grade features like RAG, web search, MCP, and deep research. Built by the creators of Danswer, the team pivoted after realizing users wanted secure, self-hosted chat interfaces with world-class UX rather than just search. The platform supports RBAC, SSO, and on-prem hosting, with key innovations in context management and model-agnostic tool handling that enable reliable multi-model deployments at scale.
Key Points
- •Onyx provides a unified chat interface supporting all LLM types (proprietary and open-weight) with enterprise security and customization
- •Context management is critical: use 'Reminder' prompts (1-3 sentences injected at end of user message) to ensure LLMs adhere to system instructions, as models attend most to the end of context windows
- •Build model-specific workarounds for natural tendencies (e.g., GPT models expect Jupyter notebook behavior with auto-print of last lines; other models don't)
- •Core value proposition: secure, self-hosted access to multiple LLMs with great UX is more valuable than search—users want 10+ daily interactions with intuitive, 'magical' experience
- •Enterprise features include RBAC, SSO, permission syncing, and airgap deployment for sensitive industries with locally-hosted LLMs
- •Supports advanced capabilities: RAG, web search, custom tools, MCP, assistants, deep research, and code interpreter across all model providers
- •Quick deployment: Docker-based local setup in <15 minutes; cloud option available at onyx.app
- •Real-world validation: Fortune 100 company deployed to 10k+ employees with model-specific assistants per department; sensitive industry teams use airgapped local LLM deployments
- •UX bar is extremely high—consumer products like ChatGPT set expectations; hundreds of small details matter to move from 'works' to 'feels magical'
- •Open-source approach enables enterprise customization and self-hosting, addressing privacy and compliance concerns that proprietary solutions cannot
Found this useful? Add it to a playbook for a step-by-step implementation guide.
Workflow Diagram
Start Process
Step A
Step B
Step C
Complete
Concepts
Artifacts (3)
Onyx Quick Start Commandbashcommand
# Deploy Onyx locally with Docker in <15 minutes
# Follow: https://docs.onyx.app/deployment/getting_started/quickstart
docker run -d onyx-app/onyxContext Management Patterntemplate
# Reminder Prompt Pattern for LLM Context Management
## Problem
LLMs struggle to remember system prompts and instructions in long conversations,
especially with multiple tool calls adding context.
## Solution: Reminder Prompt
Inject a 1-3 sentence reminder at the END of the user message describing
non-negotiable requirements.
## Example
User Message: "[original query...]"
Reminder: "Remember: Always ignore sources of type X. Use only verified data."
## Why It Works
LLMs attend most to the very end of the context window, maximizing adherence
to critical instructions.Model-Agnostic Code Interpreter Patterntemplate
# Model-Specific Behavior Handling
## GPT Family (Jupyter Notebook Expectation)
- Models refuse to add print() around last line
- Jupyter auto-writes last line to stdout
- Solution: Auto-inject print() for last bare line
## Other Models
- No strong Jupyter preference
- Standard code execution behavior
- No auto-print needed
## Implementation
Detect model family → Apply model-specific code interpreter logic
→ Normalize output across all providers