Onyx AI is an open-source AI platform designed to connect large language models with your own data, apps, and workflows. Instead of relying only on generic AI knowledge, it allows you to build a system that understands your internal documents, tools, and processes.
It can function as:
An AI assistant for teams
A knowledge search engine
A platform for building custom AI agents
In simple terms, Onyx AI acts like a private, customizable version of tools similar to ChatGPT, but with deeper control over data and behavior.
If you are exploring powerful alternatives to mainstream AI tools, Onyx AI is quickly gaining attention as a flexible and developer-friendly solution. Built with a strong focus on customization, data integration, and self-hosting, Onyx AI goes beyond a simple chatbot and positions itself as a full AI workspace.
Download Onyx AI v4.2.0 Desktop App - Software Mirrors
Do not upgrade to this release if you want to preserve your existing indexed documents but have not yet run the document index migration, which can be done from any version v3.x. See additional documentation here.
See the assets to download this version and install.
What's Changed
chore: centralize retry-after parsing by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/11772
fix(opal): drop CSS imports via esbuild plugin instead of marking as external by @raunakab in https://github.com/onyx-dot-app/onyx/pull/11816
ci(nightly): drop backend image from LLM provider chat tests by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/11818
fix(slack): skip doc-set and persona ACL checks for anonymous Slack bot users by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/11817
ci(nightly-llm): surface local reproduce command on provider failure by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/11815
ci(preview): skip preview deployment when Vercel credentials are unset by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/11785
feat(opal): own z-index tokens so they survive standalone distribution by @raunakab in https://github.com/onyx-dot-app/onyx/pull/11823
feat(craft): add session-scoped approvals by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11819
fix(scim): promote shadow EXT_PERM_USER on SCIM adoption by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/11814
feat(craft): Add more actions to Slack, GDrive, and Linear External Apps by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/11798
ci: add python-version input to setup-python action by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/11828
fix(craft): prewarm agent sessions before first prompt by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/11824
feat(opal): add "xl" rounding variant to Card by @raunakab in https://github.com/onyx-dot-app/onyx/pull/11831
feat(search): show active conversation name in browser tab title by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/11832
feat(notifications): paginate retrieval api by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11829
fix(users): revalidate users table + counts after invite by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/11826
chore(craft): Docker compose e2e approval w/ network proxy test in CI by @acaprau in https://github.com/onyx-dot-app/onyx/pull/11777
feat(security): gate API docs/schema behind ENABLE_PUBLIC_DOCS (default off) by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/11837
chore(craft): Enable k8s e2e approval w/ network proxy test in CI by @acaprau in https://github.com/onyx-dot-app/onyx/pull/11778
fix(fireflies): re-scan an overlap window so late transcripts aren't dropped by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/11835
fix(craft): pr-craft-compose-integration.yml doesn't need to start FE containers by @acaprau in https://github.com/onyx-dot-app/onyx/pull/11839
chore(opal): bump version to 0.1.7 by @raunakab in https://github.com/onyx-dot-app/onyx/pull/11834
feat(shared): scaffold @onyx-ai/shared package for web + mobile by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/11799
feat(mobile): scaffold Onyx Expo (SDK 56) React Native app by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/11800
ci(mobile): add lint, format & typecheck pre-commit hooks by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/11849
fix(craft): pr-craft-compose-integration.yml should upload log artifacts by @acaprau in https://github.com/onyx-dot-app/onyx/pull/11840
fix(craft): Prevent Craft model picker flash while sessions load by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/11844
fix(mobile): pin Kotlin 2.1.20 for Android builds + add dev setup docs by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/11848
feat(craft): run interactive turns in background by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/11822
fix(external apps): show tooltip for why the creation modal is not complete by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11852
feat(security): add dedicated security_settings table by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/11853
feat(craft): codify Onyx Craft EKS infra (terraform + helm) by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/11787
fix(craft): avoid event bus during opencode prewarm by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11855
fix(chat): tolerate deleted files referenced in chat history by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/11854
perf(llm): cache non-admin LLM provider listings per tenant by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/11856
fix(craft): interrupt with single Escape by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11857
fix(craft): hydrate webapp previews through proxy by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/11842
feat(security): runtime-configurable security settings via KV store by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/11453
feat(helm): mount custom CA certs on all outbound-TLS pods by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/11858
fix: fall back to global default model when personal default's provider is gone by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/11866
chore(deps): bump starlette from 0.49.3 to 1.0.1 in /backend by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/11745
fix(sandbox-proxy): reduce noisy proxy logs by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11867
test(agents): split flaky welcome-page-with-assistant screenshot by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/11870
feat(opal): move sidebar layout primitives into Opal (v0.1.8) by @raunakab in https://github.com/onyx-dot-app/onyx/pull/11864
fix(craft): cancel interrupted tool call spinner by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/11851
fix(chat): SSE heartbeat + first-chunk stream retry to stop silent stream deaths by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/11872
feat(craft): make Craft runtime-only; drop the craft backend image by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/11877
feat(opal): add SvgFile and SvgOnyxLogo icons by @raunakab in https://github.com/onyx-dot-app/onyx/pull/11883
fix(craft): gate scheduled-run-context fetch to scheduled sessions by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/11884
feat(mobile): add typed API client with TanStack Query by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/11847
fix(craft): pr-craft-compose-integration.yml should use runs-on by @acaprau in https://github.com/onyx-dot-app/onyx/pull/11865
perf(llm): memoize litellm reasoning-support probe per process by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/11879
feat(security): admin UI for runtime security settings by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/11863
fix(ods): run bun install when node_modules is empty by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/11895
chore(deps): bump azure-cognitiveservices-speech: 1.38.0->1.50.0 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/11894
ci(craft): deploy ad-hoc sandbox images via sandbox/dev git tags by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/11893
fix(fe): stop useAuthType clobbering the shared auth-type SWR cache by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/11896
fix(craft): make sandbox snapshots reliable + fail-closed idle cleanup by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/11892
feat: rate limit chat message feedback endpoints by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/11758
fix(terraform): expose EKS security group outputs by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11910
fix(chat): runs survive client disconnect — workers own persistence by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/11878
refactor(craft): store snapshots in onyx filestore by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11909
feat(connectors): add Braintrust connector by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/11880
chore(opal): remove className from Checkbox and RootLayout interfaces by @raunakab in https://github.com/onyx-dot-app/onyx/pull/11918
feat(craft): codify sandbox pod spec into a Helm PodTemplate by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/11919
fix(craft): codify sandbox proxy IRSA wiring by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11926
fix(craft): Fix k8s test, forward bare vs approve and 403 flows by @acaprau in https://github.com/onyx-dot-app/onyx/pull/11882
feat(load-tests): Add Locust load-test harness for the chat path + deterministic mock LLM server 0/n by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/11917
feat(craft): migrate sandbox sidecar to restartable init container by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11928
feat(craft): sneaky easter egg by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/11939
fix(web): only render custom chat background on chat surfaces by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/11943
fix(opal/admin-sidebar): sidebar layout fixes by @raunakab in https://github.com/onyx-dot-app/onyx/pull/11925
fix(web): add frame-ancestors CSP to prevent clickjacking by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/11936
chore: Restore ruff G004 (no f-strings in logging) and fix 15 violations that crept in by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/11945
feat(load-tests): tool-call + deep-research support in mock LLM, scenarios, Dockerfile 1/n by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/11938
fix(CORS): Never pair wildcard CORS origins with allow_credentials (ENG-4126) by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/11948
chore(sidebar): reorganise sidebar utilities into lib/sidebar/ by @raunakab in https://github.com/onyx-dot-app/onyx/pull/11950
fix(craft): Fix docker compose integration test log matching by @acaprau in https://github.com/onyx-dot-app/onyx/pull/11947
fix(craft): use OnyxError in reset sandbox API by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11954
feat(load-tests): in-cluster harness image + k8s manifests for mock LLM and Locust 2/n by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/11951
chore(dev): ignore sandbox image files in hot reload by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11953
chore(craft): Run docker compose integration on presubmit by @acaprau in https://github.com/onyx-dot-app/onyx/pull/11949
fix(helm): validate Craft sandbox proxy config by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11956
fix(craft): always register all supported providers in opencode config by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/11860
fix(fe): stop nested
feat(load-tests): scenario mix, multi-turn, disconnects, collapse-point ramp 3/n by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/11961
build(craft): upgrade sandbox image to Python 3.13 by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11965
feat(security): consolidate SSRF protection into one admin setting by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/11881
feat(load-tests): Prometheus exporter + Grafana correlation dashboard 4/n by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/11967
fix(craft): persist opencode chat history by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11922
fix(web): stop background tabs from polling the API forever by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/11962
fix(web): poll search settings only while a re-embedding migration is active by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/11963
fix(load-tests): add title + uid to correlation dashboard by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/11971
fix(web-connector): apply URL validation across all fetch paths by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/11973
fix(indexing): cap spawned worker memory + Drive extracted-text size by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/11969
chore(deps): upgrade ods: 0.8.0->0.8.1 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/11966
feat(craft): reuse standard chat message components + copy actions by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/11958
fix(llm): route Claude Fable 5 / Mythos 5 through adaptive thinking by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/11992
feat(craft): sneaky craft easter egg by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/11993
chore: update go toolchain to 1.26.4 by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12001
fix(cli): upgrade wish and go toolchain by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11997
fix(sandbox): update web template dependencies by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11999
fix(sandbox): update runtime toolchain by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11998
fix(deps): replace retry with tenacity to drop CVE-2022-42969 (py) by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12000
chore(deps): enable dependabot for sandbox image by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12006
ci(cli): scan release wheels with govulncheck by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12009
feat(craft): prune session snapshots on write (keep only the latest) by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/12002
fix(security): harden default MinIO/S3 object-storage credentials by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12003
chore(deps-dev): bump pypdf from 6.10.2 to 6.12.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/12008
fix(e2e): scope settings page screenshots to the settings container by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12017
fix(sandbox): update web template dependencies by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12022
fix(craft): set ephemeral-storage requests/limits on sandbox pods by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/11921
refactor(craft): extract sandbox manager factory from base.py by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/12029
test(web): deflake command-menu screenshots by masking timestamps by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12035
feat(slack-connector): add channel exclude list with optional regex by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/11996
fix(cli): publish musllinux wheels by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12037
chore(search): stop inferring filters in the search pipeline by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/12019
fix(security): require USER_AUTH_SECRET on non-dev deployments by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12038
feat(craft): show action description for external app skill commands by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/12036
fix(web): don't shrink custom placeholders in PasswordInputTypeIn by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12041
fix(web): sanitize docx-preview output in file preview modal by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12043
fix(seat-limit): cloud bulk invite self-deadlocks on double advisory lock acquisition by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12045
refactor(craft): flatten sandbox/manager/ into sandbox/snapshot_manager.py by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/12030
fix(sandbox): update initial dependencies by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12044
chore(sandbox): use oxlint for web template by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12026
chore(craft): kind image refresh tooling for local dev by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/12034
refactor(craft): move shared modules out of build api/ package by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/12031
chore(web): remove unused @sentry/tracing dependency by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12020
fix(scim): skip SCIM token probe below Enterprise tier by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12004
fix(users): bound invite request with a timeout so the modal can't hang by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12005
refactor(projects): migrate ProjectContextPanel and ProjectChatSessionList to sections/projects/ by @raunakab in https://github.com/onyx-dot-app/onyx/pull/12049
refactor(tokens): centralize design tokens in @onyx-ai/shared by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/11937
fix(projects): replace empty spacer divs with padding utilities by @raunakab in https://github.com/onyx-dot-app/onyx/pull/12056
feat(mobile): add React Native Sidebar (Opal SidebarLayouts port) by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/12057
feat(craft): background-snapshot RUNNING sandboxes in the idle sweep by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/12021
fix(google_drive): bound connector memory by streaming documents in sub-batches by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12059
chore(web): auto-rebuild opal dist CSS on checkout/pull by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/12067
feat(mobile): load Hanken Grotesk + DM Mono fonts for typeface parity by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/12069
fix(voice): strip markdown before TTS read-aloud playback by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/12070
fix(notion): iterate block/page traversal to prevent RecursionError by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/12040
chore(cloud): temporarily pause signups by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12075
feat(llm-disablement): disable new LLM provider configuration on cloud by @raunakab in https://github.com/onyx-dot-app/onyx/pull/12076
fix(sentry): reduce captured content in error events by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12077
fix(llm): return 400 not 502 when an Ollama server is unreachable by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12079
feat: structured audit logging for credential access by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/12083
fix(app-chrome): unified chrome header — consistent height, no dead space by @raunakab in https://github.com/onyx-dot-app/onyx/pull/12082
chore(opal): bump patch version 0.1.11 → 0.1.12 by @raunakab in https://github.com/onyx-dot-app/onyx/pull/12088
fix(llm): prevent LLM environment sharing by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/12080
fix(ci): unblock craft compose integration after USER_AUTH_SECRET hardening by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/12051
refactor(model-selector): unify LLMPopover, ModelSelector, LLMSelector into one by @raunakab in https://github.com/onyx-dot-app/onyx/pull/11952
fix(app-chrome): restore header on "start an agent chat" page by @raunakab in https://github.com/onyx-dot-app/onyx/pull/12093
fix(projects): Fix CreateProjectModal and cap description lines by @raunakab in https://github.com/onyx-dot-app/onyx/pull/12094
feat(chat): durable chat runs — reconnect to in-flight streams by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/11927
feat(agent-sharing): schema for per-share permissions and ownership - 1/7 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12010
chore(opal): remove dead RootLayout.Sidebar component by @raunakab in https://github.com/onyx-dot-app/onyx/pull/12106
fix(craft): mark failing bash commands as failed and persist them by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/12050
feat(ods): add ods release opal to cut opal releases via bot PR by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12095
refactor(craft): reorganize build package into domain packages by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/12032
feat(agent-sharing): per-share permission model - 2/7 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12011
fix(craft): accept assignment-form basePath in next.config template test by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/12114
fix(craft): fix /workspace/sessions volume permissions in Docker sandbox by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12078
refactor(craft): move sandbox celery tasks to background/celery/tasks/build by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/12033
fix(craft): run docker workspace execs as sandbox user by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12116
fix(deployment): alert on create-release failure by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12122
fix(ci): resolve draft release id via list endpoint, not tag lookup by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12123
chore(deps): upgrade ods: 0.8.1->0.8.2 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12117
feat(llm-admin): introduce new PostHog flag to disable llm-provider configuration by @raunakab in https://github.com/onyx-dot-app/onyx/pull/12120
feat: allow sandbox agents to write tmp by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12125
fix(llm): map unreachable OpenAI-compatible model server to 400, not 502 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12085
fix(ci): clearer Slack alert when cherry-pick hits workflows permission by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12126
feat(email): archive sent messages via bcc by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12119
revert(cloud): restore signup page by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12111
fix(connector): only redirect connector detail page on a real 404 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12112
fix(chat): disable model selector when there are no models to select by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12130
chore(llm): Improve custom config logging by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/12115
fix(llm): restore vision detection for custom-config providers (LiteLLM Proxy) by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/12136
fix(file-processing): extract PDF text with pypdfium2 instead of pypdf by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12102
feat: mcp oauth persists refresh info by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/11735
feat(auth): add mobile bearer-token auth gateway by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/12068
fix(voice): log Azure STT cancellations, no-speech, and session end by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/12107
feat(skills): add user-managed personal skills by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/11923
fix(mobile): make onboarding responsive by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12135
fix(confluence): anchor attachment link to webui URL by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12124
feat(craft): align sandbox image tagging with app releases by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12141
refactor(settings): consolidate settings into a single useSettings() hook by @raunakab in https://github.com/onyx-dot-app/onyx/pull/12155
feat(branding): derive logoUrl in useSettings hook by @raunakab in https://github.com/onyx-dot-app/onyx/pull/12159
chore(deps): bump aws-actions/configure-aws-credentials from 6.0.0 to 6.2.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/11899
fix(groups): search members by service account name by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12142
fix(llm): resolve Bifrost vision support from LiteLLM cost map by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/12157
ci: right-size PR workflow job timeouts from historical runtimes by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12164
chore(deps): bump docker/setup-buildx-action from 4.0.0 to 4.1.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/11903
docs(agents): add comment-writing guideline by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12167
fix(tenant): skip tenant resolution for /health and /metrics probes by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12168
fix(slack): scope permission sync channel fetches by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12134
chore(craft): remove unused build code by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11959
fix(file-store): make change_file_id a metadata-only rename by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12087
fix(craft): let celery-worker-heavy create sandbox snapshots (NetworkPolicy + push key) by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/12173
fix(chat): surface context-window errors on long threads + overflow guard by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/12165
feat(agent-sharing): ownership and transfer - 3/7 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12023
feat(mobile-auth): runtime instance URL, session manager + login flow by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/12147
feat(service-accounts): add Groups & Roles modal by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12174
feat(auth): add mobile SSO bridge with PKCE one-time code exchange by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/12150
feat(settings): add 60 days chat retention option by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/12186
feat(agent-sharing): editor knowledge-attach guard - 4/7 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12024
fix(dev): set ENCRYPTION_KEY_SECRET in .env.k8s.template to match localdev cluster by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/12048
feat(agent-sharing): share UI foundation - 5/7 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12025
fix(branding): restore custom app name in browser title after navigation by @raunakab in https://github.com/onyx-dot-app/onyx/pull/12162
fix(admin): prevent clipped action button in admin list header by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12175
feat(agent-sharing): rebuilt share dialog - 6/7 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12027
ci: avoid buildx setup in sandbox prepare job by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12190
fix(craft): keep restored file pane populated by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12172
feat(settings): add custom chat retention duration option by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/12189
feat(settings): re-expose temperature control toggle in admin chat preferences by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/12192
feat(craft): Persist opencode session for docker compose path by @acaprau in https://github.com/onyx-dot-app/onyx/pull/12170
feat(agent-sharing): edit-page section, admin gating, owned-only gallery - 7/7 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12028
fix(chat): give pre-tool narration and tool calls distinct placement by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/12191
ci(cherry-pick): request workflows permission for app token by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12197
feat: gdrive follow shortcuts by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/12176
fix(craft): send tenant_id to PostHog so Craft flags can target one tenant by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/12196
fix: set cloud PostHog tenant id from user mapping by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12199
chore(craft): Snapshotting e2e test by @acaprau in https://github.com/onyx-dot-app/onyx/pull/12171
feat: add SharePoint targeted reindex (Resolver) support by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/12121
fix(indexing): count index-attempt errors via grouped query to stop api-server OOM by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12207
fix(chat): keep processing indicator until user files finish indexing by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/12208
feat(load-tests): compression / long-history scenario (CompressionUser) by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/11990
fix(security): skip security_settings DB read on the shared schema by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12166
feat(load-tests): file-attachment scenario for connection-hold testing 5/n by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/11976
feat(analytics): enable PostHog via runtime config instead of build-time env by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/12200
chore(craft, testing): k8s test should not run on every PR, match docker test cadence by @acaprau in https://github.com/onyx-dot-app/onyx/pull/12214
feat(canvas): perm syncing(4) by @benwu408 in https://github.com/onyx-dot-app/onyx/pull/10443
fix: sf retry closed connections by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/12216
fix(opensearch): skip metadata update for unknown/zero chunk count by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/12137
fix(file-processing): fall back to pypdf when PDFium text extraction fails by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12222
fix(google-drive): bound Google Doc parsing to prevent indexing-worker OOM by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12223
chore(install): Rename Vespa to OpenSearch by @acaprau in https://github.com/onyx-dot-app/onyx/pull/12224
fix(craft): set readOnlyRootFilesystem on the sandbox egress proxy by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/12218
fix(auth): serve anonymous chat to logged-out users on self-hosted (#11935) by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12074
Revert "feat(canvas): perm syncing(4)" by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/12231
feat(cherry-pick): add --dispatch to run the cherry-pick workflow remotely by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12232
chore: ee codeowners by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/12236
fix(search): restrict project chat search to project files by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/12181
fix(gong): configurable API base URL for non-US data residency by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/12264
feat(helm): allow disabling API startup migrations by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12268
fix(llm): resolve vision support for dynamic-provider models + clearer 413 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/12266
test(craft): factor shared test helpers by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12269
refactor(comments): replace mentions of mypy with app-agnostic comment by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12267
chore(web): clear stale Turbopack .next dev cache on checkout/pull/rebase by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12272
fix(craft): preserve contextvars in announce-merge producer threads by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/12240
fix(craft): reap idle sandboxes before background-snapshotting active ones by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12275
feat(tracing): Show available tools in llm trace by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/12282
fix(craft): wait for pod IP before opencode-history restore (k8s) by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12280
feat(admin): replace three-dots loader with animated Onyx mark by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12169
feat(opal): new EndOfList component by @raunakab in https://github.com/onyx-dot-app/onyx/pull/12278
feat(opal): add titleMaxLines to Content + refactor @opal/layouts.inputs's error layout by @raunakab in https://github.com/onyx-dot-app/onyx/pull/12277
fix(fe): disallow Interactive.Container from flex shrinking by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12283
fix(llm): deliver bedrock bearer token via per-session provider, not global env by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10611
fix(google-drive): bound advanced Doc parse to prevent indexing-worker OOM by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12237
fix(voice): backend markdown stripping for TTS + optional REST STT toggle by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/12284
chore(deps): upgrade ods: 0.8.2->0.8.3 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12235
Full Changelog: https://github.com/onyx-dot-app/onyx/compare/v4.1.6...v4.2.0
Key Features of Onyx AI
1. AI Chat with Your Own Data
Onyx connects to documents, databases, and apps, allowing it to generate answers based on real company knowledge instead of generic internet data.
2. Advanced RAG and Hybrid Search
It uses retrieval-augmented generation and hybrid search techniques to improve accuracy and reduce hallucinations.
3. Custom AI Agents
You can build agents with specific instructions, tools, and workflows, enabling automation of tasks like research, reporting, or analysis.
4. Deep Research Capabilities
Onyx AI can combine web data and internal sources to deliver structured insights instead of simple search results.
5. Open Source and Self-Hosted
One of its biggest strengths is transparency. You can deploy it on your own infrastructure, keeping full control over your data and privacy.
6. Multi-LLM Support
Onyx allows integration with different AI models, giving users flexibility instead of locking them into a single provider.
Performance and Use Cases
Onyx AI is designed for productivity and enterprise use rather than casual chatting. It performs best when connected to structured data, internal tools, or large document collections.
Common use cases include:
Internal knowledge assistants for companies
Developer and engineering workflows
Research and data analysis
Automated reporting and insights generation
Because of its architecture, it can also query live structured data and generate actionable outputs, not just text responses.
User Experience
The interface is modern and similar to a chat-based AI tool, but with added layers like agents, connectors, and configurations.
However, it is not beginner-focused. Setting up Onyx AI, especially self-hosting and integrations, requires some technical knowledge. This makes it more suitable for developers, startups, and tech teams rather than casual users.
Pros and Cons
Pros
Open source and highly customizable
Strong privacy with self-hosting options
Supports multiple AI models
Powerful data integration and automation
Advanced research and analysis capabilities
Cons
Setup can be complex for beginners
Requires infrastructure for full potential
Overkill for simple AI chat use
Who Should Use Onyx AI
Onyx AI is ideal for:
Developers building AI-powered tools
Companies needing internal AI assistants
Teams working with large datasets or documentation
Users who want full control over AI behavior and data
It is less suitable for users who just want a simple plug-and-play chatbot.
Final Verdict
Onyx AI stands out as a powerful open-source alternative in the AI ecosystem. It is not just another chatbot but a full platform for building intelligent systems tailored to your data and workflows.
Onyx AI is an excellent choice for advanced users and teams who want flexibility, privacy, and deep integration. While it requires some setup effort, the payoff in capability and control is significant.
Post a Comment/Report Broken Link: