返回模板
OpenAI Agents 入门模板[node]
基于 OpenAI Agents SDK 构建的对话聊天入门模板。
OpenAI Agents Starter
跑在 EdgeOne Makers 上的全栈 Agent 模板:基于 OpenAI Agents SDK(TypeScript)的流式聊天,包含自定义工具与基于 context.store 的会话记忆。
Framework: OpenAI Agents SDK · Category: Quick Start · Language: TypeScript
概述
一个把 @openai/agents 接到 EdgeOne Makers 上的最小但贴近生产形态的模板。完整跑通了流式响应、自定义工具注册、会话存储这条链路,方便你直接 fork,把示例工具(get_weather、get_clothing_advice、translate_text、text_statistics)替换成你自己的实现。
- SSE 流式聊天 —— 逐 token 推
text_delta,命中工具时推tool_called。 - 自定义 Agent 工具 ——
createTools()注册的四个示例工具,可直接换成你自己的业务工具。 - 会话粘性记忆 ——
context.store.openaiSession(conversationId)直接喂给 SDK 的session参数。 - 双重取消 —— 前端
AbortController+ 后端AbortSignal,可中途打断 LLM。 - 后端拆两层 —— 有状态的长连接放
agents/,无状态的/history放cloud-functions/。
环境变量
| 变量 | 必填 | 说明 |
|---|---|---|
AI_GATEWAY_API_KEY | 是 | 模型网关 API Key。可填 Makers Models 的 API Key,也可以是任意 OpenAI 兼容服务商的 Key。 |
AI_GATEWAY_BASE_URL | 是 | 网关 Base URL。Makers Models 请使用 https://ai-gateway.edgeone.link/v1。 |
AI_GATEWAY_MODEL | 否 | 模型 ID。默认 @makers/deepseek-v4-flash(内置免费模型)。 |
模板遵循 OpenAI 兼容协议,可以指向 Makers Models,也可以指向任意 OpenAI 兼容的服务商。
如何获取 AI_GATEWAY_API_KEY
- 打开 Makers 控制台。
- 登录并开通 Makers。
- 进入 Makers → Models → API Key,新建一个 Key。
- 把它粘到
AI_GATEWAY_API_KEY。
内置的 @makers/deepseek-v4-flash 免费但有用量限制,适合验证;生产建议自行绑定付费厂商(BYOK)。
本地开发
前置依赖:Node.js ≥ 18,已安装 EdgeOne CLI(npm i -g edgeone)。
npm install
cp .env.example .env # 然后填入 AI_GATEWAY_API_KEY / AI_GATEWAY_BASE_URL
edgeone makers dev
本地观测面板:http://localhost:8080/agent-metrics。
项目结构
openAI-agent-starter/
├── agents/ # 有状态的 EdgeOne Makers Agent Functions(Node/TS)
│ ├── chat/index.ts # POST /chat —— SSE 流式聊天
│ ├── stop/index.ts # POST /stop —— 中断当前 agent
│ ├── _logger.ts # 日志工具(私有)
│ ├── _sse.ts # SSE 工具(私有)
│ └── _tools.ts # Agent 工具定义(私有)
├── cloud-functions/ # 无状态的 EdgeOne Makers Node Functions
│ ├── history/index.ts # POST /history —— 拉取对话消息
│ └── _logger.ts # 日志工具
├── src/ # React + Vite + TypeScript 前端
│ ├── App.tsx # 主应用 + SSE 流生命周期管理
│ ├── api.ts # /chat、/stop、/history 接口封装
│ └── components/ # ChatWindow、ChatInput、CodeViewer、ToolIndicators 等
├── package.json # 含 @openai/agents
├── edgeone.json # framework=openai-agents-sdk
├── vite.config.ts
├── tsconfig.json
└── .gitignore
以
_开头的文件是私有模块,不会暴露为公开路由。
资源
License
MIT.