From 2cb23938f77cdf148a11156664f6121bae4f41a6 Mon Sep 17 00:00:00 2001 From: arc53-machine <232052973+arc53-machine@users.noreply.github.com> Date: Tue, 29 Sep 2026 00:54:07 +0100 Subject: [PATCH] Regroup connector categories and give empty Knowledge a way in Linear, Jira & Confluence and Asana move to Projects & issues, Stripe to Payments & business and Reddit to Search & web. An empty Knowledge page offers Add knowledge and Connect a service. --- docsgpt/connectors/catalog.py | 14 ++++++------ docsgpt/connectors/presets/mcp.yaml | 8 +++---- frontend/src/connectors/types.ts | 2 ++ frontend/src/settings/Connectors.tsx | 2 ++ frontend/src/settings/Sources.tsx | 34 +++++++++++++++++++++++++++- 5 files changed, 48 insertions(+), 12 deletions(-) diff --git a/docsgpt/connectors/catalog.py b/docsgpt/connectors/catalog.py index 1f0f5925..12df6263 100644 --- a/docsgpt/connectors/catalog.py +++ b/docsgpt/connectors/catalog.py @@ -19,7 +19,7 @@ import yaml from docsgpt.core.settings import settings -CATEGORIES = ("files", "knowledge", "dev", "messaging", "database", "search", "custom") +CATEGORIES = ("files", "knowledge", "projects", "dev", "business", "messaging", "database", "search", "custom") AUTH_KINDS = ("oauth", "mcp_oauth", "api_key", "none", "mcp") PUBLISHERS = ("built_in", "preset", "custom") @@ -153,7 +153,7 @@ _BUILT_IN: tuple[ConnectorDefinition, ...] = ( ConnectorDefinition( key="google_drive", name="Google Drive", - description="Sync Docs, Sheets and PDFs into Sources.", + description="Sync Docs, Sheets and PDFs into Knowledge.", icon="drive", category="files", auth_kind="oauth", @@ -166,7 +166,7 @@ _BUILT_IN: tuple[ConnectorDefinition, ...] = ( ConnectorDefinition( key="share_point", name="SharePoint", - description="Sync files from SharePoint sites and OneDrive into Sources.", + description="Sync files from SharePoint sites and OneDrive into Knowledge.", icon="sharepoint", category="files", auth_kind="oauth", @@ -179,7 +179,7 @@ _BUILT_IN: tuple[ConnectorDefinition, ...] = ( ConnectorDefinition( key="confluence", name="Confluence", - description="Sync Confluence spaces and pages into Sources.", + description="Sync Confluence spaces and pages into Knowledge.", icon="confluence", category="knowledge", auth_kind="oauth", @@ -192,7 +192,7 @@ _BUILT_IN: tuple[ConnectorDefinition, ...] = ( ConnectorDefinition( key="s3", name="Amazon S3", - description="Sync documents from an S3 bucket into Sources.", + description="Sync documents from an S3 bucket into Knowledge.", icon="s3", category="files", auth_kind="api_key", @@ -214,9 +214,9 @@ _BUILT_IN: tuple[ConnectorDefinition, ...] = ( ConnectorDefinition( key="reddit", name="Reddit", - description="Sync Reddit posts that match your searches into Sources.", + description="Sync Reddit posts that match your searches into Knowledge.", icon="reddit", - category="knowledge", + category="search", auth_kind="api_key", capabilities=("sync",), credential_fields=( diff --git a/docsgpt/connectors/presets/mcp.yaml b/docsgpt/connectors/presets/mcp.yaml index 96d984c9..ee1ec692 100644 --- a/docsgpt/connectors/presets/mcp.yaml +++ b/docsgpt/connectors/presets/mcp.yaml @@ -24,7 +24,7 @@ name: Linear description: Find, create and update Linear issues and projects. icon: linear - category: dev + category: projects mcp_url: https://mcp.linear.app/mcp auth_kind: mcp_oauth capabilities: [read, write] @@ -34,7 +34,7 @@ name: Jira & Confluence description: Search and update Jira issues and Confluence pages. icon: atlassian - category: dev + category: projects # Shown on the Confluence card, next to syncing pages into Knowledge. part_of: confluence mcp_url: https://mcp.atlassian.com/v1/mcp @@ -56,7 +56,7 @@ name: Asana description: Find and update Asana tasks and projects. icon: asana - category: knowledge + category: projects mcp_url: https://mcp.asana.com/v2/mcp auth_kind: mcp_oauth capabilities: [read, write] @@ -66,7 +66,7 @@ name: Stripe description: Look up customers, payments and subscriptions in Stripe. icon: stripe - category: dev + category: business mcp_url: https://mcp.stripe.com auth_kind: mcp_oauth capabilities: [read, write] diff --git a/frontend/src/connectors/types.ts b/frontend/src/connectors/types.ts index 0d17d464..9b8396f8 100644 --- a/frontend/src/connectors/types.ts +++ b/frontend/src/connectors/types.ts @@ -1,7 +1,9 @@ export type ConnectorCategory = | 'files' | 'knowledge' + | 'projects' | 'dev' + | 'business' | 'messaging' | 'database' | 'search' diff --git a/frontend/src/settings/Connectors.tsx b/frontend/src/settings/Connectors.tsx index b6c8c99c..c3828faf 100644 --- a/frontend/src/settings/Connectors.tsx +++ b/frontend/src/settings/Connectors.tsx @@ -43,7 +43,9 @@ const FILTERS = [ 'connected', 'files', 'knowledge', + 'projects', 'dev', + 'business', 'messaging', 'database', 'search', diff --git a/frontend/src/settings/Sources.tsx b/frontend/src/settings/Sources.tsx index 65c28c57..b716e2d7 100644 --- a/frontend/src/settings/Sources.tsx +++ b/frontend/src/settings/Sources.tsx @@ -625,7 +625,39 @@ export default function Sources({ ) : !currentDocuments?.length ? ( - + searchTerm ? ( + + ) : ( + // Nothing yet: the two ways in, side by side. + + { + setIsOnboarding(false); + setModalState('ACTIVE'); + }} + > + {t('settings.sources.addSource')} + + + navigate('/settings/connectors?capability=sync') + } + > + {t('settings.sources.connectService')} + + + } + /> + ) ) : ( {currentDocuments.map((document, index) => {