Skip to content

Commit 4272f7f

Browse files
committed
feat(cloudrun): integrate AI agent functionality into CloudRun plugin 🤖
- Add createAgent action to manageCloudRun tool - Extend runOptions with runMode support (normal/agent) - Add Agent project detection logic - Implement Agent creation with @cloudbase/aiagent-framework - Update documentation for Agent development workflow - Add comprehensive tests for Agent functionality - Update README and rules documentation
1 parent 6bb7938 commit 4272f7f

File tree

13 files changed

+3303
-159
lines changed

13 files changed

+3303
-159
lines changed

README-ZH.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535

3636
| 🚀 **核心能力** | 🛠️ **支持平台** |
3737
|---|---|
38-
| 🤖 **AI智能开发**: AI自动生成代码和架构设计<br>☁️ **云开发集成**: 一键接入数据库、云函数、静态托管<br>⚡ **快速部署**: 几分钟内完成全栈应用上线 | **Web应用**: 现代化前端 + 静态托管<br>**微信小程序**: 云开发小程序解决方案<br>**后端服务**: 云数据库 + 无服务器函数+云托管 |
38+
| 🤖 **AI智能开发**: AI自动生成代码和架构设计<br>☁️ **云开发集成**: 一键接入数据库、云函数、静态托管<br>⚡ **快速部署**: 几分钟内完成全栈应用上线<br>🤖 **AI智能体开发**: 创建和部署个性化AI应用 | **Web应用**: 现代化前端 + 静态托管<br>**微信小程序**: 云开发小程序解决方案<br>**后端服务**: 云数据库 + 无服务器函数+云托管<br>**AI智能体**: 基于函数型云托管的AI应用 |
3939

