[Feature]: Knowledge Base — Connect External Knowledge Bases (Feishu Wiki) as a Synced Source
Author: SiinXuCreated Jun 11, 2026Updated Sep 17, 2026
Labelsragdatainternal-team
Background
A Cherry knowledge base today only ingests local files, URLs, notes, sitemaps, and directories. Teams keep their living documentation in Feishu Wiki, so to use it in Cherry they must manually export each doc and re-upload — and the copy goes stale the moment Feishu changes. Users have asked for native Feishu data integration (#13032).
Goal
Users connect a Feishu Wiki space as a knowledge base source whose documents are imported and kept in sync, so Agents and Assistants retrieve up-to-date Feishu content with no manual export.
Spec
- A new knowledge base source type — External Knowledge Base — lets the user authorize and pick a Feishu Wiki space (or a specific node / subtree) as a source.
- Authorization goes through the connector/OAuth path (reuse #15340) with least-privilege read scope — no manual token pasting.
- Selected Feishu docs and their nested wiki tree are imported, parsed, chunked, and embedded into the chosen base like any other source.
- The source stays in sync: new / edited / deleted docs in Feishu are reflected on refresh, re-embedding only what changed rather than the whole base (builds on #15958 / #15417).
- The user controls sync scope and cadence (manual refresh and/or scheduled) and can disconnect — which stops syncing and optionally removes the imported items.
- Import respects Feishu permissions: only docs the authorizing account can read are imported; docs that become inaccessible are dropped on the next sync.
- The design generalizes to other external knowledge bases (Notion, Confluence) — Feishu is the first provider, not a one-off.
Verification
- Connect a Feishu Wiki space and pick a 20-doc subtree → those docs appear as items in the chosen base and are retrievable in chat.
- Edit one doc in Feishu, trigger refresh → the updated content is retrievable, and only the edited doc is re-embedded (the other 19 are not).
- Delete a doc in Feishu, refresh → it disappears from the base and is no longer retrievable.
- A doc the authorizing account cannot read is never imported.
- Disconnect with "remove imported items" → those items are gone; disconnect with "keep" → they remain as static items.
- Schedule a daily sync → a Feishu doc added after connection shows up after the scheduled run with no manual action.
- Negative: connecting Feishu does NOT pull in docs outside the selected space/subtree.
Related
#13032 #15340 #15417 #15958 #14905 #15840
Source: CherryHQ/cherry-studio