组件目录
所有包都发布在 @celljs 下,版本号相同;请让它们保持同一个版本。组件包安装即可使用:它的 DI 模块和 cell.yml 会自动加载(见组件)。包名链接到各自的文档。
我需要哪个包?
| 我想要 | 添加 |
|---|---|
| 编写 REST 控制器 | @celljs/mvc(以 @celljs/express-adapter 作为服务端入口;模板里已有) |
| 校验请求体 | @celljs/validation + class-validator |
| 发布 OpenAPI / Swagger UI | @celljs/openapi |
| 从前端以类型安全的方式调用后端 | @celljs/rpc |
| 构建 React 前端 | @celljs/react + @celljs/serve-static |
| 使用 SQL 数据库 | @celljs/typeorm + 驱动(mysql2、pg、better-sqlite3、sql.js……) |
| 在内存或 Redis 里缓存 | @celljs/cache |
| 运行定时任务 | @celljs/schedule |
| 带退避的失败重试 | @celljs/retry |
| 分离命令、查询和事件 | @celljs/cqrs |
| 用 winston 记日志 | @celljs/logger |
| 用户登录、保护路由 | @celljs/security |
| 签发和验证 JWT | @celljs/jwt |
| 用 GitHub、Google 或其他 OAuth2 / OIDC 服务登录 | @celljs/oauth2-client(配合 @celljs/security) |
| 调用其他 HTTP API | @celljs/http(RestOperations) |
| 提供或调用 gRPC 服务 | @celljs/grpc |
| 调用大模型 | @celljs/ai-core + @celljs/ai-pi |
| 构建以自己的服务为工具的 agent | @celljs/ai-agent |
| 在应用里运行 coding agent | @celljs/ai-coding-agent |
| 构建终端界面 | @celljs/tui(配合 cli preset) |
| 在阿里云 OSS / 腾讯云 COS 存文件 | @celljs/oss / @celljs/cos |
| 接入微信支付、支付宝或 Stripe | @celljs/wechat-pay / @celljs/alipay / @celljs/stripe |
运行时
| 包 | 提供 |
|---|---|
@celljs/core | DI 容器、@Component / @Autowired / @Value、AOP、配置、应用生命周期、日志、请求上下文。每个应用都依赖它 |
@celljs/web | 基于 node:http 的 HTTP 服务:中间件链、请求体解析、cookie、session、CORS、trace ID、健康检查、错误处理器 |
@celljs/mvc | 控制器:@Controller、@Get / @Post / ……、参数装饰器、JSON / 文本 / HTML / 文件响应、@Catch |
@celljs/express-adapter | 启动应用并监听 server.host / server.port 的后端入口。名字虽然如此,并不依赖 express |
@celljs/http | HTTP 客户端(RestOperations,基于 fetch)和共用的 HttpStatus、HttpHeaders、MediaType |
@celljs/validation | 用 class-validator / class-transformer 校验控制器和 RPC 参数 |
@celljs/openapi | 从控制器生成 OpenAPI 3.0 文档和 Swagger UI |
@celljs/rpc | @Rpc 服务和类型化代理(@celljs/react 的 useRpc、@Autorpc),JSON-RPC over HTTP |
@celljs/serve-static | 返回前端产物,支持 ETag、Range 和单页应用回退 |
@celljs/typeorm | TypeORM 数据源、OrmContext 仓库和 @Transactional() |
@celljs/cache | 基于 cache-manager 的具名缓存(内存、Redis 及其他存储) |
@celljs/schedule | @Scheduler 类和 @Cron 方法 |
@celljs/retry | 带重试策略和退避策略的重试模板 |
@celljs/cqrs | 命令、查询、事件总线,saga 和聚合 |
@celljs/grpc | 基于 node:http2 的 gRPC 服务端和客户端,自带 .proto 解析,无需代码生成 |
@celljs/logger | 基于 winston 的 Logger |
@celljs/security | 表单登录、HTTP Basic、登出、@Authenticated()、@PreAuthorize()、策略、密码哈希 |
@celljs/jwt | JwtService:用 node:crypto 签发和验证 JSON Web Token |
@celljs/oauth2-core | OAuth2 系列包共用的 OAuth 2.0 / OpenID Connect 类型 |
@celljs/oauth2-client | 用 OAuth2 / OIDC 服务登录;client credentials、password、refresh token 授权 |
@celljs/oauth2-jose | OAuth2 系列包用的 JWK 集合与 JWS / JWT 解码 |
@celljs/wechat-pay | 微信支付 API v3 客户端和验签的回调通知端点 |
@celljs/alipay | 支付宝网关客户端和验签的异步通知端点 |
@celljs/stripe | Stripe 客户端和验签的 webhook 端点 |
前端
| 包 | 提供 |
|---|---|
@celljs/react | React 前端:src/browser/pages 页面、路由、布局、访问 DI 容器的 hook、应用外壳 |
@celljs/widget | @celljs/react 依赖的前端基础设施:widget、主题、多语言 |
@celljs/tui | 基于 pi-tui 的终端界面,含 agent 对话 |
AI
| 包 | 提供 |
|---|---|
@celljs/ai-core | 与服务商无关的 ChatModel、EmbeddingModel、PromptTemplate,以及负责路由的 ProxyChatModel |
@celljs/ai-pi | 经 pi-ai 接入 20 多家模型服务商,写作 pi:<provider>/<model> |
@celljs/ai-agent | 以 Cell 组件为工具的 agent;事件经 SSE 推送 |
@celljs/ai-coding-agent | 由 DI 管理的 pi coding agent 会话 |
云
| 包 | 提供 |
|---|---|
@celljs/cloud | 共用的云抽象:凭据、地域、账号,以及 ObjectStorageService 接口 |
@celljs/oss | 基于阿里云 OSS 的 ObjectStorageService |
@celljs/cos | 基于腾讯云 COS 的 ObjectStorageService |
部署到函数计算、SCF、Lambda、Vercel 或 Cloudflare 不需要额外的包:选择 preset 即可(构建与部署)。
工具链
| 包 | 提供 |
|---|---|
@celljs/cli | cell 命令、preset、部署器、createTestApp()、这些指南 |
@celljs/vite | cell build 和 cell dev 背后的 Vite 插件与 CellBuilder |
@celljs/kit | 给 toolchain 模块和 preset 作者的共享类型:CellError、事件、definePreset |