Back to Weknora

数据源导入开发

docs/wiki/集成扩展/数据源导入开发.md

0.5.13.4 KB
Original Source

数据源导入开发

WeKnora 的数据源导入模块支持从外部平台(飞书、企业微信、Notion、Confluence 等)自动导入和同步内容到知识库。用户可配置数据源连接,选择需要同步的资源,并通过手动触发或定时调度自动完成内容的增量/全量同步。

数据源绑定到知识库,一个知识库可接入多个数据源。凭证使用 AES-256-GCM 加密存储。

数据源导入与 IM集成开发 都涉及飞书集成,可考虑共享飞书应用凭证

当前支持的连接器

连接器认证方式增量同步删除同步
飞书 (Feishu)OAuth2 (Tenant Access Token)

快速接入:飞书知识库

  1. 创建飞书应用,获取 App ID / App Secret
  2. 开通权限:wiki:wiki:readonlydrive:drive:readonlydrive:export:readonlydocx:document:readonly
  3. 在知识库设置页添加数据源,选择飞书,填写凭证
  4. 测试连接,选择知识库空间,配置同步策略
  5. 触发首次同步验证

注意:飞书国际版(Lark)同样支持,自动适配 https://open.larksuite.com 的 API 地址

架构设计

外部平台 API → Connector → ConnectorRegistry → DataSourceService → WeKnora Core (知识入库管道)

核心设计模式:

模式用途
Adapter Pattern统一不同平台的差异
Registry Pattern按类型动态查找连接器
Strategy PatternSyncMode(增量/全量)、ConflictStrategy(覆盖/跳过)
Cursor-based Pagination增量同步基于 SyncCursor 跟踪变更

关键概念

  • DataSource — 数据源:外部平台连接与知识库的绑定
  • Connector — 连接器:与外部平台交互的适配层
  • SyncCursor — 同步游标:增量同步的状态标记
  • FetchedItem — 拉取到的文档条目

API 端点

方法路径说明
GET/api/v1/datasource/types获取可用连接器类型
POST/api/v1/datasource/validate-credentials验证凭证
POST/api/v1/datasource创建数据源
GET/api/v1/datasource?kb_id=xxx列出数据源
POST/api/v1/datasource/:id/sync手动触发同步
POST/api/v1/datasource/:id/pause暂停
POST/api/v1/datasource/:id/resume恢复

扩展新连接器

  1. 实现 Connector 接口(Validate、ListResources、FetchAll、FetchIncremental)
  2. 注册连接器到 ConnectorRegistry
  3. 前端添加配置

扩展开发模式与 添加网络搜索引擎集成向量数据库 类似

相关主题


反向链接