使用说明
🧠 Cloudflare Canvas代理!
为可选的Cloudflare AI挑战赛而构建
基于AI的聊天代理 Cloudflare代理平台,整合 Canvas LMS MCP服务器 实现与学术课程数据的智能、情境感知交互。
该项目扩展和修改了官方 agents-starter 完整模板 MCP集成, 有状态工作流,以及 工具驱动的人工智能推理,可完全部署在 Cloudflare页面.
通过工具调用的上下文(MCP)
记住对话
🚀 特性
-
Canvas LMS集成(通过MCP): 通过以下方式安全地连接到用户的Canvas外壳 模型上下文协议(MCP),为每个会话启用链式工具调用,以进行课程和作业检索。
-
AI驱动的聊天界面: 与某人实时对话 LLM(通过Cloudflare AI网关的gpt-4o).流媒体,由
agentsSDK。 -
内置内存和状态管理: 使用持久对象进行持久的上下文和状态跟踪,允许多轮推理和回忆先前的工具输出。
-
现代Cloudflare堆栈: 前端托管于 Cloudflare页面,后端工作流在上运行 Cloudflare员工,并通过AI推理 AI网关.
-
可扩展工具系统: 轻松注册新工具(例如,用于网络抓取的Firecrawl,用于仓库搜索的GitHub MCP)
zod验证和自动确认提示。
🧩 技术栈
| 层 | 技术 |
|---|---|
| 前端 | Cloudflare页面上的React+Vite |
| 后端/代理逻辑 | Cloudflare Workers AI+AI网关 |
| LLM | OpenAI gpt-4o通过Cloudflare AI网关 |
| 内存/状态 | 耐用物品 |
| 工具/模式 | MCP SDK、Zod、TypeScript |
| 构建/部署 | Vite+Cloudflare页面 |
✅ 挑战要求
-
LLM(建议在Workers AI上使用Llama 3.3),或您选择的外部LLM
- OpenAI gpt-4o通过Cloudflare Workers+AI网关✅
-
工作流/协调(建议使用工作流、Workers或持久对象)
- Cloudflare Workers用于工具调用+持久对象用于内存✅
-
用户通过聊天或语音输入(建议使用Pages或实时)
- 可在Cloudflare Pages上部署的简单聊天界面✅
-
内存或状态
- 持久的记忆对象✅
-
提示在
PROMPTS.md
💻 设置
-
克隆此存储库
git clone https://github.com/omavashia2005/cf_ai_test2.git -
cd在您选择的编辑器中导入此存储库 -
进入后,安装所有依赖项。确保您使用的是Node 22+版本(确保使用
node -v)npm install -
在名为的文件中设置环境变量
.dev.vars必需变量(示例.dev.vars):OPENAI_API_KEY= CLOUDFLARE_PROFILE= CLOUDFLARE_PROJECT_NAME= CANVAS_API_KEY= SMITHERY_PROFILE= SMITHERY_API_KEY=查看资源以获取有关如何设置此功能的文档
-
运行项目
npm run start
该项目现在将上线 本地 在http://localhost:5174
📖 资源
-
画布学生API密钥:
帐户>设置>已批准的集成>新访问令牌
-
首选 这个mcp服务器.
- 注册/登录Smithery帐户
- 在“配置”中,添加步骤3中的Canvas API密钥
项目结构
cf_ai_canvas_agent/
├── src/ # Core source code
│ ├── tools.ts # MCP tools and API integrations
│ ├── server.ts # Worker entrypoint (Cloudflare)
│ ├── app.tsx # Frontend (React)
├── README.md
└── PROMPTS.md # Prompts used to generate AI code
