CloudBase Agent Python SDK
Build production-ready AI agent backends with multi-framework support, streaming
protocol, rich tools, persistent memory, and full observability.
Note: This skill is for Python projects only.
When to use this skill
Use this skill for AI agent development when you need to:
- Deploy AI agents as HTTP services with AG-UI protocol support
- Build agent backends using LangGraph, CrewAI, or LlamaIndex frameworks
- Create custom agent adapters implementing the AbstractAgent interface
- Understand AG-UI protocol events and message streaming
- Build production-ready agent servers with FastAPI
Do NOT use for:
- Simple AI model calling without agent capabilities (use
ai-model-* skills)
- CloudBase cloud functions (use
cloud-functions skill)
- CloudRun backend services without agent features (use
cloudrun-development skill)
- TypeScript/JavaScript agent projects (use
cloudbase-agent skill, refer to the ts/ sub-directory)
How to use this skill (for a coding agent)
Choose the right adapter
- Use LangGraph adapter for stateful, graph-based workflows
- Use CrewAI adapter for multi-agent collaboration patterns
- Build custom adapter for specialized agent logic
Write agent code — follow the adapter-specific doc from the Routing table
Deploy the agent server — follow the blocking deployment pipeline in agent-deployment
Routing (Execution Order)
⚠️ Deployment is a BLOCKING 4-step pipeline. Steps marked ✅ BLOCKING
must be completed AND verified before proceeding to the next step.
Do NOT call manageAgent until all blocking steps pass.
| Step |
Task |
Document |
Blocking? |
| 0 |
Choose adapter & write agent code |
See "Adapter Selection" below |
— |
| 1 |
Ensure Python 3.10 |
agent-deployment § Step 1 |
✅ BLOCKING |
| 2 |
Build env/ (one-shot) |
agent-deployment § Step 2 |
✅ BLOCKING |
| 3 |
Verify env/ integrity |
agent-deployment § Step 3 |
✅ BLOCKING |
| 4 |
Deploy with manageAgent |
agent-deployment § Step 4 |
— |
Adapter Selection (Step 0)
| Framework |
Read |
Install |
| LangGraph (stateful graphs) |
adapter-langgraph |
cloudbase-agent-langgraph |
| CrewAI (multi-agent crews) |
adapter-development |
cloudbase-agent-crewai |
| Coze platform |
adapter-coze |
cloudbase-agent-coze |
| Custom / raw FastAPI |
server-quickstart + adapter-development |
cloudbase-agent-server |
Additional References (read on demand, NOT required for deployment)
| Task |
Read |
| Server setup, middleware, multi-agent, CORS |
server-quickstart |
| Authentication and user context |
authentication |
Quick Start (Framework-Agnostic)
Prerequisites: Python >= 3.10 is required.
1. Install dependencies (pick ONE adapter):
# Option A: LangGraph-based agent
pip install cloudbase-agent-langgraph
# Option B: CrewAI-based agent
pip install cloudbase-agent-crewai
# Option C: Custom / minimal
pip install cloudbase-agent-server
2. Create server entry point:
# server.py — this pattern works with ANY adapter
import os
from dotenv import load_dotenv
load_dotenv()
from cloudbase_agent.server import AgentServiceApp, AgentCreatorResult
# Import your agent (framework-specific, see adapter docs)
# from agents.chat.agent import create_my_agent
def create_agent() -> AgentCreatorResult:
agent = create_my_agent() # Your agent factory
return {"agent": agent}
app = AgentServiceApp()
app.set_cors_config(allow_origins=["*"])
if __name__ == "__main__":
port = int(os.environ.get("SCF_RUNTIME_PORT", "9000"))
app.run(create_agent, port=port, host="0.0.0.0")
3. Deploy to CloudBase:
Follow the 4-step deployment pipeline in agent-deployment.
Architecture
Client (React / MiniProgram / curl)
│ HTTP POST + SSE streaming
▼
┌─────────────────────────────────────────────┐
│ AgentServiceApp (FastAPI) │
│ ├─ /send-message ← AG-UI SSE │
│ ├─ /chat/completions ← OpenAI-compat │
│ └─ Middleware chain (onion model) │
├─────────────────────────────────────────────┤
│ Agent Layer │
│ ├─ LangGraphAgent ├─ CrewAIAgent │
│ ├─ LlamaIndexAgent ├─ CozeAgent/DifyAgent │
│ └─ BaseAgent (extend for custom) │
├──────────────────┬──────────────────────────┤
│ Tools │ Storage │
│ Bash/FS/Code/MCP│ Memory + LongTermMemory │
├─────────────────────────────────────────────┤
│ Observability (OpenTelemetry + Langfuse) │
└─────────────────────────────────────────────┘
Installation
CloudBase Agent Python SDK is published to PyPI as separate packages. Note: PyPI package names use hyphens (cloudbase-agent-*), and Python imports use the same namespace (cloudbase_agent.*).
# Core + Server + LangGraph (most common)
pip install cloudbase-agent-langgraph
# Individual packages
pip install cloudbase-agent-core # Core framework
pip install cloudbase-agent-server # FastAPI server
pip install cloudbase-agent-langgraph # LangGraph integration
pip install cloudbase-agent-tools # Tool system
pip install cloudbase-agent-storage # Memory/Storage
pip install cloudbase-agent-observability # OpenTelemetry/Langfuse
pip install cloudbase-agent-coze # Coze platform
pip install cloudbase-agent-crewai # CrewAI integration
Import Note: All packages share the cloudbase_agent namespace:
# After installing cloudbase-agent-langgraph, import from cloudbase_agent
from cloudbase_agent.langgraph import LangGraphAgent
from cloudbase_agent.server import AgentServiceApp
from cloudbase_agent.tools import create_bash_tool
Reference Documents
Based on what the user needs, read the corresponding reference document.
Only read the relevant reference — don't load all of them.
| User Need |
Reference |
What It Covers |
| Deploying agent to CloudBase |
Read agent-deployment |
manageAgent MCP tool (MUST USE), 4-step blocking pipeline, Python 3.10, env/ build, verification |
| Server setup, deployment, middleware, multi-agent, CORS |
Read references/server.md |
AgentServiceApp 3 deployment methods, middleware (generator/yield/onion model), multi-agent server, Agent Creator pattern, health checks |
| LangGraph agent, callbacks, tool proxy, HITL, checkpoints |
Read adapter-langgraph |
LangGraphAgent constructor, AgentCallback protocol, ToolProxy, human-in-the-loop with interrupt(), TDAICheckpointSaver, client-defined tools |
| Tools: bash, filesystem, code execution, MCP, custom tools |
Read references/tools.md |
create_bash_tool, 8 file tools, code executors, MCPToolkit/CloudBaseMCPServer, @tool decorator, BaseTool, framework adapters |
| Memory, persistence, short/long-term, MySQL, MongoDB |
Read references/storage.md |
InMemoryMemory, TDAIMemory, MySQLMemory, MongoDBMemory, TDAILongTermMemory, Mem0LongTermMemory, LangGraph checkpoint |
| Tracing, monitoring, Langfuse, OpenTelemetry |
Read references/observability.md |
ConsoleTraceConfig, OTLPTraceConfig, setup_observability, env vars, manual observation spans |
| Common patterns, JWT auth, MCP integration, production |
Read references/recipes.md |
JWT middleware, MCP + LangGraph, production deployment, adding tools to agents, client-defined tools |
Key Imports Quick Reference
# Server
from cloudbase_agent.server import AgentServiceApp, AgentCreatorResult
from cloudbase_agent.server import create_send_message_adapter, create_openai_adapter
from cloudbase_agent.server import RunAgentInput, OpenAIChatCompletionRequest
# Agents
from cloudbase_agent.langgraph import LangGraphAgent
from cloudbase_agent.crewai import CrewAIAgent
# Tools
from cloudbase_agent.tools import create_bash_tool, create_read_tool, create_write_tool
from cloudbase_agent.tools import MCPToolkit, CloudBaseMCPServer, CloudBaseTool
from cloudbase_agent.tools import tool, BaseTool # custom tools
# Storage
from cloudbase_agent.storage import InMemoryMemory, TDAIMemory
from cloudbase_agent.storage import TDAILongTermMemory, Mem0LongTermMemory
from cloudbase_agent.langgraph import TDAICheckpointSaver, TDAIStore
# Observability
from cloudbase_agent.observability import ConsoleTraceConfig, OTLPTraceConfig, setup_observability
# Schemas
from cloudbase_agent.schemas import Message, MessageRole, StreamEvent, EventType
Project Structure Convention
my-agent-project/
├── agents/
│ ├── agentic_chat/agent.py # build_workflow() → agent instance
│ ├── human_in_the_loop/agent.py
│ └── __init__.py
├── server.py # Main entry: AgentServiceApp().run(...)
├── scf_bootstrap # CloudBase startup script (required for deployment)
├── .env # OPENAI_API_KEY, etc.
└── requirements.txt
Environment Variables
| Variable |
Purpose |
OPENAI_API_KEY |
OpenAI API key |
AUTO_TRACES_STDOUT |
Enable console tracing (true) |
LANGFUSE_PUBLIC_KEY / LANGFUSE_SECRET_KEY |
Langfuse keys |
TDAI_ENDPOINT / TDAI_API_KEY |
TDAI memory/checkpoint endpoint |
SCF_RUNTIME_PORT |
CloudBase runtime port (set automatically during deployment) |
Key Design Decisions
- Agent Creator Pattern: Every request creates a fresh agent via factory function. Supports cleanup callbacks for resource release.
- Dual Protocol: Every agent supports both AG-UI native (SSE + rich events) and OpenAI-compatible (
/chat/completions).
- Middleware = Generator: Use
yield — pre-yield = pre-processing, post-yield = post-processing (onion model).
- Namespace Package:
cloudbase_agent spans multiple PyPI packages (cloudbase-agent-core, cloudbase-agent-server, cloudbase-agent-langgraph, etc.). PyPI names use hyphens, but all imports use from cloudbase_agent.xxx import ....
- Observability Auto-Integration: Install
cloudbase-agent-observability and tracing works automatically — zero config needed.
- Deploy with manageAgent: Always use the
manageAgent MCP tool for CloudBase deployment. Follow the 4-step blocking pipeline in agent-deployment.
1---2name: cloudbase-agent-python3description: Build production-ready AI agent backends using the CloudBase Agent Python SDK — create agents with LangGraph/CrewAI/LlamaIndex, serve them via FastAPI with AG-UI protocol streaming + OpenAI-compatible endpoints, add tools (bash, filesystem, MCP, code execution), memory (in-memory, TDAI, MySQL, MongoDB), observability (OpenTelemetry/Langfuse), and middleware (auth, logging). Use this skill when the user wants to create an AI agent server, build a chatbot backend, set up human-in-the-loop workflows, integrate MCP tools, add agent observability, or deploy an agent API — even if they don't explicitly mention 'CloudBase Agent.'4---5
6# CloudBase Agent Python SDK
7
8Build production-ready AI agent backends with multi-framework support, streaming
9protocol, rich tools, persistent memory, and full observability.
10
11> **Note:** This skill is for **Python** projects only.
12
13## When to use this skill
14
15Use this skill for **AI agent development** when you need to:
16
17- Deploy AI agents as HTTP services with AG-UI protocol support
18- Build agent backends using LangGraph, CrewAI, or LlamaIndex frameworks
19- Create custom agent adapters implementing the AbstractAgent interface
20- Understand AG-UI protocol events and message streaming
21- Build production-ready agent servers with FastAPI
22
23**Do NOT use for:**
24- Simple AI model calling without agent capabilities (use `ai-model-*` skills)
25- CloudBase cloud functions (use `cloud-functions` skill)
26- CloudRun backend services without agent features (use `cloudrun-development` skill)
27- TypeScript/JavaScript agent projects (use `cloudbase-agent` skill, refer to the `ts/` sub-directory)
28
29## How to use this skill (for a coding agent)
30
311. **Choose the right adapter**
32 - Use LangGraph adapter for stateful, graph-based workflows
33 - Use CrewAI adapter for multi-agent collaboration patterns
34 - Build custom adapter for specialized agent logic
35
362. **Write agent code** — follow the adapter-specific doc from the Routing table
37
383. **Deploy the agent server** — follow the **blocking deployment pipeline** in [agent-deployment](agent-deployment.md)
39
40## Routing (Execution Order)
41
42> ⚠️ **Deployment is a BLOCKING 4-step pipeline.** Steps marked ✅ BLOCKING
43> must be completed AND verified before proceeding to the next step.
44> Do NOT call `manageAgent` until all blocking steps pass.
45
46| Step | Task | Document | Blocking? |
47|------|------|----------|-----------|
48| 0 | **Choose adapter & write agent code** | See "Adapter Selection" below | — |
49| 1 | **Ensure Python 3.10** | [agent-deployment](agent-deployment.md) § Step 1 | ✅ BLOCKING |
50| 2 | **Build env/ (one-shot)** | [agent-deployment](agent-deployment.md) § Step 2 | ✅ BLOCKING |
51| 3 | **Verify env/ integrity** | [agent-deployment](agent-deployment.md) § Step 3 | ✅ BLOCKING |
52| 4 | **Deploy with manageAgent** | [agent-deployment](agent-deployment.md) § Step 4 | — |
53
54### Adapter Selection (Step 0)
55
56| Framework | Read | Install |
57|-----------|------|---------|
58| LangGraph (stateful graphs) | [adapter-langgraph](adapter-langgraph.md) | `cloudbase-agent-langgraph` |
59| CrewAI (multi-agent crews) | [adapter-development](adapter-development.md) | `cloudbase-agent-crewai` |
60| Coze platform | [adapter-coze](adapter-coze.md) | `cloudbase-agent-coze` |
61| Custom / raw FastAPI | [server-quickstart](server-quickstart.md) + [adapter-development](adapter-development.md) | `cloudbase-agent-server` |
62
63### Additional References (read on demand, NOT required for deployment)
64
65| Task | Read |
66|------|------|
67| Server setup, middleware, multi-agent, CORS | [server-quickstart](server-quickstart.md) |
68| Authentication and user context | [authentication](authentication.md) |
69
70## Quick Start (Framework-Agnostic)
71
72**Prerequisites:** Python >= 3.10 is required.
73
74**1. Install dependencies (pick ONE adapter):**
75
76```bash
77# Option A: LangGraph-based agent
78pip install cloudbase-agent-langgraph
79
80# Option B: CrewAI-based agent
81pip install cloudbase-agent-crewai
82
83# Option C: Custom / minimal
84pip install cloudbase-agent-server
85```
86
87**2. Create server entry point:**
88
89```python
90# server.py — this pattern works with ANY adapter
91import os
92from dotenv import load_dotenv
93load_dotenv()
94
95from cloudbase_agent.server import AgentServiceApp, AgentCreatorResult
96
97# Import your agent (framework-specific, see adapter docs)
98# from agents.chat.agent import create_my_agent
99
100def create_agent() -> AgentCreatorResult:
101 agent = create_my_agent() # Your agent factory
102 return {"agent": agent}
103
104app = AgentServiceApp()
105app.set_cors_config(allow_origins=["*"])
106
107if __name__ == "__main__":
108 port = int(os.environ.get("SCF_RUNTIME_PORT", "9000"))
109 app.run(create_agent, port=port, host="0.0.0.0")
110```
111
112**3. Deploy to CloudBase:**
113
114Follow the **4-step deployment pipeline** in [agent-deployment](agent-deployment.md).
115
116---
117
118## Architecture
119
120```
121Client (React / MiniProgram / curl)
122 │ HTTP POST + SSE streaming
123 ▼
124┌─────────────────────────────────────────────┐
125│ AgentServiceApp (FastAPI) │
126│ ├─ /send-message ← AG-UI SSE │
127│ ├─ /chat/completions ← OpenAI-compat │
128│ └─ Middleware chain (onion model) │
129├─────────────────────────────────────────────┤
130│ Agent Layer │
131│ ├─ LangGraphAgent ├─ CrewAIAgent │
132│ ├─ LlamaIndexAgent ├─ CozeAgent/DifyAgent │
133│ └─ BaseAgent (extend for custom) │
134├──────────────────┬──────────────────────────┤
135│ Tools │ Storage │
136│ Bash/FS/Code/MCP│ Memory + LongTermMemory │
137├─────────────────────────────────────────────┤
138│ Observability (OpenTelemetry + Langfuse) │
139└─────────────────────────────────────────────┘
140```
141
142## Installation
143
144CloudBase Agent Python SDK is published to PyPI as separate packages. **Note: PyPI package names use hyphens (`cloudbase-agent-*`), and Python imports use the same namespace (`cloudbase_agent.*`)**.
145
146```bash
147# Core + Server + LangGraph (most common)
148pip install cloudbase-agent-langgraph
149
150# Individual packages
151pip install cloudbase-agent-core # Core framework
152pip install cloudbase-agent-server # FastAPI server
153pip install cloudbase-agent-langgraph # LangGraph integration
154pip install cloudbase-agent-tools # Tool system
155pip install cloudbase-agent-storage # Memory/Storage
156pip install cloudbase-agent-observability # OpenTelemetry/Langfuse
157pip install cloudbase-agent-coze # Coze platform
158pip install cloudbase-agent-crewai # CrewAI integration
159```
160
161**Import Note**: All packages share the `cloudbase_agent` namespace:
162```python
163# After installing cloudbase-agent-langgraph, import from cloudbase_agent
164from cloudbase_agent.langgraph import LangGraphAgent
165from cloudbase_agent.server import AgentServiceApp
166from cloudbase_agent.tools import create_bash_tool
167```
168
169## Reference Documents
170
171Based on what the user needs, read the corresponding reference document.
172**Only read the relevant reference — don't load all of them.**
173
174| User Need | Reference | What It Covers |
175|-----------|-----------|---------------|
176| **Deploying agent to CloudBase** | Read [agent-deployment](agent-deployment.md) | **manageAgent MCP tool (MUST USE)**, 4-step blocking pipeline, Python 3.10, env/ build, verification |
177| Server setup, deployment, middleware, multi-agent, CORS | Read `references/server.md` | AgentServiceApp 3 deployment methods, middleware (generator/yield/onion model), multi-agent server, Agent Creator pattern, health checks |
178| LangGraph agent, callbacks, tool proxy, HITL, checkpoints | Read [adapter-langgraph](adapter-langgraph.md) | LangGraphAgent constructor, AgentCallback protocol, ToolProxy, human-in-the-loop with interrupt(), TDAICheckpointSaver, client-defined tools |
179| Tools: bash, filesystem, code execution, MCP, custom tools | Read `references/tools.md` | create_bash_tool, 8 file tools, code executors, MCPToolkit/CloudBaseMCPServer, @tool decorator, BaseTool, framework adapters |
180| Memory, persistence, short/long-term, MySQL, MongoDB | Read `references/storage.md` | InMemoryMemory, TDAIMemory, MySQLMemory, MongoDBMemory, TDAILongTermMemory, Mem0LongTermMemory, LangGraph checkpoint |
181| Tracing, monitoring, Langfuse, OpenTelemetry | Read `references/observability.md` | ConsoleTraceConfig, OTLPTraceConfig, setup_observability, env vars, manual observation spans |
182| Common patterns, JWT auth, MCP integration, production | Read `references/recipes.md` | JWT middleware, MCP + LangGraph, production deployment, adding tools to agents, client-defined tools |
183
184## Key Imports Quick Reference
185
186```python
187# Server
188from cloudbase_agent.server import AgentServiceApp, AgentCreatorResult
189from cloudbase_agent.server import create_send_message_adapter, create_openai_adapter
190from cloudbase_agent.server import RunAgentInput, OpenAIChatCompletionRequest
191
192# Agents
193from cloudbase_agent.langgraph import LangGraphAgent
194from cloudbase_agent.crewai import CrewAIAgent
195
196# Tools
197from cloudbase_agent.tools import create_bash_tool, create_read_tool, create_write_tool
198from cloudbase_agent.tools import MCPToolkit, CloudBaseMCPServer, CloudBaseTool
199from cloudbase_agent.tools import tool, BaseTool # custom tools
200
201# Storage
202from cloudbase_agent.storage import InMemoryMemory, TDAIMemory
203from cloudbase_agent.storage import TDAILongTermMemory, Mem0LongTermMemory
204from cloudbase_agent.langgraph import TDAICheckpointSaver, TDAIStore
205
206# Observability
207from cloudbase_agent.observability import ConsoleTraceConfig, OTLPTraceConfig, setup_observability
208
209# Schemas
210from cloudbase_agent.schemas import Message, MessageRole, StreamEvent, EventType
211```
212
213## Project Structure Convention
214
215```
216my-agent-project/
217├── agents/
218│ ├── agentic_chat/agent.py # build_workflow() → agent instance
219│ ├── human_in_the_loop/agent.py
220│ └── __init__.py
221├── server.py # Main entry: AgentServiceApp().run(...)
222├── scf_bootstrap # CloudBase startup script (required for deployment)
223├── .env # OPENAI_API_KEY, etc.
224└── requirements.txt
225```
226
227## Environment Variables
228
229| Variable | Purpose |
230|----------|---------|
231| `OPENAI_API_KEY` | OpenAI API key |
232| `AUTO_TRACES_STDOUT` | Enable console tracing (`true`) |
233| `LANGFUSE_PUBLIC_KEY` / `LANGFUSE_SECRET_KEY` | Langfuse keys |
234| `TDAI_ENDPOINT` / `TDAI_API_KEY` | TDAI memory/checkpoint endpoint |
235| `SCF_RUNTIME_PORT` | CloudBase runtime port (set automatically during deployment) |
236
237## Key Design Decisions
238
2391. **Agent Creator Pattern**: Every request creates a fresh agent via factory function. Supports cleanup callbacks for resource release.
2402. **Dual Protocol**: Every agent supports both AG-UI native (SSE + rich events) and OpenAI-compatible (`/chat/completions`).
2413. **Middleware = Generator**: Use `yield` — pre-yield = pre-processing, post-yield = post-processing (onion model).
2424. **Namespace Package**: `cloudbase_agent` spans multiple PyPI packages (cloudbase-agent-core, cloudbase-agent-server, cloudbase-agent-langgraph, etc.). PyPI names use hyphens, but all imports use `from cloudbase_agent.xxx import ...`.
2435. **Observability Auto-Integration**: Install `cloudbase-agent-observability` and tracing works automatically — zero config needed.
2446. **Deploy with manageAgent**: Always use the `manageAgent` MCP tool for CloudBase deployment. Follow the **4-step blocking pipeline** in [agent-deployment](agent-deployment.md).