Architecture
架构
MyBotBox 的构建方式——C4 模型、请求管道、多租户以及执行数据流。
MyBotBox 是一个多租户平台,用于构建、部署和运行 AI 智能体工作流。本节是系统设计参考文档:各模块如何协同工作、请求如何完成身份验证和授权、租户如何实现隔离,以及工作流的实际运行机制。
本节内容描述的是托管架构。同一套代码库支持自托管部署——所有外部依赖(数据库、缓存、队列、存储、邮件、LLM 提供商)均位于可替换的接口之后,因此您可以将其指向自己的基础设施。
概览
graph LR
subgraph BUILD ["Build"]
A[Visual Canvas] --> B[190 Blocks]
end
subgraph ENGINE ["Engine"]
C[Serializer] --> D[Executor DAG]
D --> E[30 Block Handlers]
end
subgraph DEPLOY ["Deploy"]
F[REST API]
G[Webhook]
H[Schedule / Poll]
I[Chat]
end
B --> C
E --> F & G & H & I工作流在 ReactFlow 画布上进行编排,序列化为执行图,由拓扑 DAG 执行器运行并将每个节点分发至对应的类型化处理程序,最终作为不可变版本发布,可通过 API、Webhook、定时任务、轮询或对话方式触发。
本节内容
C4 模型
平台的上下文 → 容器 → 部署 → 组件 → 代码视图。
请求管道
每个 API 调用所经过的身份验证、授权和速率限制通用关卡。
多租户
组织、工作区、工作流、权限模型以及 YID 标识符。
执行与数据流
一次运行如何从触发器经过处理程序流转至日志和费用计量。
技术栈
| 层级 | 技术 |
|---|---|
| 运行时 | Bun,Turborepo monorepo |
| 框架 | Next.js 16(App Router)、React 19、TypeScript(strict) |
| 数据库 | PostgreSQL 17(Cloud SQL)+ pgvector,Drizzle ORM(90 张表) |
| 缓存 / 速率限制 | Memorystore Redis 7(滑动窗口),内存回退 |
| 队列 | Cloud Tasks + Cloud Functions(异步分发、轮询) |
| 认证 | Firebase Auth(OAuth、SSO/SAML、TOTP),JWT 会话 Cookie |
| AI | 17 个提供商适配器(OpenAI、Anthropic、Gemini、Bedrock……) |
| 支付 | Stripe(订阅 + 用量计量) |
| 托管 | Google Cloud Run(蓝绿金丝雀部署) |
| 可观测性 | OpenTelemetry、Sentry、Datadog |