Skip to content

Repository files navigation

tdesign-ai-core

TDesign AIGC 领域框架无关的核心 SDK 集合。

定位

本仓库承载 TDesign 设计体系中所有 框架无关 的 AIGC 核心逻辑,以 git submodule 方式被 tdesign-react、tdesign-vue-next、tdesign-miniprogram 等组件库引入。

包结构

包 npm 名 说明
packages/chat-engine @tdesign/ai-chat-engine 聊天引擎核心:消息管理、流式处理、协议适配(AG-UI / OpenClaw)、事件总线
packages/shared @tdesign/ai-shared 跨引擎公共工具:EventEmitter、Logger、JSON Patch

架构

tdesign-ai-core (本仓库, 框架无关)
├── @tdesign/ai-shared         ← 公共工具层
└── @tdesign/ai-chat-engine    ← 聊天引擎核心
    ├── ChatEngine (Facade)
    ├── EventBus (Pub/Sub)
    ├── Store (Reactive State, immer)
    ├── StreamHandlers (Strategy: Default / AGUI / OpenClaw)
    ├── Adapters (AGUI / OpenClaw / json-render / A2UI)
    └── Server (SSE Client / WebSocket Client / Batch)

tdesign-react / tdesign-vue-next / tdesign-miniprogram (宿主仓库)
└── packages/ai-core  ← git submodule 挂载点
    以 workspace 包方式引用 @tdesign/ai-chat-engine
    各框架实现自己的 hooks/composables/behaviors 绑定层

作为 Submodule 使用

添加到宿主仓库

git submodule add https://github.com/TDesignOteam/tdesign-ai-core.git packages/ai-core

在宿主仓库中引用

宿主仓库的 pnpm-workspace.yaml 通常已包含 packages/**,因此 submodule 内的子包会自动被发现为 workspace 成员。

开发态的 @tdesign/ai-chat-engine 入口直接指向 index.ts,宿主仓库无需先构建本仓库,也不会误用仓库中旧的 dist 产物。宿主仓库必须使用能覆盖嵌套包的 workspace 配置,例如:

packages:
  - 'packages/**'
// 在宿主仓库的框架绑定层中使用
import ChatEngine from '@tdesign/ai-chat-engine';
import type { ChatServiceConfig } from '@tdesign/ai-chat-engine';

开发

环境要求

  • Node.js ^22.22.1 || >=24.11.0(见 .node-version)
  • pnpm 9.15.9

常用命令

pnpm install        # 安装依赖
pnpm build          # 递归构建各 workspace 包(chat-engine)
pnpm type-check     # TypeScript 类型检查
pnpm lint           # ESLint 检查
pnpm lint:fix       # ESLint 自动修复
pnpm format         # Prettier 格式化
pnpm format:check   # Prettier 格式检查
pnpm verify         # 构建 + 类型 + lint + format 一键校验

发布校验

packages/chat-engine/package.json 的 publishConfig 会在 pack/publish 时把入口改写为 dist,prepack 负责重新构建发布产物。

License

MIT

About

TDesign AIGC 领域框架无关的核心 SDK 集合。

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages