Skip to content

perf: move third party dataset to plugin#350

Closed
newfish-cmyk wants to merge 5 commits intolabring:dev/v0.5.0from
newfish-cmyk:plugin-dataset
Closed

perf: move third party dataset to plugin#350
newfish-cmyk wants to merge 5 commits intolabring:dev/v0.5.0from
newfish-cmyk:plugin-dataset

Conversation

@newfish-cmyk
Copy link

No description provided.

@github-actions
Copy link

github-actions bot commented Jan 21, 2026

Build Successful - Preview Images for this PR:

registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-plugin-pr:3ce040971925c41b167b51e8c6e5d4fd86dd810d

Changed packages:
None

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces a new plugin-based dataset module that supports third-party data sources (Yuque and Feishu) for building knowledge bases. The implementation follows a modular, extensible architecture with proper TypeScript typing, contract definitions, and S3-based avatar management.

Changes:

  • Added new dataset module with support for Yuque and Feishu data sources
  • Implemented plugin-based registry system for extensible data source management
  • Added S3-based avatar/logo handling for dataset sources with both color and outline versions

Reviewed changes

Copilot reviewed 17 out of 22 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
tsconfig.json Added @dataset/* path mapping for the new dataset module
runtime/tsconfig.json Added @dataset/* path mapping for runtime environment
sdk/client.ts Exported dataset source types for SDK consumers
modules/dataset/type/source.ts Defined core type schemas for dataset sources, form fields, and file operations
modules/dataset/type/index.ts Re-exported dataset types
modules/dataset/sources/yuque/* Implemented Yuque knowledge base integration with API client and configuration
modules/dataset/sources/feishu/* Implemented Feishu document integration with token caching and API client
modules/dataset/source/registry.ts Created registry pattern for managing dataset source plugins
modules/dataset/source/index.ts Exported registry utilities
modules/dataset/router.ts Implemented REST API endpoints for dataset source operations
modules/dataset/contract.ts Defined API contracts using Zod schemas
modules/dataset/avatars.ts Implemented S3-based logo management for both development and production
runtime/build/index.ts Added build step to copy dataset source avatars to dist directory
runtime/index.ts Integrated dataset avatar initialization into startup sequence
lib/router/index.ts Registered dataset router in main application router
lib/contract/index.ts Added dataset contract to main API contract

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@c121914yu c121914yu changed the base branch from main to dev/v0.5.0 January 28, 2026 02:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants