docs/wiki/集成扩展/数据源导入开发.md
WeKnora 的数据源导入模块支持从外部平台(飞书、企业微信、Notion、Confluence 等)自动导入和同步内容到知识库。用户可配置数据源连接,选择需要同步的资源,并通过手动触发或定时调度自动完成内容的增量/全量同步。
数据源绑定到知识库,一个知识库可接入多个数据源。凭证使用 AES-256-GCM 加密存储。
数据源导入与 IM集成开发 都涉及飞书集成,可考虑共享飞书应用凭证
| 连接器 | 认证方式 | 增量同步 | 删除同步 |
|---|---|---|---|
| 飞书 (Feishu) | OAuth2 (Tenant Access Token) | ✅ | ✅ |
wiki:wiki:readonly、drive:drive:readonly、drive:export:readonly、docx:document:readonly注意:飞书国际版(Lark)同样支持,自动适配
https://open.larksuite.com的 API 地址
外部平台 API → Connector → ConnectorRegistry → DataSourceService → WeKnora Core (知识入库管道)
核心设计模式:
| 模式 | 用途 |
|---|---|
| Adapter Pattern | 统一不同平台的差异 |
| Registry Pattern | 按类型动态查找连接器 |
| Strategy Pattern | SyncMode(增量/全量)、ConflictStrategy(覆盖/跳过) |
| Cursor-based Pagination | 增量同步基于 SyncCursor 跟踪变更 |
| 方法 | 路径 | 说明 |
|---|---|---|
| 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 | 恢复 |
Connector 接口(Validate、ListResources、FetchAll、FetchIncremental)ConnectorRegistry