4040
📚 [快速开始](https://docs.cloudbase.net/ai/cloudbase-ai-toolkit/getting-started) | 🛠️ [IDE配置](https://docs.cloudbase.net/ai/cloudbase-ai-toolkit/ide-setup/) | 🎨 [项目模板](https://docs.cloudbase.net/ai/cloudbase-ai-toolkit/templates) | 📖 [开发指南](https://docs.cloudbase.net/ai/cloudbase-ai-toolkit/development) | 🎮 [使用案例](https://docs.cloudbase.net/ai/cloudbase-ai-toolkit/examples) | 🎓 [教程](https://docs.cloudbase.net/ai/cloudbase-ai-toolkit/tutorials) | 🔌 [插件系统](https://docs.cloudbase.net/ai/cloudbase-ai-toolkit/plugins) | 🔧 [MCP工具](https://docs.cloudbase.net/ai/cloudbase-ai-toolkit/mcp-tools) | ❓ [常见问题](https://docs.cloudbase.net/ai/cloudbase-ai-toolkit/faq)
4141

@@ -47,6 +47,7 @@
4747
- **🤖 AI 原生** - 专为 AI 编程工具设计的规则库,生成代码符合云开发最佳实践
4848
- **🚀 一键部署** - MCP 自动化部署到腾讯云开发 CloudBase 平台,Serverless 架构无需购买服务器
4949
- **📱 全栈应用** - Web + 小程序 + 数据库 + 后端一体化,支持多种应用形式和后端托管
50+
- **🤖 AI智能体** - 基于函数型云托管开发个性化AI应用,支持SSE流式响应
5051
- **🔧 智能修复** - AI 自动查看日志并修复问题,降低运维成本
5152
- **⚡ 极速体验** - 国内 CDN 加速,比海外平台访问速度更快
5253
- **📚 知识检索** - 内置云开发、微信小程序等专业知识库的智能向量检索

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ When coding in **Cursor/VSCode GitHub Copilot/WinSurf/CodeBuddy/Augment Code/Cla
3131

3232
| 🚀 **Core Capabilities** | 🛠️ **Supported Platforms** |
3333
|---|---|
34-
| 🤖 **AI-Powered Development**: AI auto-generates code and architecture<br>☁️ **Cloud Integration**: One-click access to database, cloud functions, static hosting<br>⚡ **Rapid Deployment**: Full-stack apps online in minutes | **Web Apps**: Modern frontend + static hosting<br>**WeChat Mini-Programs**: Cloud-native mini-program solutions<br>**Backend Services**: Cloud database + serverless functions + cloud hosting |
34+
| 🤖 **AI-Powered Development**: AI auto-generates code and architecture<br>☁️ **Cloud Integration**: One-click access to database, cloud functions, static hosting<br>⚡ **Rapid Deployment**: Full-stack apps online in minutes<br>🤖 **AI Agent Development**: Create and deploy personalized AI applications | **Web Apps**: Modern frontend + static hosting<br>**WeChat Mini-Programs**: Cloud-native mini-program solutions<br>**Backend Services**: Cloud database + serverless functions + cloud hosting<br>**AI Agents**: Function-based cloud hosting for AI applications |
3535

3636
📚 [Quick Start](https://docs.cloudbase.net/ai/cloudbase-ai-toolkit/getting-started) | 🛠️ [IDE Setup](https://docs.cloudbase.net/ai/cloudbase-ai-toolkit/ide-setup/) | 🎨 [Project Templates](https://docs.cloudbase.net/ai/cloudbase-ai-toolkit/templates) | 📖 [Development Guide](https://docs.cloudbase.net/ai/cloudbase-ai-toolkit/development) | 🎮 [Use Cases](https://docs.cloudbase.net/ai/cloudbase-ai-toolkit/examples) | 🎓 [Tutorials](https://docs.cloudbase.net/ai/cloudbase-ai-toolkit/tutorials) | 🔌 [Plugin System](https://docs.cloudbase.net/ai/cloudbase-ai-toolkit/plugins) | 🔧 [MCP Tools](https://docs.cloudbase.net/ai/cloudbase-ai-toolkit/mcp-tools) | ❓ [FAQ](https://docs.cloudbase.net/ai/cloudbase-ai-toolkit/faq)
3737

@@ -42,6 +42,7 @@ When coding in **Cursor/VSCode GitHub Copilot/WinSurf/CodeBuddy/Augment Code/Cla
4242
- **🤖 AI-Native** - Rule library designed for AI programming tools, generates code following CloudBase best practices
4343
- **🚀 One-Click Deploy** - MCP automated deployment to Tencent CloudBase platform, Serverless architecture without server management
4444
- **📱 Full-Stack Apps** - Web + Mini-programs + Database + Backend integration, supports multiple app types and backend hosting
45+
- **🤖 AI Agent Development** - Create personalized AI applications based on function-based cloud hosting, supports SSE streaming responses
4546
- **🔧 Smart Debugging** - AI automatically reviews logs and fixes issues, reducing operational costs
4647
- **⚡ Lightning Fast** - Domestic CDN acceleration, faster access than overseas platforms
4748
- **📚 Knowledge Retrieval** - Built-in intelligent vector search for CloudBase and WeChat Mini-Program professional knowledge bases

config/.cursor/rules/cloudbase-rules.mdc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ alwaysApply: true
1414
首先需要识别当前的开发场景类型:
1515
- **Web 项目**:React/Vue/原生 JS 等前端项目
1616
- **微信小程序**:小程序云开发项目
17+
- **云托管项目**:CloudBase Run 后端服务项目(支持 Java/Go/Python/Node.js/PHP/.NET 等任意语言,适合 WebSocket 长连接、长耗时任务、需要连接数据库/消息队列等场景)
1718
- **数据库相关**:涉及数据操作的项目
1819
- **UI 设计**:需要界面设计的项目
1920

@@ -23,6 +24,7 @@ alwaysApply: true
2324
**📋 场景规则映射表(必须遵守):**
2425
- **Web 项目** → 必读:`rules/web-development.mdc` + `rules/cloudbase-platform.mdc`
2526
- **微信小程序** → 必读:`rules/miniprogram-development.mdc` + `rules/cloudbase-platform.mdc`
27+
- **云托管项目** → 必读:`rules/cloudrun-development.mdc` + `rules/cloudbase-platform.mdc`
2628
- **数据库操作** → 额外读:`rules/database.mdc`
2729
- **UI 设计** → 额外读:`rules/ui-design.mdc`
2830

@@ -213,6 +215,11 @@ alwaysApply: true
213215
- 避免忽略专业规则文件的指导
214216
- 重要技术方案建议与用户确认
215217

218+
### 🔄 质量保障
219+
如发现开发不符合规范,可以:
220+
- 指出具体问题点
221+
- 要求重新执行规则检查流程
222+
- 明确指定需要遵循的规则文件
216223
### 🔄 质量保障
217224
如发现开发不符合规范,可以:
218225
- 指出具体问题点

config/rules/cloudrun-development.mdc

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ alwaysApply: false
1616
- 使用多语言/任意框架:如 Java、Go、PHP、.NET、Python、Node.js 等。
1717
- 需要稳定对外服务与弹性伸缩:按量计费、可缩容到 0。
1818
- 需要私网/内网访问:VPC/PRIVATE 访问、小程序 `callContainer` 内网直连。
19+
- 需要开发 AI 智能体:基于函数型云托管开发个性化 AI 应用。
1920

2021
## 2. 模式选择(快速对比)
2122

@@ -51,13 +52,15 @@ alwaysApply: false
5152
- 用来“做事情”的:`manageCloudRun`
5253
- `init`:创建本地项目(可选模板)
5354
- `download`:把已有服务的代码拉到本地
54-
- `run`:本地跑起来(仅函数型)
55+
- `run`:本地跑起来(仅函数型,支持普通函数和Agent模式
5556
- `deploy`:把本地代码部署到云托管
5657
- `delete`:删除服务(需要显式确认)
58+
- `createAgent`:创建 AI 智能体(基于函数型云托管)
5759
- 重要参数(只记这几个)
5860
- `targetPath`:本地目录(必须是绝对路径)
5961
- `serverConfig`:CPU/Mem/实例数/访问类型/环境变量等部署参数
60-
- `runOptions`:本地运行端口与临时环境变量(函数型)
62+
- `runOptions`:本地运行端口与临时环境变量(函数型),支持 `runMode: 'normal' | 'agent'`
63+
- `agentConfig`:Agent 配置(agentName、botTag、description、template)
6164
- 删除一定要带 `force: true`,否则不会执行
6265

6366
## 5. 核心工作流(先懂步骤,再看示例)
@@ -127,25 +130,38 @@ alwaysApply: false
127130
{ "name": "manageCloudRun", "arguments": { "action": "deploy", "serverName": "my-svc", "targetPath": "/abs/ws/my-svc", "serverConfig": { "OpenAccessTypes": ["WEB"], "Cpu": 0.5, "Mem": 1, "MinNum": 0, "MaxNum": 5 } } }
128131
```
129132

133+
6) 创建 AI 智能体(可选)
134+
```json
135+
{ "name": "manageCloudRun", "arguments": { "action": "createAgent", "serverName": "my-agent", "targetPath": "/abs/ws/agents", "agentConfig": { "agentName": "MyAgent", "botTag": "demo", "description": "我的智能体", "template": "blank" } } }
136+
```
137+
138+
7) 运行智能体(可选)
139+
```json
140+
{ "name": "manageCloudRun", "arguments": { "action": "run", "serverName": "my-agent", "targetPath": "/abs/ws/agents/my-agent", "runOptions": { "port": 3000, "runMode": "agent" } } }
141+
```
142+
130143
## 6. 最佳实践(强烈建议)
131144

132145
- 优先 PRIVATE/VPC 或小程序内网 `callContainer`,减少公网暴露。
133146
- Web 必须用 CloudBase Web SDK 认证;小程序由平台鉴权。
134147
- 机密通过环境变量下发;多环境(dev/stg/prod)分离配置。
135148
- 部署前后用 `queryCloudRun.detail` 校验配置与可达性。
136149
- 镜像分层可复用、体积小;监测启动时延与内存占用。
150+
- Agent 开发:使用 `@cloudbase/aiagent-framework`,支持 SSE 流式响应,BotId 格式为 `ibot-{name}-{tag}`。
137151

138152
## 7. 快速排查
139153

140154
- 访问失败:检查 OpenAccessTypes/域名/端口、实例是否缩容为 0。
141155
- 部署失败:校验 Dockerfile/构建日志/镜像体积与 CPU/Mem 配比。
142156
- 本地运行失败:仅支持函数型;需 `package.json` 的 `dev`/`start` 或入口 `index.js|app.js|server.js`。
143157
- 性能抖动:减小依赖与初始化;适当提高 MinNum;优化冷启动。
158+
- Agent 运行失败:检查 `@cloudbase/aiagent-framework` 依赖、BotId 格式、SSE 响应格式。
144159

145160
## 8. 函数型云托管(Function 模式)要点(精简)
146161

147162
- 定义:云托管 + 函数框架(`@cloudbase/functions-framework`)+ 函数代码,让容器服务开发像写云函数一样简单。
148163
- 何时选择:需要 WebSocket/SSE/文件上传/流式响应;需要长任务或连接 DB/消息队列;需要单实例多函数与共享内存、低时延与更好日志/调试。
164+
- Agent 模式:基于函数型云托管开发 AI 智能体,使用 `@cloudbase/aiagent-framework`,支持 SSE 流式响应和个性化 AI 应用。
149165
- 工具支持:本地运行仅支持函数型(`manageCloudRun` → `run`);部署用 `manageCloudRun` → `deploy`;查询用 `queryCloudRun`。
150166
- 迁移提示:与云函数调用链/运行时不同,迁移需少量改造(含客户端调用方式)。
151167
- 可移植性:基于函数框架,可在本地/主机/Docker 运行,非云托管需自管构建与部署。

doc/mcp-tools.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
<tr><td><code>searchWeb</code></td><td>使用联网来进行信息检索,如查询最新的新闻、文章、股价、天气等。支持自然语言查询,也可以直接输入网址获取网页内容</td></tr>
4545
<tr><td><code>searchKnowledgeBase</code></td><td>云开发知识库智能检索工具,支持云开发与云函数知识的向量查询</td></tr>
4646
<tr><td><code>queryCloudRun</code></td><td>查询云托管服务信息,支持获取服务列表、查询服务详情和获取可用模板列表。返回的服务信息包括服务名称、状态、访问类型、配置详情等。</td></tr>
47-
<tr><td><code>manageCloudRun</code></td><td>管理云托管服务,按开发顺序支持:初始化项目(可从模板开始,模板列表可通过 queryCloudRun 查询)、下载服务代码、本地运行(仅函数型服务)、部署代码、删除服务。部署可配置CPU、内存、实例数、访问类型等参数。删除操作需要确认,建议设置force=true。</td></tr>
47+
<tr><td><code>manageCloudRun</code></td><td>管理云托管服务,按开发顺序支持:初始化项目(可从模板开始,模板列表可通过 queryCloudRun 查询)、下载服务代码、本地运行(仅函数型服务,支持普通函数和Agent模式)、部署代码、删除服务、创建Agent(基于函数型云托管开发AI智能体)。部署可配置CPU、内存、实例数、访问类型等参数。删除操作需要确认,建议设置force=true。</td></tr>
4848
<tr><td><code>createFunctionHTTPAccess</code></td><td>创建云函数的 HTTP 访问</td></tr>
4949
<tr><td><code>downloadRemoteFile</code></td><td>下载远程文件到本地临时文件,返回一个系统的绝对路径</td></tr>
5050
<tr><td><code>readSecurityRule</code></td><td>读取指定资源(数据库集合、云函数、存储桶)的安全规则和权限类别。&lt;br/&gt;参数说明:&lt;br/&gt;- resourceType: 资源类型(database/function/storage)&lt;br/&gt;- resourceId: 资源唯一标识(集合名/函数名/桶名)</td></tr>

doc/plugins/cloudrun.md

Lines changed: 51 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,18 @@
1-
# 云托管(CloudRun)使用指南
1+
# 云托管开发部署
22

3-
云托管让你可以轻松部署和运行各种后端服务,支持长连接、文件上传、多语言等场景。这个插件已经默认启用,你只需要用自然语言告诉 AI 你想要做什么。
3+
CloudBase AI ToolKit 内置支持云托管开发部署功能,云托管让你可以轻松部署和运行各种后端服务,支持长连接、文件上传、多语言等场景。这个插件已经默认启用,你只需要用自然语言告诉 AI 你想要做什么。
4+
5+
## 新增功能:AI 智能体开发
6+
7+
现在支持基于函数型云托管开发 AI 智能体,让你可以快速创建和部署个性化的 AI 应用。
48

59
## 什么时候用云托管?
610

711
当你需要:
812
- **实时通信**:WebSocket、SSE、流式响应
913
- **长任务**:后台处理
1014
- **多语言**:Java、Go、PHP、Python、Node.js 等
15+
- **AI 智能体**:个性化 AI 应用开发
1116

1217
## 两种模式怎么选?
1318

@@ -37,6 +42,11 @@
3742
部署 my-service,开启公网访问,CPU 0.5 核,内存 1GB
3843
```
3944

45+
### 5. 创建 AI 智能体
46+
```
47+
创建一个名为 my-agent 的智能体,用于客服对话
48+
```
49+
4050
## 常见场景
4151

4252
### 小程序后端
@@ -64,6 +74,11 @@
6474
部署一个 Laravel 应用,提供完整的 Web 后台管理
6575
```
6676

77+
### AI 智能体应用
78+
```
79+
创建一个智能体,用于处理用户咨询和提供个性化服务
80+
```
81+
6782
## 访问你的服务
6883

6984
部署完成后,你可以通过以下方式访问:
@@ -92,4 +107,38 @@ const res = await app.callContainer({
92107
**直接 HTTP 访问**
93108
```bash
94109
curl https://your-service-domain.com
110+
```
111+
112+
## AI 智能体开发
113+
114+
### 创建智能体
115+
```
116+
创建一个名为 customer-service 的智能体,用于客服对话
117+
```
118+
119+
### 本地运行智能体
120+
```
121+
在本地运行 customer-service 智能体,端口 3000
122+
```
123+
124+
### 调用智能体
125+
```js
126+
// Web 应用调用
127+
const app = cloudbase.init({ env: "your-env-id" });
128+
const ai = app.ai();
129+
const res = await ai.bot.sendMessage({
130+
botId: "ibot-customer-service-demo",
131+
msg: "你好,我需要帮助"
132+
});
133+
for await (let x of res.textStream) {
134+
console.log(x);
135+
}
136+
```
137+
138+
```bash
139+
# 命令行测试
140+
curl 'http://127.0.0.1:3000/v1/aibot/bots/ibot-customer-service-demo/send-message' \
141+
-H 'Accept: text/event-stream' \
142+
-H 'Content-Type: application/json' \
143+
--data-raw '{"msg":"你好"}'
95144
```

0 commit comments

Comments
 (0)