@chatbi-v/core
v2.0.5
Published
ChatBI 核心模块,提供插件管理、基础设施接口及通用 API 引擎。
Downloads
1,144
Readme
@chatbi-v/core
ChatBI 核心模块,提供插件管理、基础设施接口及通用 API 引擎。
模块功能说明
- 微内核架构: 实现插件的注册、生命周期管理与隔离。
- 领域驱动设计: 严格区分领域逻辑 (
domain)、外部接口 (ports) 和具体实现 (adapters)。 - API 引擎: 统一的 API 请求管理,支持同步、流式请求及拦截器。
- 存储管理: 提供隔离的存储适配器,确保插件数据互不干扰。
安装和使用方法
安装
pnpm add @chatbi-v/core使用示例
import { PluginManager, LocalStorageAdapter } from '@chatbi-v/core';
// 初始化插件管理器
const storage = new LocalStorageAdapter();
const pluginManager = new PluginManager(storage);
// 注册并初始化插件
pluginManager.register({
id: 'my-plugin',
metadata: { name: 'My Plugin', type: 'business' },
onLoad: async (context) => {
console.log('Plugin loaded', context.pluginId);
}
});API 文档链接
详细 API 文档请参考 docs/index.html 或运行 npm run docs:dev 本地查看。
开发注意事项
- 禁止引入 UI 框架: 本模块为纯逻辑层,不得包含 React/AntD 等 UI 依赖。
- 禁止反向依赖:
core不得依赖plugins或apps中的任何代码。 - 类型安全: 优先使用
ports中定义的接口。
架构原则 (Architecture Principles)
- 业务无关性 (Business Agnostic):
core包禁止包含任何具体的业务模型、业务逻辑或业务常量。 - 共享契约 (Shared Contract):
core只定义通用的技术契约(如Plugin,StoragePort,ApiAdapter)。 - 插件驱动 (Plugin Driven): 所有的业务逻辑应由插件实现。
目录结构
adapters/: 基础设施的具体实现(如 LocalStorage, Axios)。api/: 通用 API 请求引擎。domain/: 核心领域逻辑(插件管理器、运行时、沙箱)。ports/: 核心接口定义(端口)。utils/: 通用工具函数。
