Document Type: Plugin Reference Target Audience: Users and Developers Created: 2026-02-24 Version: v1.0
This document lists all data source types supported by XiaoyaoSearch, along with implemented and planned plugins.
XiaoyaoSearch uses a plugin-based architecture supporting multiple data source types. Each type has a unique icon and color identifier:
| Type ID | Chinese Name | English Name | Icon | Color | Source Type |
|---|---|---|---|---|---|
filesystem |
本地文件 | Local File | 📁 Database | #1890ff Blue | Built-in |
yuque |
语雀 | Yuque | ☁️ Cloud | #52c41a Green | Cloud Knowledge Base |
feishu |
飞书 | Feishu | ☁️ Cloud | #722ed1 Purple | Cloud Collaboration |
dingding |
钉钉 | DingTalk | ☁️ Cloud | #0089FF Sky Blue | Cloud Collaboration |
notion |
Notion | Notion | ☁️ Cloud | #fa541c Orange | Cloud Notes |
github |
GitHub | GitHub | 🔗 Link | #24292e Black | Code Hosting |
gitlab |
GitLab | GitLab | 🔗 Link | #FC6D26 Orange | Code Hosting |
confluence |
Confluence | Confluence | ☁️ Cloud | #0052CC Dark Blue | Enterprise Knowledge Base |
wordpress |
WordPress | WordPress | 📄 FileText | #21759b Dark Blue | Blog Platform |
obsidian |
Obsidian | Obsidian | 📊 Database | #7c3aed Purple | Local Notes |
dropbox |
Dropbox | Dropbox | ☁️ Cloud | #0061FE Blue | Cloud Storage |
googledrive |
Google Drive | Google Drive | ☁️ Cloud | #4285F4 Blue-Green | Cloud Storage |
onedrive |
OneDrive | OneDrive | ☁️ Cloud | #0078D4 Sky Blue | Cloud Storage |
figma |
Figma | Figma | 🖼️ Picture | #F24E1E Red | Design Tool |
- filesystem: Local file system, built-in system support
- obsidian: Obsidian local note vault
- yuque: Alibaba Yuque knowledge base
- feishu: Feishu/Lark Suite documents
- dingding: DingTalk documents
- notion: Notion notes
- confluence: Atlassian Confluence enterprise knowledge base
- github: GitHub repositories and Wiki
- gitlab: GitLab repositories
- wordpress: WordPress blog posts
- dropbox: Dropbox cloud storage
- googledrive: Google Drive
- onedrive: Microsoft OneDrive
- figma: Figma design files and comments
Data source types not in the predefined list will:
- Display the original
source_typevalue - Use default blue style (
#1890ff)
Want to develop a new data source plugin? Please refer to:
📖 Plugin Development Guide (Chinese)
The document includes:
- Architecture overview
- Quick start guide
- Complete example code
- Debugging and testing methods
| Document | Description |
|---|---|
| Plugin Development Guide | Complete guide for data source plugin development |
| Microkernel Architecture Design | Plugin architecture design specification |
| Technical Solution | Plugin system technical implementation |
Status: Built-in | Priority: Core
Description:
- Default supported data source
- No additional configuration required
- Supports local file system search
Features:
- Supports multiple file formats (documents, audio, video, images)
- Automatic indexing and vectorization
- Intelligent file content extraction
Configuration: No configuration needed, system built-in
Status: Built-in (Disabled by Default) | Priority: High | Version: v1.0
Description:
- Built-in plugin, no additional installation required
- Disabled by default, requires manual activation
- Uses
yuque-dlCLI tool for data sync - Automatically downloads Markdown format documents
Features:
- 🔄 Auto sync on startup (when enabled)
- 📄 Supports Markdown format export
- 🏷️ Preserves document metadata
- 🔗 Supports source link navigation
How to Enable:
Step 1: Copy configuration template to actual configuration file
# In plugin directory
cd backend/data/plugins/datasource/yuque
cp config.yaml.example config.yamlStep 2: Edit config.yaml to enable the plugin
plugin:
enabled: true # Change false to trueConfiguration:
Configuration template: backend/data/plugins/datasource/yuque/config.yaml.example
Actual configuration file: backend/data/plugins/datasource/yuque/config.yaml
Full configuration example (config.yaml):
plugin:
id: yuque
name: Yuque Knowledge Base
version: "1.0.0"
type: datasource
enabled: true # Manually enable
datasource:
repos:
- name: "Personal Brand" # Knowledge base name
url: "https://www.yuque.com/username/repo/slug" # Yuque knowledge base URL
download_dir: "./data/product-docs" # Local download directory
token: "your_yuque_token" # Yuque API Token
ignore_images: true # Whether to ignore image downloadsUsage Instructions:
- Get Yuque API Token: Reference
- Copy
config.yaml.exampletoconfig.yaml - Edit
config.yaml, setenabledtotrue, configure URL and Token - Restart backend for auto sync
Plugin Location: backend/data/plugins/datasource/yuque/
Status: Built-in (Enabled by Default) | Priority: High | Version: v1.0
Description:
- Built-in plugin, no additional installation required
- Enabled by default
- Zero-config design, automatically recognizes Feishu export format
- Supports Markdown documents exported from Feishu
Features:
- ✨ Zero-config: Automatically recognizes Feishu export format
- 🏷️ Metadata extraction: Extracts source link from document end
- ⚡ Performance optimized: Only parses last 500 characters
- 🔗 Supports source link navigation
Usage Instructions:
- Export document from Feishu as Markdown format
- Place exported file in scan directory
- Build index
- Search results will display "Feishu" identifier
Feishu Export Format:
---
> Updated: 2026-03-30 02:52:46
> Source: feishu
> URL: <https://feishu.cn/wiki/MZKMwqpljiod1ak38Cscnr8hnkh>
---Plugin Location: backend/data/plugins/datasource/feishu/
Status: Built-in (Enabled by Default) | Priority: High | Version: v1.0
Description:
- Built-in plugin, no additional installation required
- Enabled by default
- Zero-config design, automatically recognizes DingTalk export format
- Supports
.xyddjsonmetadata files generated by DingTalk export tool
Features:
- ✨ Zero-config: Automatically recognizes
.xyddjsonmetadata files - 📦 Standalone metadata: JSON format, structured and easy to parse
- ⚡ Superior performance: Parsing speed <1ms, better than Feishu
- 🔗 Supports source link navigation
- 🛡️ Strong fault tolerance: Parsing failure doesn't affect original file indexing
Usage Instructions:
- Install DingTalk export tool (browser extension)
- Export document from DingTalk (supports .docx, .pdf, etc.)
- Export tool automatically generates
.xyddjsonmetadata file - Place exported file and metadata file in scan directory
- Build index, system automatically recognizes DingTalk documents
- Search results will display "DingTalk" identifier
.xyddjson Metadata Format:
{
"version": "1.0.0",
"source": "dingtalk-docs",
"exportTool": "xiaoyaosearch-dingding-export",
"exportToolVersion": "1.0.0",
"exportTime": "2026-04-08T15:30:00.000Z",
"file": {
"fileName": "项目报告.docx",
"originalName": "项目报告",
"dentryUuid": "A1B2C3D4E5F6G7H8",
"url": "https://alidocs.dingtalk.com/i/nodes/A1B2C3D4E5F6G7H8"
}
}Directory Structure Example:
D:\Documents\DingTalk_Export\
├── 需求文档.docx
├── 需求文档.docx.xyddjson ← Metadata file
├── 技术方案.pdf
└── 技术方案.pdf.xyddjson ← Metadata file
Technical Advantages (vs Feishu):
| Aspect | Feishu | DingTalk | DingTalk Advantage |
|---|---|---|---|
| Metadata Location | End of file content | Standalone JSON file | Structured, maintainable |
| Parsing Method | Regex | JSON parsing | More reliable, faster |
| Parsing Performance | ~1ms | <1ms | Better performance |
| Reliability | Depends on export format | Standard JSON | Strong fault tolerance |
| Extensibility | Feishu only | Can extend to other platforms | Highly versatile |
Plugin Location: backend/data/plugins/datasource/dingding/
The following plugins are in planning. Contributions are welcome!
| Plugin | Status | Est. Duration | Description |
|---|---|---|---|
| GitHub | 📋 Planned | 2-3 weeks | Code repository and README document search |
| Confluence | 📋 Planned | 2-3 weeks | Enterprise knowledge base integration |
| Obsidian | 📋 Planned | 1-2 weeks | Local note vault support |
| Plugin | Status | Description |
|---|---|---|
| Notion | 📋 Planned | Notion database integration |
| Figma | 📋 Planned | Design files and comments search |
| Google Drive | 📋 Planned | Google Docs and cloud files |
| Plugin | Status | Description |
|---|---|---|
| GitLab | 📋 Planned | GitLab code repositories |
| WordPress | 📋 Planned | WordPress blog posts |
| Dropbox | 📋 Planned | Dropbox cloud files |
| OneDrive | 📋 Planned | Microsoft OneDrive |
Want to contribute a new data source plugin?
- 📖 Read Plugin Development Guide
- 💬 Discuss your plugin plan in Issues
- 🔧 Reference existing plugin implementations (e.g., Yuque plugin)
- ✅ Submit a Pull Request
Document Version: v1.2 Created: 2026-02-24 Maintainer: XiaoyaoSearch Team Changelog:
- v1.2 (2026-04-08): DingTalk plugin implemented
- v1.1 (2026-03-31): Feishu plugin implemented
- v1.0 (2026-02-24): Initial version, defined 13 data source types