架构
DB-GPT 是一个 Python 单体仓库(monorepo),其整体运行方式围绕以 ReAct 为中心的 agent runtime 展开。 Web UI 将请求发送到应用层,ReAct Agent 在 agent runtime 循环中执行,并通过工具、技能、数据库与知识资源完成分析任务,最终将结果返回到 UI。
仓库结构
DB-GPT/
├── packages/
│ ├── dbgpt-core/ # 核心 agent、memory、planning、RAG、模型抽象
│ ├── dbgpt-app/ # 应用服务、API 路由、场景逻辑、UI 资源托管
│ ├── dbgpt-serve/ # 服务层:knowledge、flow、agent resource、app service
│ ├── dbgpt-ext/ # 扩展能力:datasource、storage backend、RAG connector
│ ├── dbgpt-client/ # Python 客户端 SDK
│ ├── dbgpt-sandbox/ # 安全代码/工具执行的沙箱运行时
│ └── dbgpt-accelerator/ # 加速相关包
├── web/ # Next.js Web UI
├── skills/ # 内置 skills 与可复用工作流
├── configs/ # TOML 配置文件
└── docs/ # Docusaurus 文档站
各个 package 的职责
| Package | 作用 |
|---|---|
dbgpt-core | 核心 agent 框架、ReAct 解析/动作流、memory、planning、RAG、模型接口 |
dbgpt-app | FastAPI 应用服务、聊天 API、运行时编排、静态 UI 托管 |
dbgpt-serve | knowledge、datasource、flow、app、agent 等资源服务 |
dbgpt-ext | 外部连接器,例如数据库 / 存储 / RAG 集成 |
dbgpt-client | DB-GPT API 的客户端 SDK |
dbgpt-sandbox | 代码与工具执行的隔离运行时 |
skills/ | 打包后的领域工作流、脚本、模板和参考资源 |
高层架构
工作流程
- 用户通过 Web UI 或其他客户端发起请求。
dbgpt-app接收请求,并将其路由到 agent 聊天 API。- 请求进入
agent_runtime执行循环。 - ReAct Agent 逐步推理,并决定下一步动作。
- Agent 按需加载并使用外部资源:
- 结构化数据库:用于 SQL 分析
- 非结构化知识空间:用于检索增强
- skills:用于复用工作流
- 内置工具:用于执行具体任务
- sandbox runtime:用于安全代码执行
- Agent 汇总观察结果,并生成最终分析输出。
- 结果以流式方式返回到 UI 展示给用户。