Skip to content
Closed
Show file tree
Hide file tree
Changes from 3 commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
1c13975
minor internet search env vars
wenxi-onyx Jul 17, 2025
73258f2
clean up connector page and add new option for uncommon connectors
wenxi-onyx Jul 17, 2025
10900c5
vscode env template
wenxi-onyx Jul 17, 2025
8cde39a
deployment fix and change default to false
wenxi-onyx Jul 17, 2025
9b92c2f
greptile nit
wenxi-onyx Jul 17, 2025
c1b706e
fix: Move around group-sync tests (since they require docker services…
raunakab Jul 17, 2025
8edcb69
remove chat session necessity from send message simple api (#5040)
wenxi-onyx Jul 17, 2025
28d5a63
Improve support for non-default postgres schemas (#5046)
Weves Jul 18, 2025
524eb1e
fix: improve check for indexing status (#5042)
Weves Jul 18, 2025
7dbe4ed
fix: improve assistant fetching efficiency (#5047)
Weves Jul 18, 2025
d1d8626
feat: KG improvements (#5048)
joachim-danswer Jul 18, 2025
2b856d4
feat: Search and Answer Quality Test Script (#4974)
Orbital-Web Jul 19, 2025
44bee6f
Remove empty tooltip (#5050)
raunakab Jul 21, 2025
48f8a68
feat: Updated KG admin page (#5044)
raunakab Jul 21, 2025
83a3544
Make `from_.user` optional (use "Unknown User") if not found (#5051)
raunakab Jul 22, 2025
e407c67
feat: connector indexing decoupling (#4893)
evan-onyx Jul 22, 2025
3612345
Tiny launch.json template improvement (#5055)
Weves Jul 22, 2025
b2bc730
refactor: Update the error message that is logged when PR title fails…
raunakab Jul 22, 2025
8e43ea4
fix: Make pr-labeler run on edits too
raunakab Jul 22, 2025
768e3e9
fix: time discrepancy (#5056)
evan-onyx Jul 22, 2025
d245f53
handle empty doc batches (#5058)
evan-onyx Jul 22, 2025
ccdfc51
fix: too many internet chunks (#5060)
wenxi-onyx Jul 22, 2025
a0e2a7f
fix: remove extra group sync (#5061)
evan-onyx Jul 22, 2025
bd56d20
fix: regen api key (#5064)
evan-onyx Jul 23, 2025
c8955cf
feat: avoid full rerun (#5063)
evan-onyx Jul 23, 2025
fe432ee
fix: explicit api_server dependency on minio in docker compose files …
Dcooley1350 Jul 23, 2025
e17fcee
fix: adjust template variable from .Chart.AppVersion to .Values.globa…
PaulHLiatrio Jul 23, 2025
9d8b04b
refactor: Update location of `sidebar` (#5067)
raunakab Jul 23, 2025
01f1f8b
fix: remove locks from indexing callback (#5070)
evan-onyx Jul 23, 2025
31398cc
attempt fix for broken excel files (#5071)
evan-onyx Jul 24, 2025
fcc70a4
fix: sharepoint lg files issue (#5065)
Subash-Mohan Jul 24, 2025
d1c06b3
add library to fall back to for tokenizing (#5078)
evan-onyx Jul 24, 2025
2d53dfe
fix: drive external links (#5079)
evan-onyx Jul 25, 2025
5af4aa1
feat: support aspx files (#5068)
Weves Jul 25, 2025
29d3ad0
attempt to fix parsing of tricky template files (#5080)
evan-onyx Jul 25, 2025
af0ac77
typo (#5082)
wenxi-onyx Jul 25, 2025
1564778
fix: preserve error traces (#5083)
evan-onyx Jul 25, 2025
801daef
fix: sidebar ranges (#5084)
evan-onyx Jul 25, 2025
e492d6d
onyx metadata minio fix + permissive unstructured fail (#5085)
wenxi-onyx Jul 25, 2025
addf25a
feat: pruning freq (#5097)
evan-onyx Jul 26, 2025
26afb77
[Vespa] Update to optimized configuration
justin-tahara Jul 28, 2025
4e892ca
Let's do this properly
justin-tahara Jul 28, 2025
4d92bd7
[Vespa] Update to optimized configuration pt.2 (#5113)
justin-tahara Jul 28, 2025
7addaf2
feat(infra): Update helm version after new feature (#5120)
justin-tahara Jul 29, 2025
506b5b3
Feature/GitHub permission sync (#4996)
Subash-Mohan Jul 30, 2025
5430ef2
edit link to custom actions (#5129)
Orbital-Web Jul 30, 2025
b268c48
fix: Make ungrounded types have a default name when sending to the fr…
raunakab Jul 30, 2025
b769bd1
fix: accept multiple zip types and fallback to extension (#5135)
wenxi-onyx Jul 30, 2025
7533da2
feat(infra): Codeowner for Helm directory (#5139)
justin-tahara Jul 31, 2025
35fc4b6
feat(infra): Creating new helm chart action workflow (#5137)
justin-tahara Aug 1, 2025
2003410
fix: minio file names (#5138)
wenxi-onyx Aug 1, 2025
746e536
fix unsupported character error in minio migration (#5145)
Subash-Mohan Aug 4, 2025
5c0ddc4
fix: preserve error traces (#5152)
evan-onyx Aug 5, 2025
1729928
feat: add customization via env vars for curator role (#5150)
Weves Aug 5, 2025
dd344c9
feat(infra): Release Charts on Github Pages (#5155)
justin-tahara Aug 5, 2025
c4d9009
fix(infra): Adding helm directory (#5156)
justin-tahara Aug 5, 2025
5172477
no more scheduled stalling (#5154)
evan-onyx Aug 5, 2025
1091b89
fix: slash command slackbot to respond in private msg (#5151)
wenxi-onyx Aug 6, 2025
c4130c9
feat(infra): Update Vespa Helm Chart Version
justin-tahara Aug 7, 2025
b0460f4
Revert that change. Let's do this properly
justin-tahara Aug 7, 2025
9a2a843
feat(infra): Bump Vespa Helm Version (#5161)
justin-tahara Aug 7, 2025
f0158ad
feat: salesforce custom query (#5158)
evan-onyx Aug 7, 2025
baaf765
mask llm api key from logs
wenxi-onyx Aug 7, 2025
c186ceb
fix: remove erroneous error case and add valid error (#5163)
evan-onyx Aug 7, 2025
2c923a7
feat: support gpt5 models (#5169)
wenxi-onyx Aug 7, 2025
14f1d85
Make starter messages visible on smaller screens (#5170)
Weves Aug 7, 2025
066172e
feat: office parsing markitdown (#5115)
evan-onyx Aug 7, 2025
718c820
refactor: file processing (#5136)
evan-onyx Aug 8, 2025
dda8c8b
fix: sanitize slack payload before logging (#5167)
wenxi-onyx Aug 8, 2025
d91fe11
add gpt 5 display names (#5175)
wenxi-onyx Aug 8, 2025
66c02dd
fix(infra): Update github workflow to not tag latest (#5172)
justin-tahara Aug 8, 2025
0f97f77
fix(infra): Removing invalid helm version (#5176)
justin-tahara Aug 9, 2025
ce840d8
fix: restrict user file access to current user only (#5177)
Subash-Mohan Aug 10, 2025
3b07ee9
fix: removal of old tags + is_list differentiation (#5147)
Orbital-Web Aug 10, 2025
1ba4ce0
fix: max tokens param (#5174)
evan-onyx Aug 11, 2025
948fa52
feat: sharepoint perm sync (#5033)
Subash-Mohan Aug 11, 2025
d3367b3
clean up connector page and add new option for uncommon connectors
wenxi-onyx Jul 17, 2025
15bca34
deployment fix and change default to false
wenxi-onyx Jul 17, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .vscode/env_template.txt
Original file line number Diff line number Diff line change
Expand Up @@ -65,3 +65,6 @@ S3_ENDPOINT_URL=http://localhost:9004
S3_FILE_STORE_BUCKET_NAME=onyx-file-store-bucket
S3_AWS_ACCESS_KEY_ID=minioadmin
S3_AWS_SECRET_ACCESS_KEY=minioadmin

# Show extra/uncommon connectors
SHOW_EXTRA_CONNECTORS=False
3 changes: 3 additions & 0 deletions backend/onyx/configs/app_configs.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,9 @@
# Controls whether users can use User Knowledge (personal documents) in assistants
DISABLE_USER_KNOWLEDGE = os.environ.get("DISABLE_USER_KNOWLEDGE", "").lower() == "true"

# If set to true, will show extra/uncommon connectors in the "Other" category
SHOW_EXTRA_CONNECTORS = os.environ.get("SHOW_EXTRA_CONNECTORS", "").lower() == "true"

# Controls whether to allow admin query history reports with:
# 1. associated user emails
# 2. anonymized user emails
Expand Down
3 changes: 0 additions & 3 deletions backend/onyx/configs/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -216,9 +216,6 @@ class BlobType(str, Enum):
GOOGLE_CLOUD_STORAGE = "google_cloud_storage"
OCI_STORAGE = "oci_storage"

# Special case, for internet search
NOT_APPLICABLE = "not_applicable"


class DocumentIndexType(str, Enum):
COMBINED = "combined" # Vespa
Expand Down
3 changes: 3 additions & 0 deletions backend/onyx/server/settings/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,9 @@ class Settings(BaseModel):
# User Knowledge settings
user_knowledge_enabled: bool | None = True

# Connector settings
show_extra_connectors: bool | None = True


class UserSettings(Settings):
notifications: list[Notification]
Expand Down
4 changes: 4 additions & 0 deletions backend/onyx/server/settings/store.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from onyx.configs.app_configs import DISABLE_USER_KNOWLEDGE
from onyx.configs.app_configs import ONYX_QUERY_HISTORY_TYPE
from onyx.configs.app_configs import SHOW_EXTRA_CONNECTORS
from onyx.configs.constants import KV_SETTINGS_KEY
from onyx.configs.constants import OnyxRedisLocks
from onyx.key_value_store.factory import get_kv_store
Expand Down Expand Up @@ -53,6 +54,9 @@ def load_settings() -> Settings:
if DISABLE_USER_KNOWLEDGE:
settings.user_knowledge_enabled = False

# Override show extra connectors setting based on environment variable
settings.show_extra_connectors = SHOW_EXTRA_CONNECTORS

return settings


Expand Down
1 change: 1 addition & 0 deletions deployment/docker_compose/docker-compose.dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,7 @@ services:
- GITHUB_CONNECTOR_BASE_URL=${GITHUB_CONNECTOR_BASE_URL:-}
- MAX_DOCUMENT_CHARS=${MAX_DOCUMENT_CHARS:-}
- MAX_FILE_SIZE_BYTES=${MAX_FILE_SIZE_BYTES:-}
- SHOW_EXTRA_CONNECTORS=${SHOW_EXTRA_CONNECTORS:-}
# Egnyte OAuth Configs
- EGNYTE_CLIENT_ID=${EGNYTE_CLIENT_ID:-}
- EGNYTE_CLIENT_SECRET=${EGNYTE_CLIENT_SECRET:-}
Expand Down
2 changes: 2 additions & 0 deletions deployment/docker_compose/docker-compose.gpu-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,7 @@ services:
- GENERATIVE_MODEL_ACCESS_CHECK_FREQ=${GENERATIVE_MODEL_ACCESS_CHECK_FREQ:-}
- DISABLE_LITELLM_STREAMING=${DISABLE_LITELLM_STREAMING:-}
- LITELLM_EXTRA_HEADERS=${LITELLM_EXTRA_HEADERS:-}
- EXA_API_KEY=${EXA_API_KEY:-}
# Query Options
- DOC_TIME_DECAY=${DOC_TIME_DECAY:-} # Recency Bias for search results, decay at 1 / (1 + DOC_TIME_DECAY * x years)
- HYBRID_ALPHA=${HYBRID_ALPHA:-} # Hybrid Search Alpha (0 for entirely keyword, 1 for entirely vector)
Expand Down Expand Up @@ -191,6 +192,7 @@ services:
- GONG_CONNECTOR_START_TIME=${GONG_CONNECTOR_START_TIME:-}
- NOTION_CONNECTOR_ENABLE_RECURSIVE_PAGE_LOOKUP=${NOTION_CONNECTOR_ENABLE_RECURSIVE_PAGE_LOOKUP:-}
- GITHUB_CONNECTOR_BASE_URL=${GITHUB_CONNECTOR_BASE_URL:-}
- SHOW_EXTRA_CONNECTORS=${SHOW_EXTRA_CONNECTORS:-}
# Onyx SlackBot Configs
- DANSWER_BOT_DISABLE_DOCS_ONLY_ANSWER=${DANSWER_BOT_DISABLE_DOCS_ONLY_ANSWER:-}
- DANSWER_BOT_FEEDBACK_VISIBILITY=${DANSWER_BOT_FEEDBACK_VISIBILITY:-}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,7 @@ services:
- GITHUB_CONNECTOR_BASE_URL=${GITHUB_CONNECTOR_BASE_URL:-}
- MAX_DOCUMENT_CHARS=${MAX_DOCUMENT_CHARS:-}
- MAX_FILE_SIZE_BYTES=${MAX_FILE_SIZE_BYTES:-}
- SHOW_EXTRA_CONNECTORS=${SHOW_EXTRA_CONNECTORS:-}
# Egnyte OAuth Configs
- EGNYTE_CLIENT_ID=${EGNYTE_CLIENT_ID:-}
- EGNYTE_CLIENT_SECRET=${EGNYTE_CLIENT_SECRET:-}
Expand Down
6 changes: 5 additions & 1 deletion deployment/docker_compose/env.prod.template
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ WEB_DOMAIN=http://localhost:3000


# NOTE: Generative AI configurations are done via the UI now

EXA_API_KEY=

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

EXA_API_KEY=
Looks uncomplete


# The following are for configuring User Authentication, supported flows are:
# disabled
Expand Down Expand Up @@ -65,3 +65,7 @@ DB_READONLY_PASSWORD=password
# If setting the vespa language is required, set this ('en', 'de', etc.).
# See: https://docs.vespa.ai/en/linguistics.html
#VESPA_LANGUAGE_OVERRIDE=

# Uncommon connectors supported by the community
# See https://docs.onyx.app for list of these connectors
SHOW_EXTRA_CONNECTORS=False
57 changes: 30 additions & 27 deletions web/src/app/admin/add-connector/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,14 @@ import { listSourceMetadata } from "@/lib/sources";
import Title from "@/components/ui/title";
import { Button } from "@/components/ui/button";
import Link from "next/link";
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
import {
useCallback,
useContext,
useEffect,
useMemo,
useRef,
useState,
} from "react";
import {
Tooltip,
TooltipContent,
Expand All @@ -24,6 +31,7 @@ import useSWR from "swr";
import { errorHandlingFetcher } from "@/lib/fetcher";
import { buildSimilarCredentialInfoURL } from "@/app/admin/connector/[ccPairId]/lib";
import { Credential } from "@/lib/connectors/credentials";
import { SettingsContext } from "@/components/settings/SettingsProvider";

function SourceTile({
sourceMetadata,
Expand Down Expand Up @@ -148,6 +156,7 @@ export default function Page() {
const sources = useMemo(() => listSourceMetadata(), []);
const [searchTerm, setSearchTerm] = useState("");
const { data: federatedConnectors } = useFederatedConnectors();
const settings = useContext(SettingsContext);

// Fetch Slack credentials to determine navigation behavior
const { data: slackCredentials } = useSWR<Credential<any>[]>(
Expand Down Expand Up @@ -177,7 +186,7 @@ export default function Page() {

const categorizedSources = useMemo(() => {
const filtered = filterSources(sources);
return Object.values(SourceCategory).reduce(
const categories = Object.values(SourceCategory).reduce(
(acc, category) => {
acc[category] = sources.filter(
(source) =>
Expand All @@ -189,7 +198,25 @@ export default function Page() {
},
{} as Record<SourceCategory, SourceMetadata[]>
);
}, [sources, filterSources, searchTerm]);

// Filter out the "Other" category if show_extra_connectors is false
if (settings?.settings?.show_extra_connectors === false) {
const filteredCategories = Object.entries(categories).filter(
([category]) => category !== SourceCategory.Other
);
return Object.fromEntries(filteredCategories) as Record<
SourceCategory,
SourceMetadata[]
>;
}

return categories;
}, [
sources,
filterSources,
searchTerm,
settings?.settings?.show_extra_connectors,
]);

const handleKeyPress = (e: React.KeyboardEvent<HTMLInputElement>) => {
if (e.key === "Enter") {
Expand Down Expand Up @@ -251,7 +278,6 @@ export default function Page() {
<div className="flex mt-8">
<Title>{category}</Title>
</div>
<p>{getCategoryDescription(category as SourceCategory)}</p>
<div className="flex flex-wrap gap-4 p-4">
{sources.map((source, sourceInd) => (
<SourceTile
Expand All @@ -270,26 +296,3 @@ export default function Page() {
</div>
);
}

function getCategoryDescription(category: SourceCategory): string {
switch (category) {
case SourceCategory.Messaging:
return "Integrate with messaging and communication platforms.";
case SourceCategory.ProjectManagement:
return "Link to project management and task tracking tools.";
case SourceCategory.CustomerSupport:
return "Connect to customer support and helpdesk systems.";
case SourceCategory.CustomerRelationshipManagement:
return "Integrate with customer relationship management platforms.";
case SourceCategory.CodeRepository:
return "Integrate with code repositories and version control systems.";
case SourceCategory.Storage:
return "Connect to cloud storage and file hosting services.";
case SourceCategory.Wiki:
return "Link to wiki and knowledge base platforms.";
case SourceCategory.Other:
return "Connect to other miscellaneous knowledge sources.";
default:
return "Connect to various knowledge sources.";
}
}
3 changes: 3 additions & 0 deletions web/src/app/admin/settings/interfaces.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@ export interface Settings {

// User Knowledge settings
user_knowledge_enabled?: boolean;

// Connector settings
show_extra_connectors?: boolean;
}

export enum NotificationType {
Expand Down
6 changes: 3 additions & 3 deletions web/src/lib/search/interfaces.ts
Original file line number Diff line number Diff line change
Expand Up @@ -162,10 +162,10 @@ export interface SearchResponse {
}

export enum SourceCategory {
Storage = "Storage",
Wiki = "Wiki",
Storage = "Web Crawl & File Storage",
Wiki = "Knowledge Base & Wiki",
CustomerSupport = "Customer Support",
CustomerRelationshipManagement = "Customer Relationship Management",
SalesAndMarketing = "Sales & Marketing",
Messaging = "Messaging",
ProjectManagement = "Project Management",
CodeRepository = "Code Repository",
Expand Down
17 changes: 8 additions & 9 deletions web/src/lib/sources.ts
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ export const SOURCE_METADATA_MAP: SourceMap = {
web: {
icon: GlobeIcon2,
displayName: "Web",
category: SourceCategory.Other,
category: SourceCategory.Storage,
docs: "https://docs.onyx.app/connectors/web",
},
file: {
Expand Down Expand Up @@ -154,7 +154,7 @@ export const SOURCE_METADATA_MAP: SourceMap = {
gong: {
icon: GongIcon,
displayName: "Gong",
category: SourceCategory.Other,
category: SourceCategory.SalesAndMarketing,
docs: "https://docs.onyx.app/connectors/gong",
},
linear: {
Expand Down Expand Up @@ -190,7 +190,7 @@ export const SOURCE_METADATA_MAP: SourceMap = {
hubspot: {
icon: HubSpotIcon,
displayName: "HubSpot",
category: SourceCategory.CustomerRelationshipManagement,
category: SourceCategory.SalesAndMarketing,
docs: "https://docs.onyx.app/connectors/hubspot",
},
document360: {
Expand All @@ -214,7 +214,7 @@ export const SOURCE_METADATA_MAP: SourceMap = {
loopio: {
icon: LoopioIcon,
displayName: "Loopio",
category: SourceCategory.Other,
category: SourceCategory.SalesAndMarketing,
},
dropbox: {
icon: DropboxIcon,
Expand All @@ -225,7 +225,7 @@ export const SOURCE_METADATA_MAP: SourceMap = {
salesforce: {
icon: SalesforceIcon,
displayName: "Salesforce",
category: SourceCategory.CustomerRelationshipManagement,
category: SourceCategory.SalesAndMarketing,
docs: "https://docs.onyx.app/connectors/salesforce",
},
sharepoint: {
Expand Down Expand Up @@ -319,7 +319,7 @@ export const SOURCE_METADATA_MAP: SourceMap = {
fireflies: {
icon: FirefliesIcon,
displayName: "Fireflies",
category: SourceCategory.Other,
category: SourceCategory.SalesAndMarketing,
docs: "https://docs.onyx.app/connectors/fireflies",
},
egnyte: {
Expand All @@ -331,7 +331,7 @@ export const SOURCE_METADATA_MAP: SourceMap = {
airtable: {
icon: AirtableIcon,
displayName: "Airtable",
category: SourceCategory.Other,
category: SourceCategory.ProjectManagement,
docs: "https://docs.onyx.app/connectors/airtable",
},
gitbook: {
Expand All @@ -351,8 +351,7 @@ export const SOURCE_METADATA_MAP: SourceMap = {
displayName: "Email",
category: SourceCategory.Messaging,
},
// currently used for the Internet Search tool docs, which is why
// a globe is used
// Placeholder used as non-null default
not_applicable: {
icon: GlobeIcon,
displayName: "Not Applicable",
Expand Down
Loading